cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Dave Brosius (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CASSANDRA-5587) BulkLoader fails with NoSuchElementException
Date Fri, 31 May 2013 04:05:21 GMT

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

Dave Brosius commented on CASSANDRA-5587:
-----------------------------------------

works as advertised, altho just my nitpick perhaps but not a big fan of catching RuntimeExceptions,
i'd rather just prevent them, perhaps Descriptor.fromFilename could just use String.split
and early exit if the number of components wasn't found rather than going thru the morass
of using an old school StringTokenizer.
                
> 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é
>            Assignee: 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