You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Joshua McKenzie (JIRA)" <ji...@apache.org> on 2015/05/29 19:45:17 UTC

[jira] [Commented] (CASSANDRA-9511) ColumnFamilyStoreTest.testSliceByNamesCommandOldMetadata fails on trunk

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

Joshua McKenzie commented on CASSANDRA-9511:
--------------------------------------------

Duplicate of CASSANDRA-9501. I think the nodetool refresh vs. MemtableWriter case is prevented by [this code|https://github.com/apache/cassandra/blob/cassandra-2.2/src/java/org/apache/cassandra/db/ColumnFamilyStore.java#L730].

The problem on the unit test was a race between the clearUnsafe() calls and the subsequent loadNewSSTables which shouldn't be a problem in production as clearUnsafe isn't used outside of tests.

> ColumnFamilyStoreTest.testSliceByNamesCommandOldMetadata fails on trunk
> -----------------------------------------------------------------------
>
>                 Key: CASSANDRA-9511
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-9511
>             Project: Cassandra
>          Issue Type: Test
>            Reporter: Ariel Weisberg
>            Assignee: Ariel Weisberg
>
> See http://cassci.datastax.com/view/trunk/job/trunk_testall/121/testReport/org.apache.cassandra.db/ColumnFamilyStoreTest/testSliceByNamesCommandOldMetadata/
> {noformat}
> junit.framework.AssertionFailedError
> 	at org.apache.cassandra.io.util.FileUtils.renameWithConfirm(FileUtils.java:171)
> 	at org.apache.cassandra.io.util.FileUtils.renameWithConfirm(FileUtils.java:166)
> 	at org.apache.cassandra.io.sstable.format.SSTableWriter.rename(SSTableWriter.java:266)
> 	at org.apache.cassandra.db.ColumnFamilyStore.loadNewSSTables(ColumnFamilyStore.java:766)
> 	at org.apache.cassandra.db.ColumnFamilyStoreTest.testSliceByNamesCommandOldMetadata(ColumnFamilyStoreTest.java:1125)
> {noformat}
> I changed the logging a bit to track down the failed rename
> {noformat}
> DEBUG [MemtableFlushWriter:1] 2015-05-29 11:50:13,600 Renaming build/test/cassandra/data:0/system/compactions_in_progress-55080ab05d9c388690a4acb25fe1f77b/tmp-la-4-big-TOC.txt to build      /test/cassandra/data:0/system/compactions_in_progress-55080ab05d9c388690a4acb25fe1f77b/la-4-big-TOC.txt
> DEBUG [main] 2015-05-29 11:50:13,612 Failed renaming build/test/cassandra/data:0/ColumnFamilyStoreTest1/Standard1-62503c50061a11e5a1d32fd3bb27a264/la-4-big-TOC.txt to build/test/cassan      dra/data:0/ColumnFamilyStoreTest1/Standard1-62503c50061a11e5a1d32fd3bb27a264/la-11-big-TOC.txt
> {noformat}
> Looks like MemtaleFlushWriter is racing with the unit test thread to rename the file. This may be an actual bug since a similar race could occur when nodetool invokes CFS.loadNewSSTables.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)