cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Anton Slutsky (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CASSANDRA-5209) For small datasets/single hadoop/single cassandra clusters, ColumnFamilyRecordReader throws InvalidRequestException(why:Start token sorts after end token)
Date Fri, 01 Feb 2013 02:19:12 GMT

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

Anton Slutsky commented on CASSANDRA-5209:
------------------------------------------

I can reproduce the issue by cloning the repo at git clone http://git-wip-us.apache.org/repos/asf/cassandra.git
, running "ant artifacts", copying the apache-cassandra-1.2.1-SNAPSHOT.jar from build/dist
to hadoop/lib and running my word counting job.  I verify that I am actually deploying the
right version, I make the code change outlined in the attached patch to the cloned code base,
rerun ant artifacts, replace the apache-cassandra-1.2.1-SNAPSHOT.jar in hadoop/lib with the
newly built one and then run my job again.  This time it works like a charm!
                
> For small datasets/single hadoop/single cassandra clusters, ColumnFamilyRecordReader
throws InvalidRequestException(why:Start token sorts after end token)
> ----------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-5209
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-5209
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Hadoop
>    Affects Versions: 1.2.1
>         Environment: Ubuntu 12.04
>            Reporter: Anton Slutsky
>             Fix For: 1.2.2
>
>
> When running the word count example, the following exception is thrown in most cases,
but not all the time.  I have debugged through and it appears that the reason is that Partitioner
implementations can get into a strange state producing splits with ranges with left value
being less than minValue.  This confuses org.apache.cassandra.dht.Range.unwrap() which returns
bogus ranges that start later than they finish.
> java.lang.RuntimeException: InvalidRequestException(why:Start token sorts after end token)
> 	at org.apache.cassandra.hadoop.ColumnFamilyRecordReader$WideRowIterator.maybeInit(ColumnFamilyRecordReader.java:475)
> 	at org.apache.cassandra.hadoop.ColumnFamilyRecordReader$WideRowIterator.computeNext(ColumnFamilyRecordReader.java:481)
> 	at org.apache.cassandra.hadoop.ColumnFamilyRecordReader$WideRowIterator.computeNext(ColumnFamilyRecordReader.java:428)
> 	at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143)
> 	at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138)
> 	at org.apache.cassandra.hadoop.ColumnFamilyRecordReader.nextKeyValue(ColumnFamilyRecordReader.java:199)
> 	at org.apache.hadoop.mapred.MapTask$NewTrackingRecordReader.nextKeyValue(MapTask.java:532)
> 	at org.apache.hadoop.mapreduce.MapContext.nextKeyValue(MapContext.java:67)
> 	at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:143)
> 	at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:764)
> 	at org.apache.hadoop.mapred.MapTask.run(MapTask.java:370)
> 	at org.apache.hadoop.mapred.LocalJobRunner$Job.run(LocalJobRunner.java:212)
> Caused by: InvalidRequestException(why:Start token sorts after end token)
> 	at org.apache.cassandra.thrift.Cassandra$get_paged_slice_result.read(Cassandra.java:14168)
> 	at org.apache.thrift.TServiceClient.receiveBase(TServiceClient.java:78)
> 	at org.apache.cassandra.thrift.Cassandra$Client.recv_get_paged_slice(Cassandra.java:769)
> 	at org.apache.cassandra.thrift.Cassandra$Client.get_paged_slice(Cassandra.java:753)
> 	at org.apache.cassandra.hadoop.ColumnFamilyRecordReader$WideRowIterator.maybeInit(ColumnFamilyRecordReader.java:460)
> 	... 11 more

--
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