[
https://issues.apache.org/jira/browse/IGNITE-10729?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Vyacheslav Koptilin resolved IGNITE-10729.
------------------------------------------
Resolution: Won't Fix
This is not actual anymore due to IGNITE-13871, IGNITE-15760
> MVCC TX: Improve VAC using visibility maps
> ------------------------------------------
>
> Key: IGNITE-10729
> URL: https://issues.apache.org/jira/browse/IGNITE-10729
> Project: Ignite
> Issue Type: Task
> Components: mvcc
> Reporter: Igor Seliverstov
> Priority: Major
> Labels: mvcc_performance
>
> Currently we have several issues:
> 1) vacuum doesn't have change set, this means it travers all data to find
> invisible entries; hanse it breaks read statistics and make all data set
> "hot" - we should travers data entries instead, and only those entries, which
> was updated (linked to newer versions), moreover, vacuum should travers only
> those data pages, which were updated after last successful vacuum (at least
> one entry on the data page was linked to a never one) - this can be easily
> done by just having a special bit at the data page, so - any update resets
> this bit, vacuum travers only data pages with zero value bit and sets it to 1
> after processing.
> 2) vacuum travers over partitions instead of data entries, so, there possible
> some races like: reader checks an entry; updater removes this entry from
> partition; vacuum doesn't see the entry and clean TxLog -> reader cannot
> check the entry state with TxLog and gets an exception. This race prevents an
> optimization when all entries, older than last successful vacuum version, are
> considered as COMMITTED (see previous suggestion)
> We need to implement a special structure like visibility maps in PG to reduce
> examined pages amount, iterate over updated data pages only and do not use
> cache data tree.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)