Details
-
Improvement
-
Status: Resolved
-
Major
-
Resolution: Duplicate
-
None
-
None
-
None
-
None
-
Docs Required, Release Notes Required
Description
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.
Attachments
Issue Links
- duplicates
-
IGNITE-20097 WAL writes to an archived segment after node restart
- Resolved
- links to