I am doing some fixes for cassandra-stress and I stumbled upon this

https://issues.apache.org/jira/browse/CASSANDRA-18529

There is

Usage: -mode native [unprepared] cql3 [compression=?] [port=?] [user=?] 
[password=?] [auth-provider=?] [maxPending=?] [connectionsPerHost=?] 
[protocolVersion=?]
 OR 
Usage: -mode simplenative [prepared] cql3 [port=?]

"-mode simplenative prepared cql3" throws: (it works without "prepared").

java.lang.ClassCastException: [B cannot be cast to 
org.apache.cassandra.transport.messages.ResultMessage$Prepared
java.io.IOException: Operation x10 on key(s) [373038504b3436363830]: Error 
executing: (ClassCastException): [B cannot be cast to 
org.apache.cassandra.transport.messages.ResultMessage$Prepared

        at org.apache.cassandra.stress.Operation.error(Operation.java:127)
        at 
org.apache.cassandra.stress.Operation.timeWithRetry(Operation.java:105)
        at 
org.apache.cassandra.stress.operations.predefined.CqlOperation.run(CqlOperation.java:91)
        at 
org.apache.cassandra.stress.operations.predefined.CqlOperation.run(CqlOperation.java:99)
        at 
org.apache.cassandra.stress.operations.predefined.CqlOperation.run(CqlOperation.java:242)
        at 
org.apache.cassandra.stress.StressAction$Consumer.run(StressAction.java:467)
java.io.IOException: Operation x10 on key(s) [4e334f364c4c4b373530]: Error 
executing: (ClassCastException): [B cannot be cast to 
org.apache.cassandra.transport.messages.ResultMessage$Prepared


I want to ask if this "simplenative" is still relevant and people are still 
using it. It seems to me that nobody is actually using this / I've never heard 
of anybody doing that but I may be wrong and people are using it all day and 
night ... 

simplenative uses SimpleClient which is used through the code base, e.g. in 
CQLTester so we are not going to get rid of that for sure.

If simplenative in stress is not relevant, that whole -mode is questionable, if 
we get rid of simplenative, we would end up having "-mode native cql3" and 
since there is nothing but "native" as there is no Thrift anymore, "native" is 
a constant which can go away. If we end up having "-mode cql3" as the only mode 
possible, whole -mode can go away and we can rename it to "-cql3".

Thoughts?

Reply via email to