Jordan Parker

@nepthar

Posted July 19, 2018

🎇 Summertime Update 🎆

Believe it or not, summer is in full swing and it’s once again time to take stock of where we’ve been and where we’re headed. For a full list of changes over the past quarter, check out the older posts on this blog.

Operability

We’ve continued to focus on mysql usability through various improvements to our API. (1, 2, 3, 4, 5, 6, 7, 8, 9)

TwitterServer’s HTTP admin interface has a new endpoint, admin/balancers.json, which provides information about the state of each client’s load balancers.

We’ve also focused attention on making all parts of our stack easier to use from Java and will continue to do so. Please let us know where we fall short here! (1, 2, 3)

We’ve simplified our HTTP cookie API and added support for the SameSite attribute. We also continued work tracking down some broken HTTP/1.x & HTTP/2 corner cases. Work actively continues on HTTP/2.

Finally, we revamped the string representation of services and filters. This means looking at those objects in a debugger provides MUCH more useful information. 1

Resiliency

We’ve also been focusing on Deadlines which can be used to avoid doing unnecessary work for requests which are about to time out anyway.

Our newest loadbalancer, Deterministic Aperture, got a bit more deterministic. We found that allowing the aperture to expand based on load caused uneven load distribution, so we’ve disabled this feature by default.


Want to know more or have a question? Ask away at our Finagle or Finatra mailing lists or hop on Gitter

Stay cool but keep your caches warm,

Jordan Parker and the Core Systems Libraries team