[ 
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

Reply via email to