shubham-roy opened a new pull request, #2622: URL: https://github.com/apache/phoenix/pull/2622
### Addendum to PHOENIX-8000 (5.3 branch) `CDCStreamCompactionTTLIT` (added in PHOENIX-8000) hangs indefinitely when built under `-Dhbase.profile=2.6`, timing out CI. It passes under the default hbase 2.5 profile, which is why it wasn't caught pre-merge. ### Root cause The test injects a `ManualEnvironmentEdge` ~30h ahead of wall-clock and then calls `TestUtil.doMajorCompaction`, whose first step is `Admin.flush(SYSTEM.CDC_STREAM)`. On HBase 2.6 `Admin.flush` is procedure-based (`FlushTableProcedure`, HBASE-27811). With the injected edge frozen ~30h ahead, the `RSProcedureDispatcher` schedules the remote flush op ~30h out in *real* time, so it is never dispatched and the flush `ProcedureFuture` polls forever → hang. (jstack: `main` is blocked in `Admin.flush → HBaseAdmin$ProcedureFuture.waitProcedureResult`; the `PEWorker`, `MemStoreFlusher`, and `RSProcedureDispatcher` threads are all idle.) On HBase 2.5 `Admin.flush` is synchronous, so the identical test passes there. ### Fix (test-only) Adopt the idiom already used by `AdhocViewCompactionsIT` / `MaxLookbackIT` / `TableTTLIT`: - `flush()` at the **real** clock, *before* advancing the injected edge, so the procedure-based flush dispatches immediately; - use `TestUtil.majorCompact(getUtility(), table)` (a bounded, compaction-state-based wait) instead of `doMajorCompaction`'s raw-scan marker-row completion protocol (which additionally never terminates for a conditional-TTL table). No production code changes. ### Testing Verified locally under `-Dhbase.profile=2.6`: `CDCStreamCompactionTTLIT` → `Tests run: 1, Failures: 0, Errors: 0` in ~11s (previously hung to the CI timeout). The adopted idiom is HBase-2.5-aware (`TestUtil.majorCompact` explicitly handles the stopped-clock case), and PR CI exercises both the 2.5 and 2.6 profiles. Cherry-pick of the master addendum (#2621) to 5.3. 🤖 Generated with [Claude Code](https://claude.com/claude-code) -- 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]
