[
https://issues.apache.org/jira/browse/IGNITE-27048?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Roman Puchkovskiy updated IGNITE-27048:
---------------------------------------
Description:
When doing a partition scan on index build, we scan rows from lower row IDs to
higher ones. We only stop when we reach the end of the partition.
If, in parallel with such a scan, new rows are inserted intensely, their row
IDs will mostly grow. If insertion speed is greater than scan speed, the scan
will never end.
We can avoid this by taking 'the highest row ID in the partition' before doing
the scan and stopping the scan when we reach this ID. We will not miss anything
useful during the scan because everything added higher than that row ID is
added when the index build is already started and hence those rows are already
added to the index during regular writes handling.
> Stop partition scan on index build early
> ----------------------------------------
>
> Key: IGNITE-27048
> URL: https://issues.apache.org/jira/browse/IGNITE-27048
> Project: Ignite
> Issue Type: Improvement
> Reporter: Roman Puchkovskiy
> Assignee: Roman Puchkovskiy
> Priority: Major
> Labels: ignite-3
>
> When doing a partition scan on index build, we scan rows from lower row IDs
> to higher ones. We only stop when we reach the end of the partition.
> If, in parallel with such a scan, new rows are inserted intensely, their row
> IDs will mostly grow. If insertion speed is greater than scan speed, the scan
> will never end.
> We can avoid this by taking 'the highest row ID in the partition' before
> doing the scan and stopping the scan when we reach this ID. We will not miss
> anything useful during the scan because everything added higher than that row
> ID is added when the index build is already started and hence those rows are
> already added to the index during regular writes handling.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)