[
https://issues.apache.org/jira/browse/CASSANDRA-5504?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Oleksandr Petrov updated CASSANDRA-5504:
----------------------------------------
Description:
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
> 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
> Reporter: Oleksandr Petrov
> Priority: Critical
>
> 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