Hi,
I have set up a 4 node cassandra cluster. I am using the Thrift C++ API
to write a simple C++ application with creates a 50% READ 50% WRITE
requests. Every time near about a thousand request mark, I am getting
the following exception and my connection is broken:
===========================
ERROR 17:30:27,647 Error occurred during processing of message.
java.nio.BufferOverflowException
at java.nio.charset.CoderResult.throwException(Unknown Source)
at java.lang.StringCoding$StringEncoder.encode(Unknown Source)
at java.lang.StringCoding.encode(Unknown Source)
at java.lang.String.getBytes(Unknown Source)
at
org.apache.thrift.protocol.TBinaryProtocol.writeString(TBinaryProtocol.java:185)
at
org.apache.thrift.protocol.TBinaryProtocol.writeMessageBegin(TBinaryProtocol.java:92)
at
org.apache.cassandra.thrift.Cassandra$Processor$insert.process(Cassandra.java:3302)
at
org.apache.cassandra.thrift.Cassandra$Processor.process(Cassandra.java:2889)
at
org.apache.cassandra.thrift.CustomTThreadPoolServer$WorkerProcess.run(CustomTThreadPoolServer.java:187)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown
Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown
Source)
at java.lang.Thread.run(Unknown Source)
==============================
Some info about the config I am using:
- It is a 4 node cluster with only 1 seed.
-The consistency level is also set to ONE.
-The max heap size and new heap size is set to 4G and 800M(I tried
without setting them as well)
-Java is run in the interpreted mode(-Xint)
-I'm using user mode linux
Any pointers to what I might be doing wrong will be very helpful.
Thanks in advance,
Aniket