Yeah, I'll probably cut the 0.5 RC branch tomorrow.

On Sun, Sep 26, 2010 at 8:47 AM, David Reiss <dre...@facebook.com> wrote:

> > I'd like to ask that this be scheduled for 0.6, with the intention of
> > wrapping up 0.5 ASAP and moving into development of 0.6.
> That's fine.  We're cutting the branch in a few days anyway, right?
>
> > The asio vs libev async implementations is sort of like different
> > flavors of MQ transports.  Would be nice to try to support the
> > different flavors in as clean a way as possible.
> This is designed to be really easy.  To implement a server, all you need
> to do is drive a TAsyncBufferProcessor.  To implement a client, all you
> need is an implementation of TAsyncChannel.  If you look at these
> interfaces, I hope you will agree that they are very minimal and easy to
> integrate into any async framework.
>
> --David
>
> On 09/25/2010 10:00 PM, Bruce Lowekamp wrote:
> >
> > I'd like to request holding off on them until after 0.5.
> >
> > I'm hoping to get time and permission to begin contributing some changes
> we have.  One of them is a boost::asio/boost::bind based async c++
> implementation.  My biggest concern with the implementation has been the
> number (and invasive nature) of the changes to t_cpp_generator.  Looking
> (very briefly) at the changes you have, there's more abstraction than
> before, and some of it is definitely in the right direction, but I need to
> look at it some more to figure out how much of what we need is there and
> whether there are any conflicts.
> >
> > Biggest reason to ask that it not be in 0.5, though, is that if it's in
> 0.5, we essentially won't be able to try any release candidates with our
> code---the changes will be too dramatic.   Would need more time to work on
> merging out changes before we could test.
> >
> > The asio vs libev async implementations is sort of like different flavors
> of MQ transports.  Would be nice to try to support the different flavors in
> as clean a way as possible.
> >
> > I'd like to ask that this be scheduled for 0.6, with the intention of
> > wrapping up 0.5 ASAP and moving into development of 0.6.
> >
> > Bruce
> >
> >
> > On Sep 25, 2010, at 9:16 PM, Anthony Molinaro wrote:
> >
> >> 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
> >
> >
>

Reply via email to