Skip to content

Finagle 22.7.0

Compare
Choose a tag to compare
@finaglehelper finaglehelper released this 28 Jul 21:27
· 157 commits to develop since this release

22.7.0

  • finagle-thrift: Changing visibility of InputBuffer and OutputBuffer from [finagle] to [twitter]. d56bb847

New Features

  • finagle-core: Introduce panic mode in load balancers. Configure the threshold for
    panic mode to start using withLoadBalancer.panicMode. c6060de8
  • finagle-core: Provide ServerParamsInjector, a class that will be service-loaded at run-time
    by Finagle servers, and will allow generic configuration of all sets of parameters.
    f00434c1
  • finagle-memcached: Add new function, newLoadBalancedTwemcacheClient, to create a TwemcacheClient
    that doesn't use a partitioning service.
    `PHAB_ID=D911789

Bug Fixes

  • finagle-core: fix issue where Trace.traceLocal and Trace.traceLocalFuture nested traces mistakenly
    annotate to the parent span. 77a7e774

Breaking API Changes

  • finagle-core: Remove unused DeterministicAperture along with pathways to use weight-unaware
    aperture loadbalancers. a5004ecc
  • finagle-base-http: Methods for getting/setting Accept, Authorization, Host, Referer,
    User-Agent, X-Forwarded-For headers were moved from c.t.f.http.Message class to
    c.t.f.http.Request as these headers are only valid on requests and not on responses.
    Methods for getting/setting Location, Retry-After, Server, and WWW-Authenticate headers
    were moved from c.t.f.http.Message class to c.t.f.http.Response as they are only valid
    on responses and not on requests.
  • finagle-core: Update OffloadFilter.Param API to encourage recommended construction.
    b684552f
  • finagle-core: Trace.recordLocalSpan is private[this] and no longer protected. 77a7e774
  • finagle-core: "ServiceFactory#status" is abstract and requires implementation in the inherited
    classes. b2a7f4ea
  • finagle-core: StackTransformer has been renamed to ServerStackTransformer and the symmetric
    client equivalent (ClientStackTransformer) has been added. For those using the older StackTransformer
    API you will both need to change the code (fix the extends) __and__ rename the META-INF file from
    resources/META-INF/services/com.twitter.finagle.StackTransformer to
    resources/META-INF/services/com.twitter.finagle.ServerStackTransformer in order to have your
    transformer continue to service-load correctly. f5de196d

Runtime Behavior Changes

  • finagle-core: Changed the default implementation for random and deterministic aperture
    load balancers to weighted aperture. f67c839c

  • finagle-partitioning: ThriftCustomPartitioningServices now allow fanning out the same
    request to multiple partitions. 59381065

  • finagle-core: Rename the counter metric loadbalancer/max_effort_exhausted to
    loadbalancer/panicked. a055f74b
  • finagle: Upgrade to Netty 4.1.76.Final and netty-tcnative 2.0.51.Final. c07a9b0b
  • finagle: Update Jackson library to version 2.13.3 92d39db2
  • finagle: Bump version of lz4-java to 1.8.0. 305c467c
  • finagle: Upgrade to Netty 4.1.78.Final and netty-tcnative 2.0.53.Final to support
    tls tracing for finagle in [Pixie](https://pixie.dev/). The Pixie changes aren't
    complete yet, but upgrading netty is a prerequisite for that. d251883b`