GitShow/facebook/fbthrift
facebook

fbthrift

Facebook's branch of Apache Thrift, including a new C++ server.

by facebook
Star on GitHubFork

C++

2.7k stars644 forks1.9k contributorsActive · 2h agoSince 2013v2020.08.24.00Apache-2.0

Meet the team

See all 1886 on GitHub →
Mizuchi
Mizuchi1.6k contributions
iahs
iahs1.2k contributions
yfeldblum
yfeldblum1.2k contributions
echistyakov
echistyakov1.1k contributions
thedavekwon
thedavekwon1.0k contributions
vitaut
vitaut828 contributions
praihan
praihan790 contributions
ahilger
ahilger748 contributions

Languages

View on GitHub →
C++62.1%
Python9.4%
Thrift9.2%
Java8.1%
Rust2.7%
Hack2.6%
Other5.8%

Commit activity

Last 12 weeks · 920 commits

Full graph →

Community health

4 of 6 standards met

Community profile →
75
✓README✓License✓Contributing✓Code of Conduct○Issue Template○PR Template

Recent PRs & issues

Active · Last activity 2h ago
See all on GitHub →
mszabo-wikia
Fix Thrift dependency compilation orderOpenPR

Currently the dependency between the and thrift libs is implicit, which on some platforms can cause the latter to be unbuilt for some targets, resulting in errors such as: See https://github.com/NixOS/nixpkgs/pull/547897. One could explicitly declare all cross-dependencies between thrift libraries as well, but that seems like a bigger hassle to maintain. Given how things mostly work as-is, let's go with the minimum required change.

mszabo-wikia · 2w ago
barracuda156
FBThriftConfig.cmake requires xxhash now via CMake module, while xxhash does not use CMake and does not install the module, only .pc fileOpenIssue

Not sure when this changed, but FBThriftConfig now breaks configure of dependents, since does not have .cmake module, which wants.

barracuda156 · 3w ago
barracuda156
v2026.07.27.00 fails to build with gcc with `-D_GLIBCXX_USE_CXX11_ABI=0`: `String.h: error: 'string' in namespace 'std::pmr' does not name a type`OpenIssue

barracuda156 · 3w ago

Recent fixes

View closed PRs →
swxlion
Memory leak when using CloseCallback for HeaderClientChannelClosedIssue

Class HeaderClientChannel has a method to set CloseCallback when connection closed, which requires a naked pointer. The callback will be called in asynchronously. By normal thought, in this case, for an asynchronous callback object, developer will new a callback object, then pass the naked pointer to then function, and hope class HeaderClientChannel take the ownership, and free the callback object if necessary. But I found in the HeaderClientChannel class, in the function void HeaderClientChannel::messageChannelEOF(), after called closeCallback_->channelClosed(), then, the class assigns nullptr to the pointer: closeCallback_ = nullptr; In this case, memory leaking is occurred. But I think in the asynchronous case, developer haven't the responsibility to holder a callback and free them. And no any note to say, need to delete this in the function channelClosed().

swxlion · 1w ago
simonmar
Fix BUILD_SHARED_LIBS=ONMergedPR

Tested in hsthrift as part of this PR: https://github.com/facebookincubator/hsthrift/pull/174

simonmar · 2w ago
daeho-ro
Switch parser_core on token_kind's underlying enum for older ClangMergedPR

switches on , whose type is a class with an . Older Clang (e.g. Apple Clang 15 / Xcode 15) rejects the labels of such class-type switches with: Switch on (the public member) instead, so every switch operates on the plain enum. No behavioral change; case labels are unchanged. Builds unchanged on newer Clang/GCC and fixes older Clang.

daeho-ro · 1mo ago
Structured data for AI agents

Repository: facebook/fbthrift. Description: Facebook's branch of Apache Thrift, including a new C++ server. Stars: 2696, Forks: 644. Primary language: C++. Languages: C++ (62.1%), Python (9.4%), Thrift (9.2%), Java (8.1%), Rust (2.7%). License: Apache-2.0. Latest release: v2020.08.24.00 (5y ago). Open PRs: 8, open issues: 47. Last activity: 2h ago. Community health: 75%. Top contributors: Mizuchi, iahs, yfeldblum, echistyakov, thedavekwon, vitaut, praihan, ahilger, hchokshi, aristidisp and others.

·@ofershap

Replace github.com with gitshow.dev