Finagle v22.7.0 Release Notes

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

    🆕 New Features

    * 🔧 finagle-core: Introduce panic mode in load balancers. Configure the threshold for
      panic mode to start using `withLoadBalancer.panicMode`. ``PHAB_ID=D879034``
    
    * 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.
      ``PHAB_ID=D897484``
    
    * 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. ``PHAB_ID=D912760``
    
    💥 Breaking API Changes
    
    • 🚚 finagle-core: Remove unused DeterministicAperture along with pathways to use weight-unaware aperture loadbalancers. PHAB_ID=D933405

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

    • finagle-core: Trace.recordLocalSpan is private[this] and no longer protected. PHAB_ID=D912760

    • finagle-core: "ServiceFactory#status" is abstract and requires implementation in the inherited classes. PHAB_ID=D933288

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

    ⚙ Runtime Behavior Changes

    
    * 0️⃣ finagle-core: Changed the default implementation for random and deterministic aperture 
    load balancers to weighted aperture. ``PHAB_ID=D867878``
    
    * finagle-partitioning: ThriftCustomPartitioningServices now allow fanning out the same
    request to multiple partitions. ``PHAB_ID=D882370``
    
    * finagle-core: Rename the counter metric `loadbalancer/max_effort_exhausted` to
      `loadbalancer/panicked`. ``PHAB_ID=D881529``
    
    * ⬆️ finagle: Upgrade to Netty 4.1.76.Final and netty-tcnative 2.0.51.Final. ``PHAB_ID=D886019``
    
    * ⚡️ finagle: Update Jackson library to version 2.13.3 ``PHAB_ID=D906005``
    
    * finagle: Bump version of lz4-java to 1.8.0. ``PHAB_ID=D905411``
    
    * ⬆️ 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. ``PHAB_ID=D916996```