Skip to content

Phoenix 7920 Add replay-side handling for direct DEGRADED_STANDBY → STANDBY_TO_ACTIVE transition (ANISTS → AISTS)#2573

Open
Himanshu-g81 wants to merge 6 commits into
apache:PHOENIX-7562-feature-newfrom
Himanshu-g81:PHOENIX-7920
Open

Phoenix 7920 Add replay-side handling for direct DEGRADED_STANDBY → STANDBY_TO_ACTIVE transition (ANISTS → AISTS)#2573
Himanshu-g81 wants to merge 6 commits into
apache:PHOENIX-7562-feature-newfrom
Himanshu-g81:PHOENIX-7920

Conversation

@Himanshu-g81

Copy link
Copy Markdown
Contributor

No description provided.

Himanshu Gwalani added 6 commits July 11, 2026 16:27
Capture current time at the start of initializeLastRoundProcessed() (before the HA group state read and file scans) and thread it through all three init branches - DEGRADED_STANDBY, STANDBY_TO_ACTIVE, and the SYNC path - via a new fallback-time overload on the parent. This anchors the starting round to when init began, so a SYNC -> DEGRADED_STANDBY transition during init cannot push the round (and the SYNC-path recovery floor) past the degradation point. Also documents the zero lastSyncStateTimeInMs fallback on initLastRoundsFromLastSyncPoint.
…on test

The zero-lastSyncStateTimeInMs guard in initLastRoundsFromLastSyncPoint is shared by the DEGRADED_STANDBY and STANDBY_TO_ACTIVE init paths, but only the STANDBY_TO_ACTIVE path had a zero-sync regression test. The guard also corrected the DEGRADED path (which previously computed round(min(0, frontier)) = round(0) = ReplicationRound(0,0), the epoch-rewind bug). This adds the symmetric DEGRADED_STANDBY test so a future refactor that diverges the two paths cannot silently reintroduce the epoch rewind. Test count 44 -> 45 (failsafe XML verified GREEN).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant