finagle-21.5.0
版本发布时间: 2021-05-29 09:47:59
twitter/finagle最新发布版本:finagle-24.5.0(2024-05-08 03:46:22)
New Features
- finagle-http2: Added c.t.f.http2.param.EnforceMaxConcurrentStreams which allows users to configure http2 clients to buffer streams once a connection has hit the max concurrent stream limit rather than rejecting them. A buffered_streams gauge has been added to track the current number of buffered streams. c6d5f520
- finagle-mux: Added support for TLS snooping to the mux protocol. This allows a thriftmux server to start a connection as TLS or follow the existing upgrade pathway at the leisure of the client. This also allows the server to support opportunistic TLS and still downgrade to vanilla thrift. 60705fd2
- finagle-netty4: Added a new counter to keep track of the number of TLS connections that were started via snooping. 5569615e
- finagle-thrift: Thrift(Mux) clients and servers now fill in a c.t.f.Thrift.param.ServiceClass stack param with the runtime class corresponding to a IDL-generated service stub. 04a2de2c
Breaking API Changes
- finagle-core: c.t.f.param.Logger has been removed. Use external configuration supported by your logging backend to alter settings of com.twitter.finagle logger. 99982cda
Runtime Behavior Changes
-
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
Bug Fixes
- finagle-core: Failed writes on Linux due to a remote peer disconnecting should now be properly seen as a c.t.f.ChannelClosedException instead of a c.t.f.UnknownChannelException. 6214e6ac
- finagle-http2: The streams gauge is now correctly added for http2 connections over TLS. c6d5f520
- finagle-core: c.t.f.n.NameTreeFactory will now discard empty elements in c.t.f.NameTree.Unions with zero weight. cf73946d
- finagle-http: All HTTP server implementations consistently return a 400 Bad Request response status when encountering a URI with invalid character encoded sequences. fa58caab