[
https://issues.apache.org/jira/browse/IGNITE-26998?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Vladimir Pligin reassigned IGNITE-26998:
----------------------------------------
Assignee: Kirill Tkalenko
> Warmup gc entries before `runConsistently`
> ------------------------------------------
>
> Key: IGNITE-26998
> URL: https://issues.apache.org/jira/browse/IGNITE-26998
> Project: Ignite
> Issue Type: Improvement
> Components: storage engines ai3
> Reporter: Ivan Bessonov
> Assignee: Kirill Tkalenko
> Priority: Major
> Labels: ignite-3
>
> What we do currently:
> * Start "runConsistently" execution
> * Peek the GC queue
> * Lock the RowId
> * Vacuum the row
> * Repeat from step 2
> The "vacuum" operation, in {{aipersist}} in particular, requires reading the
> whole value from the storage, which is potentially expensive. What we can do
> instead is
> * "peek" N entries before executing the closure
> * Make sure that engine "preloads" the data if that's necessary for the
> engine
> * Only then start the closure, speculatively expecting that it won't lead to
> as much IO while "holding the lock"
--
This message was sent by Atlassian Jira
(v8.20.10#820010)