I agree, especially since I don't actually use the C++ stuff :). But seriously, I know the pain of maintaining a long lived branch and the new features provided sound promising. So I'd say just commit it so it makes it into 0.5.0, so much is changing with 0.5.0 anyway, might as well add in some more :).
-Anthony On Sat, Sep 25, 2010 at 06:51:12PM -0700, Bryan Duxbury wrote: > I say go for it. I wonder if it's even worth publishing the git branch and > waiting for complaints - history has shown that we probably won't get them > until way after the fact. > > -Bryan > > On Sat, Sep 25, 2010 at 5:41 PM, David Reiss <dre...@facebook.com> wrote: > > > Hey guys, > > > > We've been doing a lot of experimental changes to Thrift/C++ within > > Facebook. Some of our experiments have panned out and some haven't, but > > some have dragged on for a long time with half-finished code checked into > > trunk. This has prevented us from merging our changes back out to Apache > > for a while, which has been very frustrating. I've cleaned up a lot of > > the code as best I can, and I'm hoping the community would be okay > > accepting these patches into the trunk, even though some of the features > > are still experimental and likely to have interface changes. Because of > > the interleaved development history, it's not really possible to tease out > > many of the individual features without significant conflict resolution. > > However, I'm hoping that no one will be tempted to do that since all of > > the changes should be isolated to new APIs and fully backwards-compatible > > at the source level. > > > > The main changes are: > > > > - Templated transport and protocol code. This change has sped up some of > > our benchmarks by 5x for serialization and 3x for deserialization, and > > reduced the end-to-end latency of at least one of our production systems > > by 50%. All that's needed is a few type annotations in your C++ source. > > - Async client and server support. So far, just implemented as an > > evhttp-based client and server, but the infrastructure is in place for > > writing fully event-driven Thrift clients and servers. > > - Hooks that allow user code to get better statistics about the calls > > being made to the server. > > - Better test coverage for transport classes. > > - Various small features and bug fixes. > > > > My plan is to create JIRA issues with patches for the 5 items above > > (including a conglomo-issue for the small changes), publish a git branch > > with all of the changes (plus an instant release if people want), then > > wait to see if anyone complains and commit if they don't. > > > > The git branch is called "fb-merge-p2" and is available at either of > > git://git.thrift-rpc.org/thrift.git > > git://github.com/dreiss/thrift.git > > > > Non git users can pull the full combined patch from r996610 at > > > > http://gitweb.thrift-rpc.org/?p=thrift.git;a=treediff_plain;h=refs/heads/pri/dreiss/fb-merge-p2;hp=d5c342b > > > > The full list of changes is at > > > > http://gitweb.thrift-rpc.org/?p=thrift.git;a=log;h=refs/heads/pri/dreiss/fb-merge-p2;hb=HEAD > > (click through on "commitdiff" to see the full individual commits.) > > > > Thoughts? > > > > --David > > -- ------------------------------------------------------------------------ Anthony Molinaro <antho...@alumni.caltech.edu>