You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Brandon Williams (JIRA)" <ji...@apache.org> on 2015/09/01 21:53:46 UTC

[jira] [Updated] (CASSANDRA-10240) sstableexpiredblockers can throw FileNotFound exceptions

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

Brandon Williams updated CASSANDRA-10240:
-----------------------------------------
    Description: 
{noformat}
Exception in thread "main" java.lang.RuntimeException: java.io.FileNotFoundException: /path/to/data/system/sstable_activity/system-sstable_activity-jb-85002-Data.db (No such file or directory)
at org.apache.cassandra.io.compress.CompressedRandomAccessReader.open(CompressedRandomAccessReader.java:47)
at org.apache.cassandra.io.util.CompressedPoolingSegmentedFile.createReader(CompressedPoolingSegmentedFile.java:48)
at org.apache.cassandra.io.util.PoolingSegmentedFile.getSegment(PoolingSegmentedFile.java:39)
at org.apache.cassandra.io.sstable.SSTableReader.getFileDataInput(SSTableReader.java:1242)
at org.apache.cassandra.db.columniterator.SimpleSliceReader.<init>(SimpleSliceReader.java:57)
at org.apache.cassandra.db.columniterator.SSTableSliceIterator.createReader(SSTableSliceIterator.java:65)
at org.apache.cassandra.db.columniterator.SSTableSliceIterator.<init>(SSTableSliceIterator.java:42)
at org.apache.cassandra.db.filter.SliceQueryFilter.getSSTableColumnIterator(SliceQueryFilter.java:173)
at org.apache.cassandra.db.filter.QueryFilter.getSSTableColumnIterator(QueryFilter.java:62)
at org.apache.cassandra.db.CollationController.collectAllData(CollationController.java:250)
at org.apache.cassandra.db.CollationController.getTopLevelColumns(CollationController.java:53)
at org.apache.cassandra.db.ColumnFamilyStore.getTopLevelColumns(ColumnFamilyStore.java:1599)
at org.apache.cassandra.db.ColumnFamilyStore.getColumnFamily(ColumnFamilyStore.java:1418)
at org.apache.cassandra.db.Keyspace.getRow(Keyspace.java:330)
at org.apache.cassandra.db.SliceFromReadCommand.getRow(SliceFromReadCommand.java:65)
at org.apache.cassandra.cql3.statements.SelectStatement.readLocally(SelectStatement.java:296)
at org.apache.cassandra.cql3.statements.SelectStatement.executeInternal(SelectStatement.java:315)
at org.apache.cassandra.cql3.statements.SelectStatement.executeInternal(SelectStatement.java:64)
at org.apache.cassandra.cql3.QueryProcessor.processInternal(QueryProcessor.java:208)
at org.apache.cassandra.db.SystemKeyspace.getSSTableReadMeter(SystemKeyspace.java:957)
at org.apache.cassandra.io.sstable.SSTableReader.<init>(SSTableReader.java:340)
at org.apache.cassandra.io.sstable.SSTableReader.open(SSTableReader.java:196)
at org.apache.cassandra.io.sstable.SSTableReader.open(SSTableReader.java:184)
at org.apache.cassandra.io.sstable.SSTableReader.open(SSTableReader.java:150)
at org.apache.cassandra.io.sstable.SSTableReader.open(SSTableReader.java:142)
at org.apache.cassandra.tools.SSTableExpiredBlockers.main(SSTableExpiredBlockers.java:77)
{noformat}

It appears this may be caused by sstable_activity getting compacted away while this is running.  I'm not sure if sstableexpiredblockers should just try again or what, but it should probably at least handle the exception.

  was:
{noformat}
Exception in thread "main" java.lang.RuntimeException: java.io.FileNotFoundException: /path/to/data/system/sstable_activity/system-sstable_activity-jb-85002-Data.db (No such file or directory)
at org.apache.cassandra.io.compress.CompressedRandomAccessReader.open(CompressedRandomAccessReader.java:47)
at org.apache.cassandra.io.util.CompressedPoolingSegmentedFile.createReader(CompressedPoolingSegmentedFile.java:48)
at org.apache.cassandra.io.util.PoolingSegmentedFile.getSegment(PoolingSegmentedFile.java:39)
at org.apache.cassandra.io.sstable.SSTableReader.getFileDataInput(SSTableReader.java:1242)
at org.apache.cassandra.db.columniterator.SimpleSliceReader.<init>(SimpleSliceReader.java:57)
at org.apache.cassandra.db.columniterator.SSTableSliceIterator.createReader(SSTableSliceIterator.java:65)
at org.apache.cassandra.db.columniterator.SSTableSliceIterator.<init>(SSTableSliceIterator.java:42)
at org.apache.cassandra.db.filter.SliceQueryFilter.getSSTableColumnIterator(SliceQueryFilter.java:173)
at org.apache.cassandra.db.filter.QueryFilter.getSSTableColumnIterator(QueryFilter.java:62)
at org.apache.cassandra.db.CollationController.collectAllData(CollationController.java:250)
at org.apache.cassandra.db.CollationController.getTopLevelColumns(CollationController.java:53)
at org.apache.cassandra.db.ColumnFamilyStore.getTopLevelColumns(ColumnFamilyStore.java:1599)
at org.apache.cassandra.db.ColumnFamilyStore.getColumnFamily(ColumnFamilyStore.java:1418)
at org.apache.cassandra.db.Keyspace.getRow(Keyspace.java:330)
at org.apache.cassandra.db.SliceFromReadCommand.getRow(SliceFromReadCommand.java:65)
at org.apache.cassandra.cql3.statements.SelectStatement.readLocally(SelectStatement.java:296)
at org.apache.cassandra.cql3.statements.SelectStatement.executeInternal(SelectStatement.java:315)
at org.apache.cassandra.cql3.statements.SelectStatement.executeInternal(SelectStatement.java:64)
at org.apache.cassandra.cql3.QueryProcessor.processInternal(QueryProcessor.java:208)
at org.apache.cassandra.db.SystemKeyspace.getSSTableReadMeter(SystemKeyspace.java:957)
at org.apache.cassandra.io.sstable.SSTableReader.<init>(SSTableReader.java:340)
at org.apache.cassandra.io.sstable.SSTableReader.open(SSTableReader.java:196)
at org.apache.cassandra.io.sstable.SSTableReader.open(SSTableReader.java:184)
at org.apache.cassandra.io.sstable.SSTableReader.open(SSTableReader.java:150)
at org.apache.cassandra.io.sstable.SSTableReader.open(SSTableReader.java:142)
at org.apache.cassandra.tools.SSTableExpiredBlockers.main(SSTableExpiredBlockers.java:77)
{noformat}

