Finagle v19.12.0 Release Notes

Release Date: 2019-12-13 // over 4 years 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 2.9.10.1 PHAB_ID=D410846

    • 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. PHAB_ID=D400382

    • โช 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. PHAB_ID=D408155

    • finagle-netty4: Change the 'connection_requests' metric to debug verbosity. PHAB_ID=D391289

    • finagle-serversets: Ensure ZkSession#retrying is resilient to ZK host resolution failure. PHAB_ID=D403895

    • 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. PHAB_ID=D400382

    • finagle-zipkin-core: Tracing produces microsecond resolution timestamps in JDK9 or later. PHAB_ID=D400661

    • finagle-core: Trace#time and Trace#timeFuture no longer generate timestamped annotations or silently discard timing information. They now instead generate a BinaryAnnotation containing the timing information. In order to also get timestamped Annotations for when the operation began and ended, use in conjunction with Trace#traceLocal. PHAB_ID=D404869

    ๐Ÿ’ฅ 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#recordBinary` or a combination of `Trace#traceLocal` and `Trace#time`.
      ``PHAB_ID=D404869``
    
    ๐Ÿ› 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``