Finagle 6.43 Release Notes

The March releases are hot off the printing press for Finagle 6.43.0, Finatra 2.9.0, Scrooge 4.15.0, TwitterServer 1.28.0, and Util 6.42.0.

Here’s a few of the highlights:

Finatra

See accompanying blog post for details.

Finagle

finagle-http now classifies server error status codes (500s) as failures. This affects success rate metrics and failure accrual. See the com.twitter.finagle.http.serverErrorsAsFailuresV2 toggle for opting out of this behavior. f34a7344

toggle for opting out of this behavior. f34a7344 The finagle-http APIs continue their trek to rid themselves of having Netty 3 in its public API.

finagle-http now has experimental http/2 support. To try it out, pass the command line parameter -com.twitter.finagle.toggle.flag.overrides=com.twitter.finagle.http.UseHttp2=1.0 . Please let us know of any issues that you run into!

Scrooge

The Scala code generator now supports annotations on enums, enum fields, services, and service functions. 4821b46e

Scala’s types for ServiceIfaces are now a Service from ThriftMethod.Args to ThriftMethod.SuccessType , instead of ThriftMethod.Args to ThriftMethod.Result . This is a breaking API change though it should generally be easy to adapt existing code to it. c5ea8515

Util

Our byte-level abstraction, Buf got a fresh coat of paint:

Introduce Buf.process for sequential processing of a Buf . Finagle has been updated to use it where appropriate, leading to reductions in allocations. 1df3646f and others

for sequential processing of a . Finagle has been updated to use it where appropriate, leading to reductions in allocations. 1df3646f and others Introduce Buf.write(java.nio.ByteBuffer) for writing to NIO ByteBuffers . d6f7985e

for writing to NIO . d6f7985e Buf.concat is now a constant time operation. bb05f425

is now a constant time operation. bb05f425 ConcatBuf has been removed, replaced by Buf.apply and Buf.Composite . 5833c560

Dependencies

Guava has been upgraded to version 19.0 from 16.0.1 d6bdecc9

Changelogs