Details
-
Improvement
-
Status: Open
-
Major
-
Resolution: Unresolved
-
None
-
None
-
None
-
Introduced tombstone objects writing during rebalance to avoid possible OOM of deferred delete buffer
-
Release Notes Required
Description
Currently Ignite relies on deferred delete buffer in order to handle write-remove conflicts during rebalance. Given the limit size of the buffer, this approach is fundamentally flawed, especially in case when persistence is enabled.
I suggest to extend the logic of data storage to be able to store key tombstones - to keep version for deleted entries. The tombstones will be stored when rebalance is in progress and should be cleaned up when rebalance is completed.
Later this approach may be used to implement fast partition rebalance based on merkle trees (in this case, tombstones should be written on an incomplete baseline).
Attachments
Issue Links
- causes
-
IGNITE-12325 GridCacheMapEntry reservation mechanism is broken with enabled cache store
- Resolved
-
IGNITE-15121 WALRecordTest fails due to missing PARTITION_META_PAGE_DELTA_RECORD_V4 record
- Resolved
- is related to
-
IGNITE-10078 Node failure during concurrent partition updates may cause partition desync between primary and backup.
- Resolved
-
IGNITE-12298 Write tombstones on incomplete baseline to get rid of partition cleanup
- Open
-
IGNITE-12299 Store tombstone links into separate BPlus tree to avoid partition full-scan during tombstones remove
- Open
- links to