It appears this may because by sstable_activity getting compacted away while this is running.  I'm not sure if sstableexpiredblockers should just try again or what, but it should probably at least handle the exception.


> sstableexpiredblockers can throw FileNotFound exceptions
> --------------------------------------------------------
>
>                 Key: CASSANDRA-10240
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-10240
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>            Reporter: Brandon Williams
>            Assignee: Marcus Eriksson
>             Fix For: 2.1.x, 2.0.x, 2.2.x, 3.0.x
>
>
> {noformat}
> Exception in thread "main" java.lang.RuntimeException: java.io.FileNotFoundException: /path/to/data/system/sstable_activity/system-sstable_activity-jb-85002-Data.db (No such file or directory)
> at org.apache.cassandra.io.compress.CompressedRandomAccessReader.open(CompressedRandomAccessReader.java:47)
> at org.apache.cassandra.io.util.CompressedPoolingSegmentedFile.createReader(CompressedPoolingSegmentedFile.java:48)
> at org.apache.cassandra.io.util.PoolingSegmentedFile.getSegment(PoolingSegmentedFile.java:39)
> at org.apache.cassandra.io.sstable.SSTableReader.getFileDataInput(SSTableReader.java:1242)
> at org.apache.cassandra.db.columniterator.SimpleSliceReader.<init>(SimpleSliceReader.java:57)
> at org.apache.cassandra.db.columniterator.SSTableSliceIterator.createReader(SSTableSliceIterator.java:65)
> at org.apache.cassandra.db.columniterator.SSTableSliceIterator.<init>(SSTableSliceIterator.java:42)
> at org.apache.cassandra.db.filter.SliceQueryFilter.getSSTableColumnIterator(SliceQueryFilter.java:173)
> at org.apache.cassandra.db.filter.QueryFilter.getSSTableColumnIterator(QueryFilter.java:62)
> at org.apache.cassandra.db.CollationController.collectAllData(CollationController.java:250)
> at org.apache.cassandra.db.CollationController.getTopLevelColumns(CollationController.java:53)
> at org.apache.cassandra.db.ColumnFamilyStore.getTopLevelColumns(ColumnFamilyStore.java:1599)
> at org.apache.cassandra.db.ColumnFamilyStore.getColumnFamily(ColumnFamilyStore.java:1418)
> at org.apache.cassandra.db.Keyspace.getRow(Keyspace.java:330)
> at org.apache.cassandra.db.SliceFromReadCommand.getRow(SliceFromReadCommand.java:65)
> at org.apache.cassandra.cql3.statements.SelectStatement.readLocally(SelectStatement.java:296)
> at org.apache.cassandra.cql3.statements.SelectStatement.executeInternal(SelectStatement.java:315)
> at org.apache.cassandra.cql3.statements.SelectStatement.executeInternal(SelectStatement.java:64)
> at org.apache.cassandra.cql3.QueryProcessor.processInternal(QueryProcessor.java:208)
> at org.apache.cassandra.db.SystemKeyspace.getSSTableReadMeter(SystemKeyspace.java:957)
> at org.apache.cassandra.io.sstable.SSTableReader.<init>(SSTableReader.java:340)
> at org.apache.cassandra.io.sstable.SSTableReader.open(SSTableReader.java:196)
> at org.apache.cassandra.io.sstable.SSTableReader.open(SSTableReader.java:184)
> at org.apache.cassandra.io.sstable.SSTableReader.open(SSTableReader.java:150)
> at org.apache.cassandra.io.sstable.SSTableReader.open(SSTableReader.java:142)
> at org.apache.cassandra.tools.SSTableExpiredBlockers.main(SSTableExpiredBlockers.java:77)
> {noformat}
> It appears this may be caused by sstable_activity getting compacted away while this is running.  I'm not sure if sstableexpiredblockers should just try again or what, but it should probably at least handle the exception.



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