Finagle 21.8.0
New Features
- finagle-mysql: introduce newRichClient(dest: String, label: String) method, which removes the
need for extra boilerplate to convert the destination String to a c.t.finagle.Name when
specifying both dest and label in String form. c211bfbe - finagle-http, finagle-thriftmux: introduce client.withSni() API. Use this api to specify an
SNI hostname for TLS clients. a8ec457b
Runtime Behavior Changes
-
finagle: Update Caffeine cache library to version 2.9.1 d9e551a3
-
finagle: Update ScalaCheck to version 1.15.4 145ab4aa
-
finagle-core: change ServiceClosedException to extend FailureFlags and to be
universally retryable e621e5ff -
finagle-http: remove the com.twitter.finagle.http.UseH2,
com.twitter.finagle.http.UseH2CClients2, com.twitter.finagle.http.UseH2CServers and
com.twitter.finagle.http.UseHttp2MultiplexCodecClient toggles. The configuration for
c.t.finagle.Http.client and c.t.finagle.Http.server now default to using the HTTP/2 based
implementation. To disable this behavior, use c.t.finagle.Http.client.withNoHttp2 and
c.t.finagle.Http.server.withNoHttp2 respectively.Alternatively, new GlobalFlag's have been introduced to modify the default behavior of clients
and servers that have not been explicitly configured, where
the com.twitter.finagle.http.defaultClientProtocol
and com.twitter.finagle.http.defaultServerProtocol flags can be set to HTTP/1.1 to modify
the default client or server configuration, respectively. PHAB_ID=D625880` -
finagle-netty4: Finagle now reuses Netty "boss" (or parent) threads instead of creating a new
thread per server. Netty parent threads are servicing the server acceptor, a relatively
lightweight component that listens for new incoming connections before handing them out to the
global worker pool. 5e9998fc -
finagle-http2: introduce optional parameter NackRstFrameHandling to enable or disable NACK
conversion to RST_STREAM frames. 728aed03 -
finagle-thrift, finagle-thriftmux: clients may start reporting (correctly) lower success rate.
Previously server exceptions not declared in IDL were erroneously considered as successes.
The fgix also improves failure detection and thus nodes previously considered as healthy
by failure accrual policy may be considered as unhealthy. 3bba41c6