You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@cassandra.apache.org by Lee Parker <le...@socialagency.com> on 2010/04/15 16:49:30 UTC

framed transport

What is the benefit of moving to framed transport as opposed to buffered
transport?

Lee Parker
lee@spredfast.com

[image: Spredfast]

Re: framed transport

Posted by Jonathan Ellis <jb...@gmail.com>.
Have you tried other client machines?

It sounds like your client is generating garbage, which is Bad.

https://issues.apache.org/jira/browse/THRIFT-601

On Thu, Apr 15, 2010 at 4:20 PM, Lee Parker <le...@socialagency.com> wrote:
> It appears that after some testing, the buffered transport seems more
> stable.  I am occasionally getting a missing timestamp error during
> batch_mutate calls.  It happens both on framed and buffered transports, but
> when it happens on a framed transport, the server crashes.  Is this typical?
>
> Lee Parker
>
> On Thu, Apr 15, 2010 at 1:12 PM, Nathan McCall <na...@vervewireless.com>
> wrote:
>>
>> FWIW, We just exposed this as an option in hector.
>>
>> -Nate
>>
>> On Thu, Apr 15, 2010 at 8:38 AM, Miguel Verde <mi...@gmail.com>
>> wrote:
>> > On Thu, Apr 15, 2010 at 10:22 AM, Eric Evans <ee...@rackspace.com>
>> > wrote:
>> >>
>> >> But, if you've enabled framing on the server, you will not
>> >> be able to use C# clients (last I checked, there was no framed
>> >> transport
>> >> for C#).
>> >
>> >
>> > There *are* many clients that don't have framed transports, but the C#
>> > client had it added in November:
>> > https://issues.apache.org/jira/browse/THRIFT-210
>
>

Re: framed transport

Posted by Lee Parker <le...@socialagency.com>.
It appears that after some testing, the buffered transport seems more
stable.  I am occasionally getting a missing timestamp error during
batch_mutate calls.  It happens both on framed and buffered transports, but
when it happens on a framed transport, the server crashes.  Is this typical?

Lee Parker
On Thu, Apr 15, 2010 at 1:12 PM, Nathan McCall <na...@vervewireless.com>wrote:

> FWIW, We just exposed this as an option in hector.
>
> -Nate
>
> On Thu, Apr 15, 2010 at 8:38 AM, Miguel Verde <mi...@gmail.com>
> wrote:
> > On Thu, Apr 15, 2010 at 10:22 AM, Eric Evans <ee...@rackspace.com>
> wrote:
> >>
> >> But, if you've enabled framing on the server, you will not
> >> be able to use C# clients (last I checked, there was no framed transport
> >> for C#).
> >
> >
> > There *are* many clients that don't have framed transports, but the C#
> > client had it added in November:
> > https://issues.apache.org/jira/browse/THRIFT-210
>

Re: framed transport

Posted by Nathan McCall <na...@vervewireless.com>.
FWIW, We just exposed this as an option in hector.

-Nate

On Thu, Apr 15, 2010 at 8:38 AM, Miguel Verde <mi...@gmail.com> wrote:
> On Thu, Apr 15, 2010 at 10:22 AM, Eric Evans <ee...@rackspace.com> wrote:
>>
>> But, if you've enabled framing on the server, you will not
>> be able to use C# clients (last I checked, there was no framed transport
>> for C#).
>
>
> There *are* many clients that don't have framed transports, but the C#
> client had it added in November:
> https://issues.apache.org/jira/browse/THRIFT-210

Re: framed transport

Posted by Miguel Verde <mi...@gmail.com>.
On Thu, Apr 15, 2010 at 10:22 AM, Eric Evans <ee...@rackspace.com> wrote:

> But, if you've enabled framing on the server, you will not
> be able to use C# clients (last I checked, there was no framed transport
> for C#).


There *are* many clients that don't have framed transports, but the C#
client had it added in November:
https://issues.apache.org/jira/browse/THRIFT-210

Re: framed transport

Posted by Eric Evans <ee...@rackspace.com>.
On Thu, 2010-04-15 at 09:49 -0500, Lee Parker wrote:
> What is the benefit of moving to framed transport as opposed to
> buffered transport? 

The framed transport probably provides better (smarter) buffering, but
it was added in Thrift to support asynchronous servers. In a perfect
world, there wouldn't even be a choice; this is a Thrift implementation
detail that leaked into the APIs.

The more relevant question here is interoperability, since not all
transports are covered. For example, if you wanted to use Python and
Twisted for clients, you're going to have to use the framed transport on
the server. But, if you've enabled framing on the server, you will not
be able to use C# clients (last I checked, there was no framed transport
for C#).

So, if you don't need to make a choice based on client interoperability,
then give them both a try and see which one works best for you (but I'm
guessing that you won't notice a difference).


-- 
Eric Evans
eevans@rackspace.com