Kevin Oliver

@kevino

Posted April 18, 2018

🦋 Spring Review

It’s time to take a look back at what went down with Finagle, Finatra & friends over the past three months, and get an idea of what’s to come. As projects don’t tend to care about quarterly boundaries, some of our work is a work in progress.

Efficiency

Low level machinery:

  • LIFO Promise continuations are on, and most importantly, the extra overhead has been ripped out.
  • Buf concatenation has been optimized, and our ThriftMux throughput simulations saw a 2–4% increase.
  • Made Promise.poll and Promise.isDefined faster.

Resiliency

After a few years of languishing with an experimental tag, backup requests have been rewritten and are killing tail latencies in production. Read up and see if they can help your service.

HTTP/2 client work continues and we continue to find interesting things. Of note — it does not seem like many folks out on the internets have implemented cleartext h2 upgrades.

Operability

Our MySQL client received a number of usability fixes to it’s APIs (1, 2, 3, 4, 5, 6, 7). There’s more planned, so stay tuned to this channel.

Tech Debt

R.I.P. libthrift 0.5.0! We’ll be on version 0.10.0 for a bit before we upgrade to 0.11 which was released while we were already working on the upgrade.

Netty 3 still lives on due to HTTP cookies, but we’re chipping away at it.


As always, please feel free to ask questions on either the Finagle or Finatra mailing lists or on Gitter.

See you this summer!

Kevin Oliver and team