[
https://issues.apache.org/jira/browse/CASSANDRA-5382?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13613700#comment-13613700
]
Sylvain Lebresne commented on CASSANDRA-5382:
---------------------------------------------
Have you identified which queries have triggered this exactly? Is it possible
some "SELECT count(*) ..." is involved?
> ConcurrentModificantionException on server when multiple CQL3 read requests
> received on single column family simultaneously.
> ----------------------------------------------------------------------------------------------------------------------------
>
> Key: CASSANDRA-5382
> URL: https://issues.apache.org/jira/browse/CASSANDRA-5382
> Project: Cassandra
> Issue Type: Bug
> Affects Versions: 1.2.3
> Environment: SLES, Sun JDK 1.6.0_43
> Reporter: Jason Reber
> Priority: Minor
>
> The exception below is thrown on the server when two reads are performed at
> the exact same time on the same column family. This causes the query to fail.
> The problem appears to be caused by the 'name' list in
> org.apache.cassandra.cql3.ResultSet$Metadata. The reference is passed in to
> the constructor and iterated without copying and without a synch block. When
> two of these ResultSet instances are created from the same metadata list at
> the same time, a ConcurrentModificationException is thrown.
> The error:
> ERROR [Thrift:860] 2013-03-25 09:27:39,467 CustomTThreadPoolServer.java (line
> 217) Error occurred during processing of message.
> java.util.ConcurrentModificationException
> at
> java.util.AbstractList$Itr.checkForComodification(AbstractList.java:372)
> at java.util.AbstractList$Itr.next(AbstractList.java:343)
> at
> org.apache.cassandra.cql3.ResultSet$Metadata.allInSameCF(ResultSet.java:237)
> at
> org.apache.cassandra.cql3.ResultSet$Metadata.<init>(ResultSet.java:219)
> at org.apache.cassandra.cql3.ResultSet.<init>(ResultSet.java:47)
> at
> org.apache.cassandra.cql3.statements.Selection$ResultSetBuilder.<init>(Selection.java:239)
> at
> org.apache.cassandra.cql3.statements.Selection$ResultSetBuilder.<init>(Selection.java:221)
> at
> org.apache.cassandra.cql3.statements.Selection.resultSetBuilder(Selection.java:211)
> at
> org.apache.cassandra.cql3.statements.SelectStatement.process(SelectStatement.java:655)
> at
> org.apache.cassandra.cql3.statements.SelectStatement.processResults(SelectStatement.java:147)
> at
> org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:136)
> at
> org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:62)
> at
> org.apache.cassandra.cql3.QueryProcessor.processStatement(QueryProcessor.java:132)
> at
> org.apache.cassandra.cql3.QueryProcessor.processPrepared(QueryProcessor.java:254)
> at
> org.apache.cassandra.thrift.CassandraServer.execute_prepared_cql3_query(CassandraServer.java:1851)
> at
> org.apache.cassandra.thrift.Cassandra$Processor$execute_prepared_cql3_query.getResult(Cassandra.java:4166)
> at
> org.apache.cassandra.thrift.Cassandra$Processor$execute_prepared_cql3_query.getResult(Cassandra.java:4154)
> at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:32)
> at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:34)
> at
> org.apache.cassandra.thrift.CustomTThreadPoolServer$WorkerProcess.run(CustomTThreadPoolServer.java:199)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
> at java.lang.Thread.run(Thread.java:662)
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira