Finagle v18.7.0 Release Notes
-
๐ New Features
* finagle-core: Promote the push-based API's out of experimental. For protocols that have eager read paths, for example multiplexed protocols and non-streaming clients, a push-based protocol implementation can provide significant performance benefits by avoiding the impedance mismatch between the underlying Netty framework and the pull-based Transport model. ``PHAB_ID=D189187`` * 0๏ธโฃ finagle-core: There is now an implicit instance for Finagle's default timer: `DefaultTimer.Implicit`. ``PHAB_ID=D185896`` * finagle-core: Introduce new command-line flag `c.t.f.tracing.enabled` to entirely disable/enable tracing for a given process (default: `true`). ``PHAB_ID=D186557`` * finagle-mux: Promote the push-based Mux implementation out of experimental status. ``PHAB_ID=D189187`` * finagle-mysql: `com.twitter.util.Time` can now be used with `PreparedStatement`s without converting the `ctu.Time` to a `java.sql.Timestamp`. ``PHAB_ID=D182973`` * ๐ finagle-stats: Adds a lint rule to detect when metrics with colliding names are used. ``PHAB_ID=D183494`` * ๐ง finagle-core: Client side `NackAdmissionFilter` can now be configured more easily by calling `$client.withAdmissionControl.nackAdmissionControl(window, threshold)`. ``PHAB_ID=D188877`` * finagle-thrift: Trait c.t.scrooge.ThriftService is now c.t.finagle.thrift.ThriftService. Scrooge generated service objects now all inherit from c.t.finagle.thrift.GeneratedThriftService. ``PHAB_ID=D180341`` ๐ฅ Breaking API Changes
finagle-core:
c.t.f.dispatch.ClientDispatcher.wrapWriteException
has been turned from a partial function instance into a static total function.PHAB_ID=D189639
finagle-mux:
ClientDiscardedRequestException
now extendsFailureFlags
and is no longer a case class.PHAB_ID=D183456
๐ Bug Fixes
* finagle-core: `c.t.f.filter.NackAdmissionFilter` is now aware of `FailureFlags` encoded failures. ``PHAB_ID=D193390`` * finagle-mux: Mux's server dispatcher is now aware of `FailureFlags` encoded failures. ``PHAB_ID=D193456`` โ Runtime Behavior Changes
finagle-core: Server-side rejections from
c.t.f.filter.RequestSempahoreFilter.module
are now captured byc.t.f.service.StatsFilter
. They will roll up under "/failures", "/failures/rejected", and "/failures/restartable" in stats.PHAB_ID=D187127
finagle-core:
c.t.f.tracing.Trace.tracers
now returns only distinct tracers stored in the local context (returned all tracers before).PHAB_ID=D188389
finagle-http: HTTP param decoding is no longer truncated to 1024 params.
PHAB_ID=D190113
finagle-mux: When mux propagates an interrupt started by
BackupRequestFilter
over the network, theFailureFlags.Ignorable
status is propagated with it.PHAB_ID=D183456