Ariel Weisberg created CASSANDRA-10695:
------------------------------------------

             Summary: Thrift HSHA appears to not work in 2.1+ with high client 
thread counts in stress
                 Key: CASSANDRA-10695
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-10695
             Project: Cassandra
          Issue Type: Bug
            Reporter: Ariel Weisberg


In 2.2+ my stress runs make almost no progress. In 2.1 they make some progress 
but this assertion is still in the log. Things are generally pretty unstable. I 
was able to benchmark with the sync server at 500 threads without issue.

Where I ran into trouble was attempting to benchmark with 2000 threads. The 
sync server crapped out due to thread counts and I didn't bother trying to 
fiddle with it I switched to HSHA which worked at 500, but fails at 2000.

My test configuration is an OS X laptop running 2.2 stress (sometimes trunk, 
didn't seem to matter) and a quad core Linux desktop. I can reproduce this the 
other way around as well.

Stress command was
{code}
cassandra-stress write n=19000000 -rate threads=2000 -mode thrift -node 
192.168.1.3
{code}

I will attach the YAML. Error was
{code}
java.lang.RuntimeException: java.lang.AssertionError: Invoke called in invalid 
state: READY_TO_WRITE
        at 
com.lmax.disruptor.FatalExceptionHandler.handleEventException(FatalExceptionHandler.java:45)
 ~[disruptor-3.0.1.jar:na]
        at com.lmax.disruptor.WorkProcessor.run(WorkProcessor.java:126) 
~[disruptor-3.0.1.jar:na]
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
~[na:1.8.0_60]
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
~[na:1.8.0_60]
        at java.lang.Thread.run(Thread.java:745) ~[na:1.8.0_60]
Caused by: java.lang.AssertionError: Invoke called in invalid state: 
READY_TO_WRITE
        at com.thinkaurelius.thrift.Message.invoke(Message.java:306) 
~[thrift-server-0.3.7.jar:na]
        at com.thinkaurelius.thrift.Message$Invocation.execute(Message.java:90) 
~[thrift-server-0.3.7.jar:na]
        at 
com.thinkaurelius.thrift.TDisruptorServer$InvocationHandler.onEvent(TDisruptorServer.java:695)
 ~[thrift-server-0.3.7.jar:na]
        at 
com.thinkaurelius.thrift.TDisruptorServer$InvocationHandler.onEvent(TDisruptorServer.java:689)
 ~[thrift-server-0.3.7.jar:na]
        at com.lmax.disruptor.WorkProcessor.run(WorkProcessor.java:112) 
~[disruptor-3.0.1.jar:na]
        ... 3 common frames omitted
{code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to