tkhurana opened a new pull request, #2466: URL: https://github.com/apache/phoenix/pull/2466
## Summary - Defer peer shard manager creation from `ReplicationLogGroup.init()` to individual mode consumers (`SyncModeImpl`, `SyncAndForwardModeImpl`, `ReplicationLogDiscoveryForwarder`) - When the standby namenode is unavailable at startup, the group gracefully degrades from SYNC to STORE_AND_FORWARD via the existing `updateModeOnFailure()` path - Change `ReplicationLogGroup.get()` to throw `IOException` instead of `RuntimeException`, so callers in `IndexRegionObserver` get proper error classification (not misclassified as `IndexBuildingFailureException`) - Forwarder lazily creates its peer shard manager with automatic retry on subsequent rounds - Replace `createStandbyLog()`/`createFallbackLog()` with single `createReplicationLog(shardManager)` factory ## Test plan - [x] `testInitDegradesToSafWhenPeerUnavailable` — peer unavailable at startup → SAF mode, writes succeed - [x] `testInitFailsWhenLocalUnavailable` — local FS unavailable → init fails with IOException - [x] `testForwarderRetriesPeerCreation` — forwarder retries peer shard manager on next round after initial failure - [x] All 41 existing `ReplicationLogGroupTest` tests pass - [x] All 3 `ReplicationLogDiscoveryForwarderTest` tests pass - [x] All 2 `ReplicationLogTest` tests pass - [ ] HABaseIT integration tests (running) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
