Finagle v19.12.0 Release NotesRelease Date: 2019-12-13 // 4 months ago
🆕 New Features
* finagle-core, finagle-exp: Add annotations to ``DarkTrafficFilter`` to identify which span is dark, as well as which light span it correlates with. ``PHAB_ID=D402864`` * finagle-core: Introduce `Trace#traceLocal` for creating local spans within a trace context. ``PHAB_ID=D404869`` ⚙ Runtime Behavior Changes
⬆️ finagle: Upgrade to jackson 2.9.10 and jackson-databind 184.108.40.206
finagle-core: Per-method metrics on MethodBuilder are now created lazily, so if you have methods that you don't use, the associated metrics won't be exported.
⏪ finagle-mysql: The RollbackFactory no longer attempts to roll back if the underlying session is closed since it is highly unlikely to succeed. It now simply poisons the session and calls close.
finagle-netty4: Change the 'connection_requests' metric to debug verbosity.
ZkSession#retryingis resilient to ZK host resolution failure.
finagle-thrift: Per-method metrics are now created lazily, so if you have methods on a Thrift service that you don't use, the associated metrics won't be exported.
finagle-zipkin-core: Tracing produces microsecond resolution timestamps in JDK9 or later.
Trace#timeFutureno longer generate timestamped annotations or silently discard timing information. They now instead generate a
BinaryAnnotationcontaining the timing information. In order to also get timestamped
Annotationsfor when the operation began and ended, use in conjunction with
💥 Breaking API Changes
* finagle-core: The `RetryPolicy` companion object is no longer a `JavaSingleton`. ``PHAB_ID=D399947`` * finagle-thrift: The RichClientParam constructors are now all either deprecated, so to construct it, you must call one of the RichClientParam.apply methods. ``PHAB_ID=D400382`` 🗄 Deprecations
- 🗄 finagle-core: Deprecate
Tracing#record(message, duration)as it does not have the intended effect and silently discards any duration information in the resulting trace. Instead you should use either
Tracing#recordBinaryor a combination of
🐛 Bug Fixes
* finagle-core: `ClosableService` client stack module that prevents the reuse of closed services when `FactoryToService` is not set. This is important for clients making use of the `newClient` api. ``PHAB_ID=D407805``