Ivan Bessonov created IGNITE-26294:
--------------------------------------

             Summary: Implement segment file compaction
                 Key: IGNITE-26294
                 URL: https://issues.apache.org/jira/browse/IGNITE-26294
             Project: Ignite
          Issue Type: Improvement
            Reporter: Ivan Bessonov


Segment truncation is the process of copying the segment into a new segment 
files with the same number, but with an incremented generation. New generation 
of the file should not have any information about already truncated or reset 
data.

Only relevant log entries should be left there. The best case is when there are 
no such entries and an entire file must be deleted, then we don't need to 
increment the generation.

Compaction process should also generate an index file with incremented 
generation, and update all the in-memory metadata to reflect the generation 
increment. When everything's done, original segment and its index file must be 
deleted.

We're not integrating this mechanism yet, only implementing it and cover it 
with test.

There must be a lot of test, including a concurrent read from the segment that 
we're compacting/deleting.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to