[ 
https://issues.apache.org/jira/browse/CASSANDRA-395?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12748627#action_12748627
 ] 

Sandeep Tata commented on CASSANDRA-395:
----------------------------------------

Ah this is a fun bug -- looks like this happens if the following sequence 
occurs:

1. Call to flush memtable
2. Compaction submitted (from storeLocation after flushing memtable) but not 
yet completed.
3. CFS.doAntiCompaction reads keys from ssTables_
4. Compaction completes
5. SSTableReader.getApproximateKeyCount(files) now points to files that don't 
exist!

We have to prevent compaction from messing up the list of files that 
anticompaction needs to work on to build the new file.
I didn't expect this would happen in a short Junit test. Need to see why 
compaction is getting triggered.


> BootstrapTest occasionally fails
> --------------------------------
>
>                 Key: CASSANDRA-395
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-395
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>            Reporter: Jonathan Ellis
>            Assignee: Sandeep Tata
>             Fix For: 0.4
>
>
> sample failure:
>     [junit] Testcase: 
> testAntiCompaction1(org.apache.cassandra.db.BootstrapTest):       Caused an 
> ERROR
>     [junit] 
> /home/jonathan/projects/cassandra/git-trunk/build/test/cassandra/data/Keyspace1/Standard1-2-Data.db
>  (No such file or directory)                                                  
>                                              
>     [junit] java.io.FileNotFoundException: 
> /home/jonathan/projects/cassandra/git-trunk/build/test/cassandra/data/Keyspace1/Standard1-2-Data.db
>  (No such file or directory)                                                  
>               
>     [junit]     at java.io.RandomAccessFile.open(Native Method)               
>                                        
>     [junit]     at java.io.RandomAccessFile.<init>(RandomAccessFile.java:212) 
>                                        
>     [junit]     at java.io.RandomAccessFile.<init>(RandomAccessFile.java:98)  
>                                        
>     [junit]     at 
> org.apache.cassandra.io.BufferedRandomAccessFile.<init>(BufferedRandomAccessFile.java:142)
>         
>     [junit]     at 
> org.apache.cassandra.io.FileStruct.<init>(FileStruct.java:49)                 
>                     
>     [junit]     at 
> org.apache.cassandra.io.SSTableReader.getFileStruct(SSTableReader.java:321)   
>                     
>     [junit]     at 
> org.apache.cassandra.db.ColumnFamilyStore.initializePriorityQueue(ColumnFamilyStore.java:655)
>      
>     [junit]     at 
> org.apache.cassandra.db.ColumnFamilyStore.doFileAntiCompaction(ColumnFamilyStore.java:911)
>         
>     [junit]     at 
> org.apache.cassandra.db.ColumnFamilyStore.doAntiCompaction(ColumnFamilyStore.java:814)
>             
>     [junit]     at 
> org.apache.cassandra.db.BootstrapTest.testAntiCompaction(BootstrapTest.java:63)
>                    
>     [junit]     at 
> org.apache.cassandra.db.BootstrapTest.testAntiCompaction1(BootstrapTest.java:72)
>                   
> I have seen someone else mention this on IRC too.  Most of the time, the test 
> passes.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to