[ https://issues.apache.org/jira/browse/CASSANDRA-3085?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13093215#comment-13093215 ]
Hudson commented on CASSANDRA-3085: ----------------------------------- Integrated in Cassandra #1055 (See [https://builds.apache.org/job/Cassandra/1055/]) fix race condition in sstable reference counting patch by jbellis; reviewed by slebresne for CASSANDRA-3085 jbellis : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1162988 Files : * /cassandra/trunk/CHANGES.txt * /cassandra/trunk/src/java/org/apache/cassandra/db/CollationController.java * /cassandra/trunk/src/java/org/apache/cassandra/db/ColumnFamilyStore.java * /cassandra/trunk/src/java/org/apache/cassandra/db/RowIteratorFactory.java > Race condition in sstable reference counting > -------------------------------------------- > > Key: CASSANDRA-3085 > URL: https://issues.apache.org/jira/browse/CASSANDRA-3085 > Project: Cassandra > Issue Type: Bug > Components: Core > Affects Versions: 1.0 > Reporter: Jonathan Ellis > Assignee: Jonathan Ellis > Priority: Critical > Fix For: 1.0 > > Attachments: 3085-v2.txt, 3085.txt > > > DataTracker gives us an atomic View of memtable/sstables, but acquiring > references is not atomic. So it is possible to acquire references to an > SSTableReader object that is no longer valid, as in this example: > View V contains sstables {A, B}. We attempt a read in thread T using this > View. > Meanwhile, A and B are compacted to {C}, yielding View W. No references > exist to A or B so they are cleaned up. > Back in thread T we acquire references to A and B. This does not cause an > error, but it will when we attempt to read from them next. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira