You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@cassandra.apache.org by Eric Evans <ee...@rackspace.com> on 2009/06/19 22:22:11 UTC
moving to framed transport (client breakage inevitable)
As explained in CASSANDRA-241[1], the daemon process, which is currently
using a non-framed thrift transport is incompatible with (some?)
non-blocking client implementations. The solution is to standardize on a
framed transport which is compatible with all client implementations.
[1] https://issues.apache.org/jira/browse/CASSANDRA-241
Unfortunately this is going to break everyone's client apps. Fortunately
the fix is trivial.
For Java clients that look something like ...
socket = new TSocket(hostname, port);
TProtocol protocol = new TBinaryProtocol(socket);
client = new Cassandra.Client(protocol);
... changing them to look like ...
socket = new TSocket(hostname, port);
TTransport transport = new TFramedTransport(socket)
TProtocol protocol = new TBinaryProtocol(transport);
client = new Cassandra.Client(protocol);
... should do the trick.
For a Python client that looks something like ...
socket = TSocket.TSocket(host, port)
transport = TTransport.TBufferedTransport(socket)
protocol = TBinaryProtocol.TBinaryProtocol(transport)
client = Cassandra.Client(protocol)
... change it to look like ...
socket = TSocket.TSocket(host, port)
transport = TTransport.TFramedTransport(socket)
protocol = TBinaryProtocol.TBinaryProtocol(transport)
client = Cassandra.Client(protocol)
Unless confronted with compelling arguments, Jonathan has agreed to
commit this change on Monday, so speak soon or forever hold your
peace. :)
--
Eric Evans
eevans@rackspace.com
Re: moving to framed transport (client breakage inevitable)
Posted by Michael Greene <mi...@gmail.com>.
Evan's input makes sense. I'll see if I can clean up that patch and
test appropriately. I'd also worry about Cocoa support, but the Cocoa
developers, though few, seem active and willing to review patches.
I recant my previous objection, though it would be nice to see it as
an option at runtime until all languages receive Framed support.
Michael
On Sun, Jun 21, 2009 at 1:05 PM, Jeff Hodges<je...@somethingsimilar.com> wrote:
> I have to agree with Weaver here. This is a Good Thing to change and I
> imagine the C# developers could use some impetus to implement it.
> There is a JIRA ticket for adding this to C# in progress here:
>
> https://issues.apache.org/jira/browse/THRIFT-210
> --
> Jeff
>
> On Sat, Jun 20, 2009 at 1:32 PM, Evan Weaver<ew...@gmail.com> wrote:
>> Would this be sufficient motivation for a C# user to add framed support
>> in Thrift? This seems like a cart/horse issue.
>>
>> Evan
>>
>> On Sat, Jun 20, 2009 at 1:05 PM, Chris Goffinet<cg...@chrisgoffinet.com> wrote:
>>> +1 for making it an option in runtime.
>>>
>>> List of langs without Framed transport:
>>>
>>> C#
>>> Cocoa
>>> Haskell
>>> Ocaml
>>> Smalltalk
>>>
>>>
>>> On Jun 19, 2009, at 9:56 PM, Jonathan Ellis wrote:
>>>
>>>> That's probably what we'll have to do if C# et al don't support
>>>> Framed. Which is a shame, because framed makes a lot more sense --
>>>> there's really no reason to keep non-framed around. But that's Thrift
>>>> for you.
>>>>
>>>> -Jonathan
>>>>
>>>> On Fri, Jun 19, 2009 at 11:44 PM, Ian Holsman<ia...@holsman.net> wrote:
>>>>>
>>>>> Hey guys.
>>>>> is it possible to make this a run time option or something?
>>>>>
>>>>> On 20/06/2009, at 10:03 AM, Michael Greene wrote:
>>>>>
>>>>>> Hopping on a plane so this will be brief, but C# does not have a
>>>>>> Framed Transport, nor do a few of the other languages, so I'd have to
>>>>>> be -1 on this change.
>>>>>>
>>>>>> On Fri, Jun 19, 2009 at 3:22 PM, Eric Evans<ee...@rackspace.com> wrote:
>>>>>>>
>>>>>>> As explained in CASSANDRA-241[1], the daemon process, which is
>>>>>>> currently
>>>>>>> using a non-framed thrift transport is incompatible with (some?)
>>>>>>> non-blocking client implementations. The solution is to standardize on
>>>>>>> a
>>>>>>> framed transport which is compatible with all client implementations.
>>>>>>>
>>>>>>> [1] https://issues.apache.org/jira/browse/CASSANDRA-241
>>>>>>>
>>>>>>> Unfortunately this is going to break everyone's client apps.
>>>>>>> Fortunately
>>>>>>> the fix is trivial.
>>>>>>>
>>>>>>> For Java clients that look something like ...
>>>>>>>
>>>>>>> socket = new TSocket(hostname, port);
>>>>>>> TProtocol protocol = new TBinaryProtocol(socket);
>>>>>>> client = new Cassandra.Client(protocol);
>>>>>>>
>>>>>>> ... changing them to look like ...
>>>>>>>
>>>>>>>
>>>>>>> socket = new TSocket(hostname, port);
>>>>>>> TTransport transport = new TFramedTransport(socket)
>>>>>>> TProtocol protocol = new TBinaryProtocol(transport);
>>>>>>> client = new Cassandra.Client(protocol);
>>>>>>>
>>>>>>> ... should do the trick.
>>>>>>>
>>>>>>> For a Python client that looks something like ...
>>>>>>>
>>>>>>> socket = TSocket.TSocket(host, port)
>>>>>>> transport = TTransport.TBufferedTransport(socket)
>>>>>>> protocol = TBinaryProtocol.TBinaryProtocol(transport)
>>>>>>> client = Cassandra.Client(protocol)
>>>>>>>
>>>>>>> ... change it to look like ...
>>>>>>>
>>>>>>> socket = TSocket.TSocket(host, port)
>>>>>>> transport = TTransport.TFramedTransport(socket)
>>>>>>> protocol = TBinaryProtocol.TBinaryProtocol(transport)
>>>>>>> client = Cassandra.Client(protocol)
>>>>>>>
>>>>>>>
>>>>>>> Unless confronted with compelling arguments, Jonathan has agreed to
>>>>>>> commit this change on Monday, so speak soon or forever hold your
>>>>>>> peace. :)
>>>>>>>
>>>>>>> --
>>>>>>> Eric Evans
>>>>>>> eevans@rackspace.com
>>>>>>>
>>>>>>>
>>>>>
>>>>> --
>>>>> Ian Holsman
>>>>> Ian@Holsman.net
>>>>>
>>>>>
>>>>>
>>>>>
>>>
>>>
>>
>>
>>
>> --
>> Evan Weaver
>>
>
Re: moving to framed transport (client breakage inevitable)
Posted by Jeff Hodges <je...@somethingsimilar.com>.
I have to agree with Weaver here. This is a Good Thing to change and I
imagine the C# developers could use some impetus to implement it.
There is a JIRA ticket for adding this to C# in progress here:
https://issues.apache.org/jira/browse/THRIFT-210
--
Jeff
On Sat, Jun 20, 2009 at 1:32 PM, Evan Weaver<ew...@gmail.com> wrote:
> Would this be sufficient motivation for a C# user to add framed support
> in Thrift? This seems like a cart/horse issue.
>
> Evan
>
> On Sat, Jun 20, 2009 at 1:05 PM, Chris Goffinet<cg...@chrisgoffinet.com> wrote:
>> +1 for making it an option in runtime.
>>
>> List of langs without Framed transport:
>>
>> C#
>> Cocoa
>> Haskell
>> Ocaml
>> Smalltalk
>>
>>
>> On Jun 19, 2009, at 9:56 PM, Jonathan Ellis wrote:
>>
>>> That's probably what we'll have to do if C# et al don't support
>>> Framed. Which is a shame, because framed makes a lot more sense --
>>> there's really no reason to keep non-framed around. But that's Thrift
>>> for you.
>>>
>>> -Jonathan
>>>
>>> On Fri, Jun 19, 2009 at 11:44 PM, Ian Holsman<ia...@holsman.net> wrote:
>>>>
>>>> Hey guys.
>>>> is it possible to make this a run time option or something?
>>>>
>>>> On 20/06/2009, at 10:03 AM, Michael Greene wrote:
>>>>
>>>>> Hopping on a plane so this will be brief, but C# does not have a
>>>>> Framed Transport, nor do a few of the other languages, so I'd have to
>>>>> be -1 on this change.
>>>>>
>>>>> On Fri, Jun 19, 2009 at 3:22 PM, Eric Evans<ee...@rackspace.com> wrote:
>>>>>>
>>>>>> As explained in CASSANDRA-241[1], the daemon process, which is
>>>>>> currently
>>>>>> using a non-framed thrift transport is incompatible with (some?)
>>>>>> non-blocking client implementations. The solution is to standardize on
>>>>>> a
>>>>>> framed transport which is compatible with all client implementations.
>>>>>>
>>>>>> [1] https://issues.apache.org/jira/browse/CASSANDRA-241
>>>>>>
>>>>>> Unfortunately this is going to break everyone's client apps.
>>>>>> Fortunately
>>>>>> the fix is trivial.
>>>>>>
>>>>>> For Java clients that look something like ...
>>>>>>
>>>>>> socket = new TSocket(hostname, port);
>>>>>> TProtocol protocol = new TBinaryProtocol(socket);
>>>>>> client = new Cassandra.Client(protocol);
>>>>>>
>>>>>> ... changing them to look like ...
>>>>>>
>>>>>>
>>>>>> socket = new TSocket(hostname, port);
>>>>>> TTransport transport = new TFramedTransport(socket)
>>>>>> TProtocol protocol = new TBinaryProtocol(transport);
>>>>>> client = new Cassandra.Client(protocol);
>>>>>>
>>>>>> ... should do the trick.
>>>>>>
>>>>>> For a Python client that looks something like ...
>>>>>>
>>>>>> socket = TSocket.TSocket(host, port)
>>>>>> transport = TTransport.TBufferedTransport(socket)
>>>>>> protocol = TBinaryProtocol.TBinaryProtocol(transport)
>>>>>> client = Cassandra.Client(protocol)
>>>>>>
>>>>>> ... change it to look like ...
>>>>>>
>>>>>> socket = TSocket.TSocket(host, port)
>>>>>> transport = TTransport.TFramedTransport(socket)
>>>>>> protocol = TBinaryProtocol.TBinaryProtocol(transport)
>>>>>> client = Cassandra.Client(protocol)
>>>>>>
>>>>>>
>>>>>> Unless confronted with compelling arguments, Jonathan has agreed to
>>>>>> commit this change on Monday, so speak soon or forever hold your
>>>>>> peace. :)
>>>>>>
>>>>>> --
>>>>>> Eric Evans
>>>>>> eevans@rackspace.com
>>>>>>
>>>>>>
>>>>
>>>> --
>>>> Ian Holsman
>>>> Ian@Holsman.net
>>>>
>>>>
>>>>
>>>>
>>
>>
>
>
>
> --
> Evan Weaver
>
Re: moving to framed transport (client breakage inevitable)
Posted by Jonathan Ellis <jb...@gmail.com>.
If we were talking about any other project I would say "great idea!"
But with Thrift, simple patches can take 6+ weeks to be committed. (I
am not exaggerating.)
So I would vote for making it configurable to avoid screwing over
people on those platforms.
-Jonathan
On Sat, Jun 20, 2009 at 3:32 PM, Evan Weaver<ew...@gmail.com> wrote:
> Would this be sufficient motivation for a C# user to add framed support
> in Thrift? This seems like a cart/horse issue.
>
> Evan
>
> On Sat, Jun 20, 2009 at 1:05 PM, Chris Goffinet<cg...@chrisgoffinet.com> wrote:
>> +1 for making it an option in runtime.
>>
>> List of langs without Framed transport:
>>
>> C#
>> Cocoa
>> Haskell
>> Ocaml
>> Smalltalk
Re: moving to framed transport (client breakage inevitable)
Posted by Evan Weaver <ew...@gmail.com>.
Would this be sufficient motivation for a C# user to add framed support
in Thrift? This seems like a cart/horse issue.
Evan
On Sat, Jun 20, 2009 at 1:05 PM, Chris Goffinet<cg...@chrisgoffinet.com> wrote:
> +1 for making it an option in runtime.
>
> List of langs without Framed transport:
>
> C#
> Cocoa
> Haskell
> Ocaml
> Smalltalk
>
>
> On Jun 19, 2009, at 9:56 PM, Jonathan Ellis wrote:
>
>> That's probably what we'll have to do if C# et al don't support
>> Framed. Which is a shame, because framed makes a lot more sense --
>> there's really no reason to keep non-framed around. But that's Thrift
>> for you.
>>
>> -Jonathan
>>
>> On Fri, Jun 19, 2009 at 11:44 PM, Ian Holsman<ia...@holsman.net> wrote:
>>>
>>> Hey guys.
>>> is it possible to make this a run time option or something?
>>>
>>> On 20/06/2009, at 10:03 AM, Michael Greene wrote:
>>>
>>>> Hopping on a plane so this will be brief, but C# does not have a
>>>> Framed Transport, nor do a few of the other languages, so I'd have to
>>>> be -1 on this change.
>>>>
>>>> On Fri, Jun 19, 2009 at 3:22 PM, Eric Evans<ee...@rackspace.com> wrote:
>>>>>
>>>>> As explained in CASSANDRA-241[1], the daemon process, which is
>>>>> currently
>>>>> using a non-framed thrift transport is incompatible with (some?)
>>>>> non-blocking client implementations. The solution is to standardize on
>>>>> a
>>>>> framed transport which is compatible with all client implementations.
>>>>>
>>>>> [1] https://issues.apache.org/jira/browse/CASSANDRA-241
>>>>>
>>>>> Unfortunately this is going to break everyone's client apps.
>>>>> Fortunately
>>>>> the fix is trivial.
>>>>>
>>>>> For Java clients that look something like ...
>>>>>
>>>>> socket = new TSocket(hostname, port);
>>>>> TProtocol protocol = new TBinaryProtocol(socket);
>>>>> client = new Cassandra.Client(protocol);
>>>>>
>>>>> ... changing them to look like ...
>>>>>
>>>>>
>>>>> socket = new TSocket(hostname, port);
>>>>> TTransport transport = new TFramedTransport(socket)
>>>>> TProtocol protocol = new TBinaryProtocol(transport);
>>>>> client = new Cassandra.Client(protocol);
>>>>>
>>>>> ... should do the trick.
>>>>>
>>>>> For a Python client that looks something like ...
>>>>>
>>>>> socket = TSocket.TSocket(host, port)
>>>>> transport = TTransport.TBufferedTransport(socket)
>>>>> protocol = TBinaryProtocol.TBinaryProtocol(transport)
>>>>> client = Cassandra.Client(protocol)
>>>>>
>>>>> ... change it to look like ...
>>>>>
>>>>> socket = TSocket.TSocket(host, port)
>>>>> transport = TTransport.TFramedTransport(socket)
>>>>> protocol = TBinaryProtocol.TBinaryProtocol(transport)
>>>>> client = Cassandra.Client(protocol)
>>>>>
>>>>>
>>>>> Unless confronted with compelling arguments, Jonathan has agreed to
>>>>> commit this change on Monday, so speak soon or forever hold your
>>>>> peace. :)
>>>>>
>>>>> --
>>>>> Eric Evans
>>>>> eevans@rackspace.com
>>>>>
>>>>>
>>>
>>> --
>>> Ian Holsman
>>> Ian@Holsman.net
>>>
>>>
>>>
>>>
>
>
--
Evan Weaver
Re: moving to framed transport (client breakage inevitable)
Posted by Chris Goffinet <cg...@chrisgoffinet.com>.
+1 for making it an option in runtime.
List of langs without Framed transport:
C#
Cocoa
Haskell
Ocaml
Smalltalk
On Jun 19, 2009, at 9:56 PM, Jonathan Ellis wrote:
> That's probably what we'll have to do if C# et al don't support
> Framed. Which is a shame, because framed makes a lot more sense --
> there's really no reason to keep non-framed around. But that's Thrift
> for you.
>
> -Jonathan
>
> On Fri, Jun 19, 2009 at 11:44 PM, Ian Holsman<ia...@holsman.net> wrote:
>> Hey guys.
>> is it possible to make this a run time option or something?
>>
>> On 20/06/2009, at 10:03 AM, Michael Greene wrote:
>>
>>> Hopping on a plane so this will be brief, but C# does not have a
>>> Framed Transport, nor do a few of the other languages, so I'd have
>>> to
>>> be -1 on this change.
>>>
>>> On Fri, Jun 19, 2009 at 3:22 PM, Eric Evans<ee...@rackspace.com>
>>> wrote:
>>>>
>>>> As explained in CASSANDRA-241[1], the daemon process, which is
>>>> currently
>>>> using a non-framed thrift transport is incompatible with (some?)
>>>> non-blocking client implementations. The solution is to
>>>> standardize on a
>>>> framed transport which is compatible with all client
>>>> implementations.
>>>>
>>>> [1] https://issues.apache.org/jira/browse/CASSANDRA-241
>>>>
>>>> Unfortunately this is going to break everyone's client apps.
>>>> Fortunately
>>>> the fix is trivial.
>>>>
>>>> For Java clients that look something like ...
>>>>
>>>> socket = new TSocket(hostname, port);
>>>> TProtocol protocol = new TBinaryProtocol(socket);
>>>> client = new Cassandra.Client(protocol);
>>>>
>>>> ... changing them to look like ...
>>>>
>>>>
>>>> socket = new TSocket(hostname, port);
>>>> TTransport transport = new TFramedTransport(socket)
>>>> TProtocol protocol = new TBinaryProtocol(transport);
>>>> client = new Cassandra.Client(protocol);
>>>>
>>>> ... should do the trick.
>>>>
>>>> For a Python client that looks something like ...
>>>>
>>>> socket = TSocket.TSocket(host, port)
>>>> transport = TTransport.TBufferedTransport(socket)
>>>> protocol = TBinaryProtocol.TBinaryProtocol(transport)
>>>> client = Cassandra.Client(protocol)
>>>>
>>>> ... change it to look like ...
>>>>
>>>> socket = TSocket.TSocket(host, port)
>>>> transport = TTransport.TFramedTransport(socket)
>>>> protocol = TBinaryProtocol.TBinaryProtocol(transport)
>>>> client = Cassandra.Client(protocol)
>>>>
>>>>
>>>> Unless confronted with compelling arguments, Jonathan has agreed to
>>>> commit this change on Monday, so speak soon or forever hold your
>>>> peace. :)
>>>>
>>>> --
>>>> Eric Evans
>>>> eevans@rackspace.com
>>>>
>>>>
>>
>> --
>> Ian Holsman
>> Ian@Holsman.net
>>
>>
>>
>>
Re: moving to framed transport (client breakage inevitable)
Posted by Jonathan Ellis <jb...@gmail.com>.
That's probably what we'll have to do if C# et al don't support
Framed. Which is a shame, because framed makes a lot more sense --
there's really no reason to keep non-framed around. But that's Thrift
for you.
-Jonathan
On Fri, Jun 19, 2009 at 11:44 PM, Ian Holsman<ia...@holsman.net> wrote:
> Hey guys.
> is it possible to make this a run time option or something?
>
> On 20/06/2009, at 10:03 AM, Michael Greene wrote:
>
>> Hopping on a plane so this will be brief, but C# does not have a
>> Framed Transport, nor do a few of the other languages, so I'd have to
>> be -1 on this change.
>>
>> On Fri, Jun 19, 2009 at 3:22 PM, Eric Evans<ee...@rackspace.com> wrote:
>>>
>>> As explained in CASSANDRA-241[1], the daemon process, which is currently
>>> using a non-framed thrift transport is incompatible with (some?)
>>> non-blocking client implementations. The solution is to standardize on a
>>> framed transport which is compatible with all client implementations.
>>>
>>> [1] https://issues.apache.org/jira/browse/CASSANDRA-241
>>>
>>> Unfortunately this is going to break everyone's client apps. Fortunately
>>> the fix is trivial.
>>>
>>> For Java clients that look something like ...
>>>
>>> socket = new TSocket(hostname, port);
>>> TProtocol protocol = new TBinaryProtocol(socket);
>>> client = new Cassandra.Client(protocol);
>>>
>>> ... changing them to look like ...
>>>
>>>
>>> socket = new TSocket(hostname, port);
>>> TTransport transport = new TFramedTransport(socket)
>>> TProtocol protocol = new TBinaryProtocol(transport);
>>> client = new Cassandra.Client(protocol);
>>>
>>> ... should do the trick.
>>>
>>> For a Python client that looks something like ...
>>>
>>> socket = TSocket.TSocket(host, port)
>>> transport = TTransport.TBufferedTransport(socket)
>>> protocol = TBinaryProtocol.TBinaryProtocol(transport)
>>> client = Cassandra.Client(protocol)
>>>
>>> ... change it to look like ...
>>>
>>> socket = TSocket.TSocket(host, port)
>>> transport = TTransport.TFramedTransport(socket)
>>> protocol = TBinaryProtocol.TBinaryProtocol(transport)
>>> client = Cassandra.Client(protocol)
>>>
>>>
>>> Unless confronted with compelling arguments, Jonathan has agreed to
>>> commit this change on Monday, so speak soon or forever hold your
>>> peace. :)
>>>
>>> --
>>> Eric Evans
>>> eevans@rackspace.com
>>>
>>>
>
> --
> Ian Holsman
> Ian@Holsman.net
>
>
>
>
Re: moving to framed transport (client breakage inevitable)
Posted by Ian Holsman <ia...@holsman.net>.
Hey guys.
is it possible to make this a run time option or something?
On 20/06/2009, at 10:03 AM, Michael Greene wrote:
> Hopping on a plane so this will be brief, but C# does not have a
> Framed Transport, nor do a few of the other languages, so I'd have to
> be -1 on this change.
>
> On Fri, Jun 19, 2009 at 3:22 PM, Eric Evans<ee...@rackspace.com>
> wrote:
>>
>> As explained in CASSANDRA-241[1], the daemon process, which is
>> currently
>> using a non-framed thrift transport is incompatible with (some?)
>> non-blocking client implementations. The solution is to standardize
>> on a
>> framed transport which is compatible with all client implementations.
>>
>> [1] https://issues.apache.org/jira/browse/CASSANDRA-241
>>
>> Unfortunately this is going to break everyone's client apps.
>> Fortunately
>> the fix is trivial.
>>
>> For Java clients that look something like ...
>>
>> socket = new TSocket(hostname, port);
>> TProtocol protocol = new TBinaryProtocol(socket);
>> client = new Cassandra.Client(protocol);
>>
>> ... changing them to look like ...
>>
>>
>> socket = new TSocket(hostname, port);
>> TTransport transport = new TFramedTransport(socket)
>> TProtocol protocol = new TBinaryProtocol(transport);
>> client = new Cassandra.Client(protocol);
>>
>> ... should do the trick.
>>
>> For a Python client that looks something like ...
>>
>> socket = TSocket.TSocket(host, port)
>> transport = TTransport.TBufferedTransport(socket)
>> protocol = TBinaryProtocol.TBinaryProtocol(transport)
>> client = Cassandra.Client(protocol)
>>
>> ... change it to look like ...
>>
>> socket = TSocket.TSocket(host, port)
>> transport = TTransport.TFramedTransport(socket)
>> protocol = TBinaryProtocol.TBinaryProtocol(transport)
>> client = Cassandra.Client(protocol)
>>
>>
>> Unless confronted with compelling arguments, Jonathan has agreed to
>> commit this change on Monday, so speak soon or forever hold your
>> peace. :)
>>
>> --
>> Eric Evans
>> eevans@rackspace.com
>>
>>
--
Ian Holsman
Ian@Holsman.net
Re: moving to framed transport (client breakage inevitable)
Posted by Michael Greene <mi...@gmail.com>.
Hopping on a plane so this will be brief, but C# does not have a
Framed Transport, nor do a few of the other languages, so I'd have to
be -1 on this change.
On Fri, Jun 19, 2009 at 3:22 PM, Eric Evans<ee...@rackspace.com> wrote:
>
> As explained in CASSANDRA-241[1], the daemon process, which is currently
> using a non-framed thrift transport is incompatible with (some?)
> non-blocking client implementations. The solution is to standardize on a
> framed transport which is compatible with all client implementations.
>
> [1] https://issues.apache.org/jira/browse/CASSANDRA-241
>
> Unfortunately this is going to break everyone's client apps. Fortunately
> the fix is trivial.
>
> For Java clients that look something like ...
>
> socket = new TSocket(hostname, port);
> TProtocol protocol = new TBinaryProtocol(socket);
> client = new Cassandra.Client(protocol);
>
> ... changing them to look like ...
>
>
> socket = new TSocket(hostname, port);
> TTransport transport = new TFramedTransport(socket)
> TProtocol protocol = new TBinaryProtocol(transport);
> client = new Cassandra.Client(protocol);
>
> ... should do the trick.
>
> For a Python client that looks something like ...
>
> socket = TSocket.TSocket(host, port)
> transport = TTransport.TBufferedTransport(socket)
> protocol = TBinaryProtocol.TBinaryProtocol(transport)
> client = Cassandra.Client(protocol)
>
> ... change it to look like ...
>
> socket = TSocket.TSocket(host, port)
> transport = TTransport.TFramedTransport(socket)
> protocol = TBinaryProtocol.TBinaryProtocol(transport)
> client = Cassandra.Client(protocol)
>
>
> Unless confronted with compelling arguments, Jonathan has agreed to
> commit this change on Monday, so speak soon or forever hold your
> peace. :)
>
> --
> Eric Evans
> eevans@rackspace.com
>
>