Finagle 20.12.0
finaglehelper
released this
11 Dec 17:34
·
902 commits
to develop
since this release
New Features
- finagle-core: Add a new stat (histogram) that reports how long a task has been sitting in the
offload queue. This instrumentation is sampled at the given interval (100ms by default) that
can be overridden with a global flag com.twitter.finagle.offload.statsSampleInterval.
a7ebf2e1 - finagle-core: Add a new experimental flag com.twitter.finagle.offload.queueSize that allows to
put bounds on the offload queue. Any excess work that can't be offloaded due to a queue overflow
is run on IO (Netty) thread instead. Put this way, this flag enables the simplest form of
backpressure on the link between Netty and OffloadFilter. af228ca6 - finagle-netty4: Add ExternalClientEngineFactory to the open source version of Finagle. This
SslClientEngineFactory acts as a better example of how to build custom client and server engine
factories in order to reuse SSL contexts for performance concerns. 931785d9 - finagle-core: Provide com.twitter.finagle.naming.DisplayBoundName for configuring how to
display the bound Name for a given client in metrics metadata. 67be8e1e - finagle-core: Provide ClientParamsInjector, a class that will be service-loaded at run-time
by Finagle clients, and will allow generic configuration of all sets of parameters.
b7bb5afc
Breaking API Changes
- finagle-core: Move DarkTrafficFilter and AbstractDarkTrafficFilter from the experimental
finagle-exp to supported finagle-core. The package containing these classes changed from
c.t.finagle.exp to c.t.finagle.filter. 0ecaa5e7 - finagle-core, finagle-thrift: Move ForwardingWarmUpFilter and ThriftForwardingWarmUpFilter
from the experimental finagle-exp to supported finagle-core, and finagle-thrift, respectively.
The package containing ForwardingWarmUpFilter changed from c.t.finagle.exp to
c.t.finagle.filter, and the package containing ThriftForwardingWarmUpFilter changed from
c.t.finagle.exp to c.t.finagle.thrift.filter. e725bc86 - finagle-core: FailureAccrualFactory.isSuccess has been replaced with the method
def classify(ReqRep): ResponseClass to allow expressing that a failure should be ignored.
d586bd24
Runtime Behavior Changes
- finagle-core: Use Scala default implementation to calculate Hashcode and equals method for
ServiceFactoryProxy. c473b395 - finagle: Update build.sbt to get aarch64 binaries and try the fast path acquire up to 5 times
before failing over to the AbstractQueuedSynchronizer slow path in NonReentrantReadWriteLock
for Arm64. d45dfb02
Bug Fixes
- finagle-core: Users should no longer see the problematic
java.lang.UnsupportedOperationException: tail of empty stream when a c.t.f.s.RetryPolicy
is converted to a String for showing. e7ec247d