cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Aleksey Yeschenko (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CASSANDRA-10940) sstableloader shuold skip streaming SSTable generated in < 3.0.0
Date Fri, 08 Jan 2016 16:24:39 GMT

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

Aleksey Yeschenko commented on CASSANDRA-10940:
-----------------------------------------------

Is skipping them strictly correct? You'd miss data that's in the older ones this way.

I feel like we should error out - but not with an NPE. Do the check beforehand, and error
out if some of the data to be streamed lives in an older sstable.

The error message should also mention the way to fix it: by running upgradesstables.

> sstableloader shuold skip streaming SSTable generated in < 3.0.0
> ----------------------------------------------------------------
>
>                 Key: CASSANDRA-10940
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-10940
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Streaming and Messaging, Tools
>            Reporter: Yuki Morishita
>            Assignee: Yuki Morishita
>            Priority: Minor
>             Fix For: 3.0.x, 3.x
>
>
> Since 3.0.0, [streaming does not support SSTable from version less than 3.0.0|https://github.com/apache/cassandra/blob/0f5e780781ce3f0cb3732515dacc7e467571a7c9/src/java/org/apache/cassandra/io/sstable/SSTableSimpleIterator.java#L116].
> {{sstableloader}} should skip those files to be streamed, instead of erroring out like
below:
> {code}
> Failed to list files in /home/yuki/.ccm/2.1.11/node1/data/keyspace1/standard1-5242ae50a9b311e585b29dc952593398
> java.lang.NullPointerException
> java.lang.RuntimeException: Failed to list files in /home/yuki/.ccm/2.1.11/node1/data/keyspace1/standard1-5242ae50a9b311e585b29dc952593398
>         at org.apache.cassandra.db.lifecycle.LogAwareFileLister.list(LogAwareFileLister.java:53)
>         at org.apache.cassandra.db.lifecycle.LifecycleTransaction.getFiles(LifecycleTransaction.java:544)
>         at org.apache.cassandra.io.sstable.SSTableLoader.openSSTables(SSTableLoader.java:76)
>         at org.apache.cassandra.io.sstable.SSTableLoader.stream(SSTableLoader.java:165)
>         at org.apache.cassandra.tools.BulkLoader.main(BulkLoader.java:101)
> Caused by: java.lang.NullPointerException
>         at org.apache.cassandra.io.sstable.format.SSTableReader.openForBatch(SSTableReader.java:421)
>         at org.apache.cassandra.io.sstable.SSTableLoader.lambda$openSSTables$186(SSTableLoader.java:121)
>         at org.apache.cassandra.io.sstable.SSTableLoader$$Lambda$18/712974096.apply(Unknown
Source)
>         at org.apache.cassandra.db.lifecycle.LogAwareFileLister.lambda$innerList$178(LogAwareFileLister.java:75)
>         at org.apache.cassandra.db.lifecycle.LogAwareFileLister$$Lambda$29/1191654595.test(Unknown
Source)
>         at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:174)
>         at java.util.TreeMap$EntrySpliterator.forEachRemaining(TreeMap.java:2965)
>         at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:512)
>         at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:502)
>         at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
>         at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
>         at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499)
>         at org.apache.cassandra.db.lifecycle.LogAwareFileLister.innerList(LogAwareFileLister.java:77)
>         at org.apache.cassandra.db.lifecycle.LogAwareFileLister.list(LogAwareFileLister.java:49)
>         ... 4 more
> {code}



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

Mime
View raw message