Any request after a TApplicationException hangs -----------------------------------------------
Key: CASSANDRA-1331 URL: https://issues.apache.org/jira/browse/CASSANDRA-1331 Project: Cassandra Issue Type: Bug Components: Core Affects Versions: 0.6.3 Reporter: Apache Observed that the design of request validation can return without consuming the complete request. The remnant is then read by the next request and produces a large read size. readMessageBegin size: 134218752 Sample test case in python: from cassandra.ttypes import * from cassandra import Cassandra from thrift import Thrift from thrift.transport import TTransport from thrift.transport import TSocket from thrift.protocol.TBinaryProtocol import TBinaryProtocolAccelerated socket = TSocket.TSocket("127.0.0.1", 9160) transport = TTransport.TBufferedTransport(socket) protocol = TBinaryProtocolAccelerated(transport) client = Cassandra.Client(protocol) transport.open() client.transport = transport # don't specify a column_family to force a TApplicationException parent = ColumnParent() try: client.get_count("ignore_keyspace", "ignore_key", parent, 1) print "ERROR: we didn't see the problem" except TApplicationException as e: message = "Required field 'column_family' was not present!" if e.message.startswith(message): print "OK, we got the error we were looking for." print "The server input buffer was only partially read," print " up to the validation error, so our next request" print " will start reading the stale data causing a hang." print "hanging..." client.get_count("ignore_keyspace", "ignore_key", parent, 1) client.transport.close() -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.