Skip to content

SYSTEM Cited by 1 source

fbthrift

Definition

fbthrift is Meta / Facebook's fork of Apache Thrift — an RPC + serialization framework with a strongly-typed IDL that generates client + server stubs in many languages. fbthrift diverges from Apache Thrift on protocol extensions, codegen, transport features (including compression plumbing), and evolution cadence. Public repository: github.com/facebook/fbthrift.

Canonical wiki role

Pinterest-specific operational data

Pinterest's lz4 compression toggle on fbthrift root-leaf traffic delivered:

  • −20% root-leaf network usage
  • +5% CPU on the compressing/decompressing sides
  • +5 ms (~10%) p90 latency

This is a classic compression codec trade-off data point at RPC altitude: lz4 chosen for low-CPU / low-latency characteristics rather than maximum ratio. Pinterest's explicit framing: "a solid early win, but it didn't change the underlying problem: we were still shipping too much unused data" — prompting the complementary Feature Trimmer build.

Relationship to Apache Thrift

  • Apache Thrift (2007+, apache.org) and fbthrift (Meta fork, 2014+) share IDL heritage but have diverged substantially.
  • fbthrift adds: native HTTP/2 support, rich transport-layer features, native support for multiple protocol encodings (Compact / Binary / JSON), and a distinct codegen pipeline.
  • Canonical Apache Thrift wiki instance: systems/apache-thrift as Uber's 2013+ microservice IDL before Uber moved to systems/grpc + systems/protobuf.

Seen in

Caveats

  • Stub — this page is scoped to the disclosed Pinterest-usage datum. Meta's own internal fbthrift deployments (at TAO / Scribe / the larger Meta service mesh) are referenced across Meta Engineering posts but not yet canonicalised on the wiki. Expect expansion as Meta posts get ingested.
  • No wire-format or transport details disclosed in the Pinterest post beyond the lz4-compression knob.
Last updated · 445 distilled / 1,275 read