Description
I use a set type in table like sample, but if awkward cql statement failed, cqlsh is not worked like belows.
serkeyspace> CREATE TABLE images (
... name text PRIMARY KEY,
... owner text,
... date timestamp,
... tags set<text>
... );
cqlsh:userkeyspace> delete tags['cuddly'] from images where name = 'cat.jpg'; // not allowd cql statement
(hang)
^C
cqlsh:userkeyspace> select * from plays;
(hang)
^C
cqlsh:userkeyspace> describe table plays;
(hang)
^C
cqlsh:userkeyspace> quit
---------------------------------
cassandra log when hang is occured.
ERROR 16:59:57,653 Exception in thread Thread[Thrift:8,5,main]
java.lang.AssertionError
at org.apache.cassandra.cql3.Lists$Discarder.execute(Lists.java:414)
at org.apache.cassandra.cql3.statements.DeleteStatement.updateForKey(DeleteStatement.java:82)
at org.apache.cassandra.cql3.statements.ModificationStatement.getMutations(ModificationStatement.java:506)
at org.apache.cassandra.cql3.statements.ModificationStatement.executeWithoutCondition(ModificationStatement.java:377)
at org.apache.cassandra.cql3.statements.ModificationStatement.execute(ModificationStatement.java:363)
at org.apache.cassandra.cql3.QueryProcessor.processStatement(QueryProcessor.java:101)
at org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:117)
at org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:108)
at org.apache.cassandra.thrift.CassandraServer.execute_cql3_query(CassandraServer.java:1933)
at org.apache.cassandra.thrift.Cassandra$Processor$execute_cql3_query.getResult(Cassandra.java:4394)
at org.apache.cassandra.thrift.Cassandra$Processor$execute_cql3_query.getResult(Cassandra.java:4378)
at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:39)
at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:39)
at org.apache.cassandra.thrift.CustomTThreadPoolServer$WorkerProcess.run(CustomTThreadPoolServer.java:194)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)