Skip to content

Finagle 19.2.0

Compare
Choose a tag to compare
@finaglehelper finaglehelper released this 21 Feb 23:28
· 1621 commits to develop since this release

New Features

  • finagle-core: Added gauge is_marked_dead as an indicator of whether the host is marked
    as dead(1) or not(0) in FailFastFactory. 068a15e6
  • finagle-core: KeyCredentials.CertsAndKey has been added as an option for
    c.t.f.ssl.KeyCredentials for when the certificate and certificate chain are
    contained within the same file. b4a9e8cd
  • finagle-thriftmux: Additional information is now annotated in traces for clients
    using Scrooge generated Thrift bindings. c69a22f8, 32d9b56b,
    6283c6ce.
    This includes:
    • RPC method name
    • Request serialization time, in nanoseconds
    • Request deserialization time, in nanoseconds
    • Response serialization time, in nanoseconds
    • Response deserialization time, in nanoseconds

Breaking API Changes

  • finagle-http: Removed Http.Client.withCompressionLevel because it wasn't doing anything.
    To migrate your client, simply remove the configuration--it had absolutely no effect.
    87944371

  • finagle-http: c.t.f.dispatch.ExpiringServerDispatcher was dead code. We removed it.
    ae0571c9

  • finagle-thrift: Removed newIface and newServiceIface methods from
    c.t.f.thrift.ThriftRichClient.MultiplexedThriftClient, which are deprecated in November 2017.
    773b6e57

  • finagle-thrift: Removed deprecated APIs located in Thrift.scala:
    1. c.t.f.Thrift.Client.stats => use c.t.f.Thrift.Client.clientParam.clientStats
    2. c.t.f.Thrift.withProtocolFactory => use c.t.f.Thrift.client.withProtocolFactory
    3. c.t.f.Thrift.withClientId => usec.t.f.Thrift.client.withClientId
    4. c.t.f.Thrift.Server.serverLabel => use c.t.f.Thrift.Server.serverParam.serviceName
    5. c.t.f.Thrift.Server.serverStats => use c.t.f.Thrift.Server.serverParam.serverStats
    6. c.t.f.Thrift.Server.maxThriftBufferSize => use c.t.f.Thrift.Server.serverParam.maxThriftBufferSize
    c6eb2020

  • finagle-thrift: c.t.f.thrift.ThriftServiceIface.Filterable is removed, use
    c.t.f.thrift.service.Filterable instead. 23affacc

  • finagle-thrift: c.t.f.thrift.ThriftServiceIface is removed, use
    c.t.f.thrift.service.ThriftServicePerEndpoint instead. 23affacc

  • finagle-thriftmux: Removed deprecated APIs located in ThriftMux.scala:
    1. c.t.f.ThriftMux.Client.stats => use c.t.f.ThriftMux.Clien.clientParam.clientStats
    2. c.t.f.ThriftMux.Server.serverLabel => use c.t.f.ThriftMux.Server.serverParam.serviceName
    3. c.t.f.ThriftMux.Server.serverStats => use c.t.f.ThriftMux.Server.serverParam.serverStats
    4. c.t.f.ThriftMux.Server.maxThriftBufferSize => use c.t.f.ThriftMux.Server.serverParam.maxThriftBufferSize
    c6eb2020

  • finagle-thriftmux: ThriftMux.Client.pushMuxer is removed. Use ThriftMux.Client.standardMuxer
    instead. 90333b1a

  • finagle-thriftmux: ThriftMux.serverMuxer is removed. Use ThriftMux.Server.defaultMuxer
    instead. 90333b1a

  • finagle-base-http: Removed the c.t.f.http.Statuses java helper, which was deprecated two years
    ago in favor of using c.t.f.http.Status directly. 75a4a209

  • finagle-base-http: Removed the c.t.f.http.Versions java helper, which was deprecated two years
    ago in favor of using c.t.f.http.Version directly. f191f1db

  • finagle-base-http: Removed the c.t.f.http.Methods java helper, which was deprecated two years
    ago in favor of using c.t.f.http.Method directly. ccf10dbc

  • finagle-http: c.t.f.http.Response.Ok was removed. Use just Response() or Response.Proxy
    if you need to mock it. d93bb1c9

  • finagle-core: Drv.Aliased and Drv.newVose are now private, please
    construct a Drv instance using Drv.apply or Drv.fromWeights.
    9c810dd3

  • finagle-core: c.t.f.BackupRequestLost is now removed. Please use c.t.f.Failure.ignorable
    instead. 02d3d524

Bug Fixes

  • finagle-http: Fix for a bug where HTTP/2 clients could retry requests that had a chunked
    body even if the request body was consumed. b031e757
  • finagle-http: Fix for a bug where HTTP clients could assume connections are reusable, despite
    having streaming requests in flight. 88a2d0ba

Runtime Behavior Changes

  • finagle-core: Faster Filters. Removes unnecessary Service.rescue proxies from
    the intermediate andThen-ed Filters. Previously in rare cases you might have seen
    a raw Exception not wrapped in a Future if the Filter threw. These will now
    consistently be lifted into a Future.exception. a2ddc727
  • finagle-core: MethodBuilder metrics filtering updated to now report rolled-up
    logical failures. 6e3bf33f
  • finagle-http: Disabling Netty3 cookies in favor of Netty4 cookies. fccd92c6
  • finagle-http: Removed the debug metrics http/cookie/dropped_samesites and
    http/cookie/flagless_samesites. 2de928ce

Deprecations

  • finagle-core: Multi-param legacy tls methods have been deprecated in
    c.t.f.param.ServerTransportParams and c.t.f.builder.ServerBuilder. Users should migrate
    to using the tls(SslServerConfiguration) method instead. fbfc6d1a
  • finagle-core: $client.withSession.maxIdleTime is now deprecated; use
    $client.withSessionPool.ttl instead to set the maximum allowed duration a connection may be
    cached for. 0f060e37
  • finagle-serversets: c.t.f.zookeeper.ZkResolver has been deprecated in favor
    of c.t.f.serverset2.Zk2Resolver. 9878a9ec