I was seeing this error ("Cannot read remote side has closed") while trying to get Thrift API to work with Cassandra using Csharp. For the life of me I couldn't figure out what was wrong as even though the error is saying something like "Hey I think your Thrift server is down". That was not the case because I was connecting to My Cassandra server using other client libraries that was using Thrift under the hood. Eventually I figured out the error, the offending line was transport.Open(); When I replaced it with cassandraClient.InputProtocol.Transport.Open(); The error went away.
Here is the full snippet,
Here is the full snippet,
TSocket socket = null; TTransport transport = null; socket = new TSocket("localhost", 9160); transport = new TFramedTransport(socket); TProtocol protocol = new TBinaryProtocol(transport); CassandraClient cassandraClient = new CassandraClient(protocol); cassandraClient.InputProtocol.Transport.Open(); string s = cassandraClient.describe_cluster_name(); List<ksdef> keyspaces = cassandraClient.describe_keyspaces();Hope this will help another poor soul.