Finagle v19.6.0 Release Notes
Release Date: 2019-06-19 // almost 5 years ago-
๐ New Features
- finagle-core: SSL/TLS session information has been added to
c.t.f.ClientConnection
.
69a28c10 - finagle-core: Add a
Stack
Module with 7 parameters for convenience sake. 6f9d7f0d - finagle-core: For both, servers and clients, introduce a way to shift application-level future
callbacks off of IO threads, into a givenFuturePool
orExecutorService
.
๐ง UsewithExecutionOffloaded
configuration method (on a client or a server) to access
๐ new functionality. 40431bb4 - finagle-http: Added counters for request/response stream as:
stream/request/closed
,
stream/request/failures
,stream/request/failures/<exception_name>
,stream/request/opened
,
stream/request/pending
andstream/response/closed
,stream/response/failures
,
stream/response/failures/<exception_name>
,stream/response/opened
,stream/response/pending
.
The counters will be populated when isChunked is set to true, the failures counters will be
populated when isChunked is set to true and the stream fails before it has been fully read in the
request and response respectively. d9b69bdc - ๐ finagle-http: Add two new API variants in
CookieMap
: addAll and removeAll that allow for
โ adding and removing cookies in bulk, without triggering a header rewrite on each item.
4127cf6d - ๐ finagle-mysql: finagle-mysql now supports using SSL/TLS with MySQL. SSL/TLS can be turned on by
callingwithTransport.tls(sslClientConfiguration)
with a specified
c.t.f.ssl.client.SslClientConfiguration
. 0b6c20ac
โ Runtime Behavior Changes
- โฌ๏ธ finagle: Upgrade to Netty 4.1.35.Final and netty-tcnative 2.0.25.Final.
9ffbf7a7 - 0๏ธโฃ finagle-core: The default failure accrual policy has been changed from one
which uses only consecutive failures to a hybrid model which uses both
success rate over a window and consecutive failures. Previously this was
๐ changeable via toggle. The toggle has been removed, and the hybrid version
0๏ธโฃ has been made the default. 6f85c56e - finagle-http: Rename
request_stream_duration_ms
tostream/request/duration_ms
and
response_stream_duration_ms
tostream/response/duration_ms
. The stats will be
populated when isChunked is set to true in the request and response respectively.
d9b69bdc - ๐ finagle-http2: Disable ping-based failure detector in HTTP/2 client as it seems to do
more harm than good. ea5b0c77 - 0๏ธโฃ finagle-http2: Frame logging is now disabled by default for clients. To enable,
๐ use thec.t.f.http2.param.FrameLogging.Enabled
Stack
Param. For example:
๐งHttp.client.configured(FrameLogging.Enabled)
. 0b2ec201 - finagle-netty4: When using a Netty
LocalChannel
, the value of theBackPressure
stack param is effectively changed tobackPressureDisabled
so that other functionality
(e.g. SSL/TLS) works as expected. 3a8e5c19 - finagle-netty4:
finagle/netty/pooling/used
now includes the size of the buffers in the
thread-local caches. 824596f0 - finagle-core: Stats and retry modules use a ResponseClassifier to give hints
for how to handle failure (e.g., Is this a success or is it a failure? If
it's a failure, may I retry the request?). The stats module increments a
success counter for successes, and increments a failure counter for failures.
But there isn't a way to tell the stats module to just do nothing. And, this
is exactly what the stats module should do (nothing) in the case of ignorable
failures (e.g. backup request cancellations). To represent these cases, we
introduce a newResponseClass
:Ignorable
. 256b79b8
๐ Bug Fixes
- finagle-core:
UsingSslSessionInfo
would fail to be constructed properly when
SSLSession.getLocalCertificates
returns 'null'. 8d984963 - finagle-http: Finagle now properly sets the
Transport.peerCertificate
local context
when using HTTP/2. a661fef4 - finagle-http:
c.t.f.http.collection.RecordSchema.Record
is now thread-safe.
4e343f0e - finagle-zipkin-core: Fix a race condition which could cause a span to get logged
missing some annotations. 53901a28 - ๐ฒ finagle-mysql: Don't log
c.t.f.ChannelClosedException
when rolling back a transaction
fails. 29cfffe6
๐ฅ Breaking API Changes
- finagle-core: The exceptions
c.t.f.SslHandshakeException
and
c.t.f.SslHostVerificationException
were no longer used and have
๐ been removed. 2a53531d - finagle-mysql: The structure of
c.t.f.mysql.Request
has changed. It is now based on
a higher levelc.t.f.mysql.ProtocolMessage
and the cmd field must contain a value.
Additionally, the syntheticCommand.COM_NO_OP
has been removed, as due to the
restructuring it was no longer necessary. d6e4042f - finagle-mysql: Uses of the abbreivation 'cap' have been renamed to the full
word: 'capabilities', including for the baseCapabilities ofCapability
.
4c57afda
๐ Deprecations
- ๐ finagle-http: Removed deprecated
response_size
in Finagle Http stats. This is a duplicate stat
๐ฐ ofresponse_payload_bytes
. 1286c438
- finagle-core: SSL/TLS session information has been added to