Finagle v17.12.0 Release Notes

  • ๐Ÿ†• New Features

    
    * โšก๏ธ finagle-core: Expose Tunables for MethodBuilder timeout configuration. Update
      the http.MethodBuilder and thriftmux.MethodBuilder to accept Tunables for
      configuring total and per-request timeouts. ``PHAB_ID=D118114``
    
    * ๐Ÿ‘ finagle-thrift, finagle-thriftmux: Add support for Scrooge
      `ReqRepServicePerEndpoint` functionality. ``PHAB_ID=D107397``
    
    * ๐Ÿ‘ finagle-thriftmux: Add support for Scrooge `ServicePerEndpoint` and
      `ReqRepServicePerEndpoint` functionality to `thriftmux.MethodBuilder`.
      ``PHAB_ID=D116081``
    
    ๐Ÿ’ฅ Breaking API Changes
    
    • ๐Ÿšš finagle-base-http: Remove deprecated [Request|Response].[encode|decode][Bytes|String] methods. Use c.t.f.h.codec.HttpCodec methods instead. PHAB_ID=D116350

    • ๐Ÿšš finagle-memcached: ConcurrentLoadBalancerFactory was removed and its behavior was replaced by a Stack.Param inside finagle-core's LoadBalancerFactory. PHAB_ID=D119394

    • ๐Ÿšš finagle-serversets: Removed Guava dependency which broke some APIs. PHAB_ID=D119555

      • c.t.f.common.zookeeper.ServerSets.TO_ENDPOINT is now a java.util.function.Function.
      • c.t.f.common.net.pool.DynamicHostSet.HostChangeMonitor.onChange now takes a java.util.Set.
      • c.t.f.common.zookeeper.ZooKeeperUtils.OPEN_ACL_UNSAFE is is now a java.util.List.
      • c.t.f.common.zookeeper.ZooKeeperUtils.EVERYONE_READ_CREATOR_ALL is is now a java.util.List.
      • c.t.f.common.zookeeper.ZooKeeperClient constructor now takes a java.util.Optional.
    • ๐Ÿšš finagle-thrift: Move ThriftRichClient and ThriftRichServer to c.t.finagle.thrift package. PHAB_ID=D115284

    โš™ Runtime Behavior Changes

    
    * ๐Ÿšš finagle-core: Remove `NackAdmissionControl` from the default client stack.
      Add it to the finagle-{http,mux} client stacks; note that it is added to
      finagle-http2 via finagle-http and finagle-thriftmux via finalge-mux. It is
      no longer part of the finagle-{memcached,mysql,redis} client stacks.
      ``PHAB_ID=D116722``
    
    * ๐Ÿšš finagle-core: The "pipelining/pending" stat has been removed from protocols
      using `c.t.f.dispatch.PipeliningClientDispatcher`. Refer to the "pending" stat
      for the number of outstanding requests. ``PHAB_ID=D113424``
    
    * ๐Ÿšš finagle-thrift,thriftmux: Tracing of RPC method names has been removed. This
      concern has moved into Scrooge. ``PHAB_ID=D115294``
    
    ๐Ÿ—„ Deprecations
    ~~~~~~~~~~~~
    
    * ๐Ÿ—„ finagle-core: `c.t.f.BackupRequestLost` has been deprecated. Please use a
      `c.t.f.Failure` flagged `c.t.f.Failure.Ignorable` instead. ``PHAB_ID=D113466``