Cassandra resets connection under heavy insert workload -
I have 8 nodes Kasndra cluster, cassandra 1.0.8.
I'm trying to insert a lot of small loop with Bac_matet (). After some time (~ 200K puts) server resets the connection with the following exceptions:
org.apache.thrift.transport.TTransportException: java.net.SocketException: org.apache. Reset connection on thrift. transport.TIOStreamTransport.write (TIOStreamTransport.java:147) on org.apache.cassandra.thrift.Cassandra $ Client.send_batch_mutate org.apache.thrift.transport.TFramedTransport.flush (TFramedTransport.java:157) (on Cassandra.java: org.scale7.cassandra.pelops.Mutator at $ 1.execute (Mutator.java:46) org.scale7.cassandra 998) on org.apache.cassandra.thrift.Cassandra $ Client.batch_mutate (Cassandra.java:986) . Pelops.mutator $ 1.execute (Mutator.java:42) org.scale7.cassandra.pelops.Operand.tryOperation (Operand.java:56) at org.scale7.cassandra.pelops.mutator.execute (Mutator.java:51 At) ... due to: reset the connection to java.net.SocketOutputStream.socketWrite (SocketOutputStream.java:96) on java.net.SocketOutputStream.write (SocketOutputStream.java:136) on org.apache: java.net. SocketException. thr Ift.transport.TIOStreamTransport.write (TIOStreamTransport.java:145) ... 25 more Otherwise, the cluster works fine. Server logs are cleaned
What could be the cause of this problem?
Thank you! I got the reason: batch mutation size was greater than the frame size of TFramedTransport There could be two possible solutions. : To either increase the "thrift_framed_transport_size_in_mb" configuration property to cassandra.yaml, or to use small batch sizes .
Comments
Post a Comment