Nikolay Izhikov created IGNITE-14516:
----------------------------------------
Summary: WAL can continue to log into archived segment if auto rollover enabled
Key: IGNITE-14516
URL:
https://issues.apache.org/jira/browse/IGNITE-14516 Project: Ignite
Issue Type: Improvement
Reporter: Nikolay Izhikov
Currently, there is a possibility that WAL will continue to log into an archived segment after node restart.
Bug scenario:
# {{WalAutoArchiveAfterInactivity}} enabled.
# Node is stopping with the {{G.stop("ign", false")}}.
# T0: Performs last checkpoint write some records to current WAL segment({{Segment#0}}) and freeze.
# T1: Auto rollover happens in {{FileWriteAheadLogManager#checkWalRolloverRequiredDuringInactivityPeriod}}.
# T2({{FileArchiver}}) Archives {{Segment#0}}.
After restart, WAL will continue to log into {{Segment#0}} which leads that newly logged data will not be archived after rollover because {{FileArchiver}} will wait for {{Segment#2}} in {{SegmentCurrentStateStorage#waitNextSegmentForArchivation}}.
PR to highlight error -
https://github.com/apache/ignite/pull/8997It seems we should to continue to log into the next segment if {{curAbsIdx == lastArchivedSegment}} on start.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)