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

Ivan Bessonov updated IGNITE-21987:
-----------------------------------
    Description: 
This issue applies to aimem/aipersist primarily. Optimization for rocksdb might 
be done separately.
 * add new method to SortedIndexStorage, like "readOnlyScan", that returns a 
simple cursor
 * in the implementation we should use alternative cursor implementation for RO 
scans - it should delegate calls to B+Tree cursor
 * reuse existing tests where possible
 * call new method where necessary (PartitionReplicaListener#scanSortedIndex)

IMPORTANT: we should throw an exception if somebody scans an index and 
IndexStorage#getNextRowIdToBuild is not null. It should be a new error, like 
"IndexNotBuiltException"

  was:
This issue applies to aimem/aipersist primarily. Optimization for rocksdb might 
be done separately.
 * add new method to SortedIndexStorage, like "readOnlyScan", that returns a 
simple cursor
 * in the implementation we should use alternative cursor implementation for RO 
scans - it should delegate calls to B+Tree cursor
 * reuse existing tests where possible
 * call new method where necessary (PartitionReplicaListener#scanSortedIndex)

IMPORTANT: we should throw an exception if somebody scans an index and 
IndexStorage#getNextRowIdToBuild is not null.


> Optimize RO scan in sorted indexes
> ----------------------------------
>
>                 Key: IGNITE-21987
>                 URL: https://issues.apache.org/jira/browse/IGNITE-21987
>             Project: Ignite
>          Issue Type: Improvement
>            Reporter: Ivan Bessonov
>            Priority: Major
>              Labels: ignite-3
>
> This issue applies to aimem/aipersist primarily. Optimization for rocksdb 
> might be done separately.
>  * add new method to SortedIndexStorage, like "readOnlyScan", that returns a 
> simple cursor
>  * in the implementation we should use alternative cursor implementation for 
> RO scans - it should delegate calls to B+Tree cursor
>  * reuse existing tests where possible
>  * call new method where necessary (PartitionReplicaListener#scanSortedIndex)
> IMPORTANT: we should throw an exception if somebody scans an index and 
> IndexStorage#getNextRowIdToBuild is not null. It should be a new error, like 
> "IndexNotBuiltException"



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

Reply via email to