Hello,

I'm experiencing big network latency when using TFramedTransport.

The latency is about 200 ms on every request when I'm connected to another computer. On localhost, all goes well.

I can now solve this issue by changing "thrift_framed_transport_size_in_mb" to 0 (so disable framed transport) and use TBufferedTransport (then all is ok). But I know that this is deprecated scenario...

This conversation deals with the same problem (but I cannot use the solution): http://www.mail-archive.com/user@cassandra.apache.org/msg01966.html

Cassandra version: 0.7 (build from trunk)
Thrift: recommended revision (959516)
Client: C# on Windows7
Server OS: Windows 2008
Cassandra Configuration (yaml): default ("data_file_directories", "commitlog_directory" and "rpc_address" changed only)


Super-simple C# example:

var sw = Stopwatch.StartNew();
var coreTransport = new Thrift.Transport.TSocket("some.server", 9160);
var transport = new Thrift.Transport.TFramedTransport(coreTransport);
var protocol = new Thrift.Protocol.TBinaryProtocol(transport);
var client = new Apache.Cassandra.Cassandra.Client(protocol);
transport.Open();
sw.Stop();
Console.WriteLine("Connection: {0} ms", sw.ElapsedMilliseconds);

sw = Stopwatch.StartNew();
var v = client.describe_cluster_name();
sw.Stop();
Console.WriteLine("Time: {0} ms", sw.ElapsedMilliseconds);
Console.WriteLine("Value: {0}", v);
Console.Read();

Maybe I'm using Thrift in bad way.

Thank you.

Augi