mnpoonia opened a new pull request, #8677: URL: https://github.com/apache/hbase/pull/8677
## Summary - Backport of the master fix (HBASE-30357) to branch-2. - `OpenRegionProcedure#restoreSucceedState` was ignoring the persisted `TransitionCode`, always forcing the region state to OPEN on master-restart restore even when the persisted transition was actually `FAILED_OPEN`. Now checks `transitionCode == FAILED_OPEN` and calls `am.regionFailedOpen(regionNode, false)`, matching the live `reportTransition` path. - Threaded `TransitionCode` through `RegionRemoteProcedureBase#restoreSucceedState`/`stateLoaded` so both `OpenRegionProcedure` and `CloseRegionProcedure` receive it (close has no failure variant, so it's unused there). - Added `TestOpenRegionProcedureRestoreFailedOpen`, which restarts a real `ProcedureExecutor` to reproduce the crash window. ## Test plan - [x] Ported test compiles against branch-2 APIs (`HBaseTestingUtility`, JUnit5 `HBaseJupiterExtension`). - [ ] Note: local run of the new test on this branch-2 checkout (JDK8 + `-Dhadoop.profile=3.0`) is flaky due to a pre-existing race in the test's synchronization (a non-interruptible `regionNode.lock()` held across an RPC call can deadlock with `ProcedureExecutor#stop()/join()` until a 30s await times out); this race is inherited from the already-merged master version of this test and is being tracked separately rather than fixed in this backport. -- 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]
