[ https://issues.apache.org/jira/browse/CASSANDRA-5504?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jonathan Ellis updated CASSANDRA-5504: -------------------------------------- Summary: Eternal iteration when using older hadoop version due to next() call and empty key value (was: Eternal iteration when using newer hadoop version due to next() call and empty key value) > Eternal iteration when using older 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.0 > Reporter: Oleksandr Petrov > Assignee: Oleksandr Petrov > Priority: Minor > Fix For: 1.2.5 > > Attachments: 5504-v3.txt, 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