[ https://issues.apache.org/jira/browse/CASSANDRA-4466?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Niel Drummond updated CASSANDRA-4466: ------------------------------------- Attachment: 4466-stack exception call stack > ColumnFamilyRecordReader hadoop integration fails with ghost keys > ----------------------------------------------------------------- > > Key: CASSANDRA-4466 > URL: https://issues.apache.org/jira/browse/CASSANDRA-4466 > Project: Cassandra > Issue Type: Bug > Components: Hadoop > Affects Versions: 1.1.2 > Reporter: Niel Drummond > Priority: Minor > Attachments: 4466-stack, 4466-v0.patch > > > When running hadoop-cassandra jobs with range queries over ghost keys, the > ColumnFamilyRecordReader throws an exception if the last key in a slice_range > query is a ghost key. > This seems to be related to changes made in #2855 ( > https://issues.apache.org/jira/browse/CASSANDRA-2855 ), to prevent ghost keys > appearing in a hadoop map. > The stack trace I get is: > java.lang.RuntimeException: java.util.NoSuchElementException > at > org.apache.cassandra.hadoop.ColumnFamilyRecordReader$StaticRowIterator.maybeInit(ColumnFamilyRecordReader.java:392) > ~[cassandra-all-1.1.2.jar:1.1.2] > at > org.apache.cassandra.hadoop.ColumnFamilyRecordReader$StaticRowIterator.computeNext(ColumnFamilyRecordReader.java:398) > ~[cassandra-all-1.1.2.jar:1.1.2] > at > org.apache.cassandra.hadoop.ColumnFamilyRecordReader$StaticRowIterator.computeNext(ColumnFamilyRecordReader.java:324) > ~[cassandra-all-1.1.2.jar:1.1.2] > at > com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:141) > ~[guava-r09.jar:na] > at > com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:136) > ~[guava-r09.jar:na] > at > org.apache.cassandra.hadoop.ColumnFamilyRecordReader.nextKeyValue(ColumnFamilyRecordReader.java:189) > ~[cassandra-all-1.1.2.jar:1.1.2] > at > org.apache.hadoop.mapred.MapTask$NewTrackingRecordReader.nextKeyValue(MapTask.java:532) > ~[hadoop-core-0.20.205.0.jar:na] > at > org.apache.hadoop.mapreduce.MapContext.nextKeyValue(MapContext.java:67) > ~[hadoop-core-0.20.205.0.jar:na] > at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:143) > ~[hadoop-core-0.20.205.0.jar:na] > at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:764) > ~[hadoop-core-0.20.205.0.jar:na] > at org.apache.hadoop.mapred.MapTask.run(MapTask.java:370) > ~[hadoop-core-0.20.205.0.jar:na] > at > org.apache.hadoop.mapred.LocalJobRunner$Job.run(LocalJobRunner.java:212) > ~[hadoop-core-0.20.205.0.jar:na] > Caused by: java.util.NoSuchElementException: null > at com.google.common.collect.Iterables.getLast(Iterables.java:713) > ~[guava-r09.jar:na] > at > org.apache.cassandra.hadoop.ColumnFamilyRecordReader$StaticRowIterator.maybeInit(ColumnFamilyRecordReader.java:342) > ~[cassandra-all-1.1.2.jar:1.1.2] > at > org.apache.cassandra.hadoop.ColumnFamilyRecordReader$StaticRowIterator.maybeInit(ColumnFamilyRecordReader.java:382) > ~[cassandra-all-1.1.2.jar:1.1.2] > ... 11 common frames omitted > I made a one-line change to ColumnFamilyRecordReader.java, which seems to > solve this issue for us. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira