[
https://issues.apache.org/jira/browse/CASSANDRA-5504?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13638268#comment-13638268
]
Ben Holloway commented on CASSANDRA-5504:
-----------------------------------------
relevant changes since 1.1.9
https://git-wip-us.apache.org/repos/asf?p=cassandra.git;a=blobdiff;f=src/java/org/apache/cassandra/hadoop/ColumnFamilyRecordReader.java;h=dfeacc39a6ba49d7eaf6336251875e5b55528bb0;hp=a40e6c56c1fd0b52c482832d04e73387db001699;hb=4feb87d37544b9fde722786555475f2f790059ca;hpb=73d828e4e8023b9f7ca8fafd12becec34eb59211
> Eternal iteration when using newer hadoop version due to next() call and
> empty key value
> ----------------------------------------------------------------------------------------
>
> Key: CASSANDRA-5504
> URL: https://issues.apache.org/jira/browse/CASSANDRA-5504
> Project: Cassandra
> Issue Type: Bug
> Components: Hadoop
> Affects Versions: 1.2.3
> Reporter: Oleksandr Petrov
> Priority: Critical
> Attachments: patch2.diff, patch.diff
>
>
> Currently, when using newer hadoop versions, due to the call to
> next(ByteBuffer key, SortedMap<ByteBuffer, IColumn> value)
> within ColumnFamilyRecordReader, because `key.clear();` is called, key is
> emptied. That causes the StaticRowIterator and WideRowIterator to glitch,
> namely, when Iterables.getLast(rows).key is called, key is already empty.
> This will cause Hadoop to request the same range again and again all the time.
> Please see the attached patch/diff, it simply adds lastRowKey (ByteBuffer)
> and saves it for the next iteration along with all the rows, this allows
> query for the next range to be fully correct.
> This patch is branched from 1.2.3 version.
> Tested against Cassandra 1.2.3, with Hadoop 1.0.3, 1.0.4 and 0.20.2
--
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