[jira] [Created] (IGNITE-9590) MVCC: Cleanup old rows in the vacuum thread.

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[jira] [Created] (IGNITE-9590) MVCC: Cleanup old rows in the vacuum thread.

Anton Vinogradov (Jira)
Roman Kondakov created IGNITE-9590:
--------------------------------------

             Summary: MVCC: Cleanup old rows in the vacuum thread.
                 Key: IGNITE-9590
                 URL: https://issues.apache.org/jira/browse/IGNITE-9590
             Project: Ignite
          Issue Type: Improvement
          Components: mvcc
            Reporter: Roman Kondakov


When updating writer thread should iterate over the set of the last versions in order to find an appropriate version for its MVCC snapshot. During this iteration it collects invisible to anybody versions (their xid_max version is less than cleanup). When all outdated versions found, writer thread cleanups these rows - removes it from indexes and from pagestore.

It would be more efficient if writer thread does not cleanup old rows by itself, but rather delegate it to vacuum workers: instead of cleaning just put it to cleanup queue. 

in case of significant backpressure during active updates, when cleanup workers can't keep up with removing outdated rows and cleanup queue is too big, writer threads can cleanup this rows by itself to prevent memory and performance problems.



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