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]

Reply via email to