Finagle 19.6.0
·
1413 commits
to develop
since this release
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 - 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
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 - 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