Finagle v22.2.0 Release Notes
-
๐ New Features
* ๐ฒ finagle-logging: Introduced finagle-logging, a new module for SLF4J-integrated filters. ``PHAB_ID=D813291`` * ๐ฒ finagle-logging: Introduced SlowTracesFilter, which observes your requests and logs the slowest ones that are also sampled for tracing. ``PHAB_ID=D813291`` * ๐ง finagle-core: Introduced MinSendBackupAfterMs to the stack param Configured in BackupRequestFilter and propagated changes to MethodBuilder by adding new versions of idempotent function. When traffic load is low, this is useful to increase the delay when backup requests are sent and prevent the client from sending unnecessary backup requests. ``PHAB_ID=D825503`` * finagle-core: Added a new annotation `clnt/has_dark_request` in tracing and Finagle Local context. The new annotation can be used to indicate whether or not the request has a span that is sent to dark service. ``PHAB_ID=D825317`` ๐ Bug Fixes ~~~~~~~~~~ * finagle-netty4-http: On a Request, adding multiple cookies with the same name to a CookieMap preserves all of them. Only cookies on Responses are deduplicated. Previously, adding a Request cookie with the same name would overwrite the old value with the new value. ``PHAB_ID=D801466`` * ๐ finagle-postgres: Fixed a bug where a single framer instance was shared across all connections to a host when using TLS. ``PHAB_ID=D768581`` * ๐ finagle-core: Fixed a bug where `InetResolver` was leaking memory while resolving non-existing address, even if no one is still asking for it. ``PHAB_ID=D771608`` ๐ฅ Breaking API Changes
finagle-core: Changed the
shouldInvoke
parameter in methodserviceConcurrently
andsendDarkRequest
in AbstractDarkRequestFilter to be a Boolean instead of a function of (Req => Boolean).PHAB_ID=D825317
finagle-core: Renamed the existing
clnt/dark_request
toclnt/is_dark_request
in c.t.finagle.filter.DarkTrafficFilterPHAB_ID=D825317
โ Runtime Behavior Changes
* finagle: Bump version of Caffeine to 2.9.3. ``PHAB_ID=D815761`` * โฌ๏ธ finagle: Upgrade to Netty 4.1.73.Final and netty-tcnative 2.0.46.Final.``PHAB_ID=D788382`` * ๐ป finagle-core: in TimeoutFilter, only transform a timeout exception caused by TimeoutFilter. This also changes the type of exception raised by the TimeoutFilter from a java.util.concurrent.TimeoutException to a com.twitter.finagle.RequestTimeoutException. ``PHAB_ID=D814094`` * finagle-mux: Exceptions raised when Mux negotiation has failed have been moved to a `Debug` log level as the stack trace is generally long and not necessarily helpful. The logged message now includes the remote address and that is logged at both the `Debug` level (with the exception and stack trace) and `Warning` level (without). ``PHAB_ID=D821661`` * ๐ finagle-core: `c.t.f.ssl.SslConfigurations.initializeSslContext` now creates an engine which includes TLSv1.3 as a supported protocol. ``PHAB_ID=D814211`` * finagle-netty4: `c.t.f.n.ssl.client.Netty4ClientSslConfigurations.createClientContext` and `c.t.f.n.ssl.server.Netty4ServerSslConfigurations.createServerContext` now create contexts using the provided cipher suites. ``PHAB_ID=D732258``