ignite-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Vladimir Ozerov (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (IGNITE-10729) MVCC TX: Improve VAC using visibility maps
Date Mon, 11 Mar 2019 07:31:00 GMT

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

Vladimir Ozerov updated IGNITE-10729:
    Labels: mvcc_performance  (was: )

> MVCC TX: Improve VAC using visibility maps
> ------------------------------------------
>                 Key: IGNITE-10729
>                 URL: https://issues.apache.org/jira/browse/IGNITE-10729
>             Project: Ignite
>          Issue Type: Improvement
>          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

View raw message