A fault tolerant, protocol-agnostic RPC system
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
finagle-http: Make handling of invalid URI consistent across client implementations. There are behavioral inconsistencies amongst the current HTTP client implementations:
Our HTTP/1.x clients allow for submitting requests that contain non-ASCII characters and invalid character encoded sequences, while our HTTP/2 clients will either mangle the URI and strip out non-ASCII characters within the Netty pipeline or result in an UnknownChannelException when attempting to parse invalid character encoded sequences. With this change, we now consistently propagate an InvalidUriException result, which is marked as NonRetryable for all HTTP client implementations. All HTTP server implementations maintain behavior of returning a 400 Bad Request response status, but now also correctly handle invalid character encoded sequences. fa58caab
finagle-zipkin-core: Record zipkin.sampling_rate
annotation to track sampling
rate at trace roots. 2269eb6b
finagle-core: Added variant of c.t.f.Address.ServiceFactory.apply
that does not require
specifying c.t.f.Addr.Metadata
and defaults to c.t.f.Addr.Metadata.empty
. 11971f0f
finagle-core: Added variant of c.t.f.Name.bound
which takes a c.t.f.Service
as a parameter.
Tying a Name
directly to a Service
can be extremely useful for testing the functionality
of a Finagle client. 1422ffd5
finagle-mux: Added variant of c.t.f.mux.Request.apply
and c.t.f.mux.Requests.make
which takes
only the body of the Request
(in the form of c.t.io.Buf
) as a parameter. This is useful for
when the path value of a Request
is not used by the server (e.g. testing). 3ca46304
clnt/<FilterName>_rejected annotation
to filters that may throttle requests,
including c.t.finagle.filter.NackAdmissionFilter and c.t.finagle.filter.RequestSemaphoreFilter.
66857683