[ 
https://issues.apache.org/jira/browse/CASSANDRA-5382?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jason Reber updated CASSANDRA-5382:
-----------------------------------

    Summary: ConcurrentModificantionException on server when multiple CQL3 read 
requests received on single column family simultaneously.  (was: 
ConcurrentModificantionException on server when multiple read CQL3 read 
requests recieved on single column family simultaneously.)
    
> 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

Reply via email to