cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Julien Aymé (JIRA) <j...@apache.org>
Subject [jira] [Commented] (CASSANDRA-5587) BulkLoader fails with NoSuchElementException
Date Wed, 22 May 2013 06:59:21 GMT

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

Julien Aymé commented on CASSANDRA-5587:
----------------------------------------

Yes, this is also a valid solution, but there is one use case I could think of which would
fail with the same symptom: if a user deliberatly adds other files (like metainfo, ...) in
the directory (yes, this is a bad thing to do).

And nothing prevents us from doing both: immediatly ignore directories, and keep the second
safe guard catch NSEE.
                
> BulkLoader fails with NoSuchElementException
> --------------------------------------------
>
>                 Key: CASSANDRA-5587
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-5587
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Tools
>    Affects Versions: 1.2.4, 1.2.5
>            Reporter: Julien Aymé
>              Labels: patch
>         Attachments: cassandra-1.2-5587.txt
>
>   Original Estimate: 4h
>  Remaining Estimate: 4h
>
> When using BulkLoader tool (sstableloader command) to transfer data from a cluster to
another, 
> a java.util.NoSuchElementException is thrown whenever the directory contains a "snapshot"
sub directory,
> and the bulk load fails.
> The fix should be quite simple:
> Catch any NoSuchElementException thrown in {{SSTableLoader#openSSTables()}}
> The directory structure:
> {noformat}
> user@cassandrasrv01:~$ ls /var/lib/cassandra/data/Keyspace1/CF1/
> Keyspace1-CF1-ib-1872-CompressionInfo.db
> Keyspace1-CF1-ib-1872-Data.db
> Keyspace1-CF1-ib-1872-Filter.db
> Keyspace1-CF1-ib-1872-Index.db
> Keyspace1-CF1-ib-1872-Statistics.db
> Keyspace1-CF1-ib-1872-Summary.db
> Keyspace1-CF1-ib-1872-TOC.txt
> Keyspace1-CF1-ib-2166-CompressionInfo.db
> Keyspace1-CF1-ib-2166-Data.db
> Keyspace1-CF1-ib-2166-Filter.db
> Keyspace1-CF1-ib-2166-Index.db
> Keyspace1-CF1-ib-2166-Statistics.db
> Keyspace1-CF1-ib-2166-Summary.db
> Keyspace1-CF1-ib-2166-TOC.txt
> Keyspace1-CF1-ib-5-CompressionInfo.db
> Keyspace1-CF1-ib-5-Data.db
> Keyspace1-CF1-ib-5-Filter.db
> Keyspace1-CF1-ib-5-Index.db
> Keyspace1-CF1-ib-5-Statistics.db
> Keyspace1-CF1-ib-5-Summary.db
> Keyspace1-CF1-ib-5-TOC.txt
> ...
> snapshots
> {noformat}
> The stacktrace: 
> {noformat}
> user@cassandrasrv01:~$ ./cassandra/bin/sstableloader -v --debug -d cassandrabck01 /var/lib/cassandra/data/Keyspace1/CF1/
> null
> java.util.NoSuchElementException
>         at java.util.StringTokenizer.nextToken(StringTokenizer.java:349)
>         at org.apache.cassandra.io.sstable.Descriptor.fromFilename(Descriptor.java:265)
>         at org.apache.cassandra.io.sstable.Component.fromFilename(Component.java:122)
>         at org.apache.cassandra.io.sstable.SSTable.tryComponentFromFilename(SSTable.java:194)
>         at org.apache.cassandra.io.sstable.SSTableLoader$1.accept(SSTableLoader.java:71)
>         at java.io.File.list(File.java:1087)
>         at org.apache.cassandra.io.sstable.SSTableLoader.openSSTables(SSTableLoader.java:67)
>         at org.apache.cassandra.io.sstable.SSTableLoader.stream(SSTableLoader.java:119)
>         at org.apache.cassandra.tools.BulkLoader.main(BulkLoader.java:67)
> {noformat}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message