cassandra-bulkload-example icon indicating copy to clipboard operation
cassandra-bulkload-example copied to clipboard

Not able to load the sstables using sstable loader in cassandra3

Open ktania opened this issue 9 years ago • 3 comments

Hi, I am able to run this example in cassandra 2.1.0, but when I am trying to run this example in cassandra3.2.1 it gives me the below exception. Please help me understand how does the gradelw script generated the sstables and what modification is required to run it in cassandra3.

taniya@xyz:~/Documents/Project/Cassandra/cassandra-bulkload-example-master$ /home/taniya/apache-cassandra-3.2.1/bin/sstableloader -d localhost data/quote/historical_prices Established connection to initial hosts Opening sstables and calculating sections to stream Failed to list files in data/quote/historical_prices java.lang.NullPointerException java.lang.RuntimeException: Failed to list files in data/quote/historical_prices 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$200(SSTableLoader.java:121) at org.apache.cassandra.io.sstable.SSTableLoader$$Lambda$18/14696868.apply(Unknown Source) at org.apache.cassandra.db.lifecycle.LogAwareFileLister.lambda$innerList$189(LogAwareFileLister.java:75) at org.apache.cassandra.db.lifecycle.LogAwareFileLister$$Lambda$29/5705197.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)

ktania avatar Feb 22 '16 12:02 ktania

Any Idea there, coz i have exact same problem....

ByJoe avatar Apr 01 '16 15:04 ByJoe

This example generates SSTable using cassandra-2.1.x, and if you use sstableloader from cassandra-3.0.x and above, it fails because streaming pre-3.0 SSTable in cassandra-3.0.x sstableloader is not supported, until v3.0.5 and v3.5 that include fix of CASSANDRA-10990. Those version is scheduled tol be released next week.

yukim avatar Apr 01 '16 20:04 yukim

I use cassandra 3.0.8 and with cassandra-driver-core 3.0.7 and cassandra-all 3.10 but get the errors

java.lang.RuntimeException: Failed to list files in ...
  at org.apache.cassandra.db.lifecycle.LogAwareFileLister.list(LogAwareFileLister.java:77)
  at org.apache.cassandra.db.lifecycle.LifecycleTransaction.getFiles(LifecycleTransaction.java:561)
  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.io.sstable.SSTableLoader.stream(SSTableLoader.java:154)
  ... 42 elided

Caused by: java.lang.IndexOutOfBoundsException: index (4) must be less than size (4)
  at com.google.common.base.Preconditions.checkElementIndex(Preconditions.java:310)
  at com.google.common.base.Preconditions.checkElementIndex(Preconditions.java:293)
  at com.google.common.collect.RegularImmutableList.get(RegularImmutableList.java:67)
  at org.apache.cassandra.db.ClusteringPrefix$Serializer.deserializeValuesWithoutSize(ClusteringPrefix.java:359)
  at org.apache.cassandra.db.ClusteringBoundOrBoundary$Serializer.deserializeValues(ClusteringBoundOrBoundary.java:179)
  at org.apache.cassandra.db.ClusteringPrefix$Serializer.deserialize(ClusteringPrefix.java:287)
  at org.apache.cassandra.db.Serializers$NewFormatSerializer.deserialize(Serializers.java:175)
  at org.apache.cassandra.db.Serializers$NewFormatSerializer.deserialize(Serializers.java:151)
  at org.apache.cassandra.io.sstable.IndexInfo$Serializer.deserialize(IndexInfo.java:134)
  at org.apache.cassandra.db.RowIndexEntry$IndexedEntry.<init>(RowIndexEntry.java:623)
  at org.apache.cassandra.db.RowIndexEntry$IndexedEntry.<init>(RowIndexEntry.java:577)
  at org.apache.cassandra.db.RowIndexEntry$Serializer.deserialize(RowIndexEntry.java:340)
  at org.apache.cassandra.io.sstable.format.big.BigTableReader.getPosition(BigTableReader.java:238)
  at org.apache.cassandra.io.sstable.format.SSTableReader.getPosition(SSTableReader.java:1531)
  at org.apache.cassandra.io.sstable.format.SSTableReader.getPositionsForRanges(SSTableReader.java:1465)
  at org.apache.cassandra.io.sstable.SSTableLoader.lambda$openSSTables$0(SSTableLoader.java:131)
  at org.apache.cassandra.db.lifecycle.LogAwareFileLister.lambda$innerList$2(LogAwareFileLister.java:99)
  at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:174)
  at java.util.TreeMap$EntrySpliterator.forEachRemaining(TreeMap.java:2969)
  at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
  at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
  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:101)
  at org.apache.cassandra.db.lifecycle.LogAwareFileLister.list(LogAwareFileLister.java:73)
  ... 48 more

Any idea how I can get it to work?

malterb avatar Mar 16 '17 20:03 malterb