[ https://issues.apache.org/jira/browse/IGNITE-20754?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Ivan Bessonov updated IGNITE-20754: ----------------------------------- Epic Link: IGNITE-23240 > Fix log prefix truncation in logit storage > ------------------------------------------ > > Key: IGNITE-20754 > URL: https://issues.apache.org/jira/browse/IGNITE-20754 > Project: Ignite > Issue Type: Improvement > Reporter: Ivan Bessonov > Priority: Major > Labels: ignite-3 > > {code:java} > Utils.runInThread(executor, () -> { > this.indexDB.truncatePrefix(firstIndexKept); > this.segmentLogDB.truncatePrefix(firstIndexKept); > this.confDB.truncatePrefix(firstIndexKept); > }); {code} > Currently, this code doesn't work if we truncate log after loading raft > snapshot from the leader. The problem is in the gap in index file, that > prevents new log entries to be written. > Possible solution - differentiate between "safe" log truncation and "unsafe". > Here I mean that if index N is present in the log, then we can truncate log > to it. > Otherwise, truncation is equivalent to entire log invalidation, and it should > be performed differently. Either synchronously, or somehow guaranteeing that > same files won't be used for writes. -- This message was sent by Atlassian Jira (v8.20.10#820010)