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/8997
It 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)