[ 
https://issues.apache.org/jira/browse/CASSANDRA-18165?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Mike Adamson updated CASSANDRA-18165:
-------------------------------------
    Labels: SAI  (was: )

> Investigate removing PriorityQueue usage from KeyRangeConcatIterator
> --------------------------------------------------------------------
>
>                 Key: CASSANDRA-18165
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-18165
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Feature/SAI
>            Reporter: Mike Adamson
>            Priority: Normal
>              Labels: SAI
>
> It has been identified during the review of CASSANDRA-18058 that the 
> KeyRangeConcatIterator could potentially stop using a PriorityQueue to 
> maintain it's active list of sorted KeyRangeIterators.
> The code suggested by [~maedhroz] is as follows:
> {code:java}
> private int i = 0;
> ...
> protected void performSkipTo(PrimaryKey primaryKey)
> {
>     while (i < toRelease.size())
>     {
>         RangeIterator currentIterator = toRelease.get(i);
>         if (currentIterator.getCurrent().compareTo(primaryKey) >= 0)
>             break;
>         if (currentIterator.getMaximum().compareTo(primaryKey) >= 0)
>         {
>             currentIterator.skipTo(primaryKey);
>             break;
>         }
>         i++;
>     }
> }
> ...
> protected PrimaryKey computeNext()
> {
>     while (i < toRelease.size())
>     {
>         RangeIterator currentIterator = toRelease.get(i);
>         
>         if (currentIterator.hasNext())
>             return currentIterator.next();
>         
>         i++;
>     }
>     return endOfData();
> }
> {code}
> It was decided that this change would need performance and correctness 
> testing in it's own right would not be included in the original SAI CEP 
> ticket.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org

Reply via email to