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)

Reply via email to