nirdosh0110 opened a new pull request, #8584: URL: https://github.com/apache/hbase/pull/8584
## Summary - The master's `flushedSequenceIdByRegion` is only updated via periodic RegionServer heartbeats. On a fresh region OPEN, the entry is absent, so `ServerManager.getLastFlushedSequenceId` returns `NO_SEQNUM` and `WALSplitter` treats every WAL edit as un-flushed. If the source RS of a drain-move crashes before its next heartbeat, this produces orphaned `recovered.edits` files containing already-durable edits, which then surface as false-positive "data loss" warnings during subsequent merge/split operations and leave regions stuck in RIT. - Add `ServerManager.reportRegionOpen(regionInfo, openSeqNum)` and call it from `AssignmentManager.regionOpenedWithoutPersistingToMeta` so the master seeds its flushed-sequence cache synchronously with the `openSeqNum` reported on the OPEN transition. - `putIfAbsent` is used so a heartbeat-supplied value (which may reflect flushes after open) is never regressed. JIRA: https://issues.apache.org/jira/browse/HBASE-30335 ## Test plan - [ ] Existing `TestAssignmentManager` and `TestServerManager` suites pass. - [ ] Reproduce: drain-move a region, kill source RS before next heartbeat, verify no `recovered.edits` are produced for already-flushed sequence numbers and no downstream stuck RIT on a follow-up merge. 🤖 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]
