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

Igor Seliverstov updated IGNITE-10729:
--------------------------------------
    Summary: MVCC TX: Improve VAC  (was: MVCC TX: Improvements.)

> MVCC TX: Improve VAC
> --------------------
>
>                 Key: IGNITE-10729
>                 URL: https://issues.apache.org/jira/browse/IGNITE-10729
>             Project: Ignite
>          Issue Type: Improvement
>          Components: mvcc
>            Reporter: Igor Seliverstov
>            Priority: Major
>
> 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)
> 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)



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to