finagle-20.12.0
版本发布时间: 2020-12-12 01:34:53
twitter/finagle最新发布版本:finagle-24.5.0(2024-05-08 03:46:22)
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