Skip to content

HBASE-29710 Skip normalization when tableRegions contains overlaps/holes#8472

Open
SwaraliJoshi wants to merge 1 commit into
apache:masterfrom
SwaraliJoshi:HBASE-29710
Open

HBASE-29710 Skip normalization when tableRegions contains overlaps/holes#8472
SwaraliJoshi wants to merge 1 commit into
apache:masterfrom
SwaraliJoshi:HBASE-29710

Conversation

@SwaraliJoshi

Copy link
Copy Markdown
Contributor

Splitting/merging a table whose region chain already has holes or overlaps can increase the number of holes/overlaps and complicate the eventual repair by the CatalogJanitor/HBCK. The merge path is protected downstream by MergeTableRegionsProcedure (force=false rejects non-adjacent/non-overlapping regions), but the split path had no such guard.

Add a scheduler-level check in SimpleRegionNormalizer that scans the sorted region chain for a hole, overlap, or degenerate region and skips normalization (both split and merge) for that table when the chain is broken. Guarded by a new config toggle hbase.normalizer.skip.broken.chain (default true, documented in hbase-default.xml) and emits a WARN log naming the offending region pair. The merge-side validation is left untouched.

Splitting/merging a table whose region chain already has holes or overlaps
can increase the number of holes/overlaps and complicate the eventual repair
by the CatalogJanitor/HBCK. The merge path is protected downstream by
MergeTableRegionsProcedure (force=false rejects non-adjacent/non-overlapping
regions), but the split path had no such guard.

Add a scheduler-level check in SimpleRegionNormalizer that scans the sorted
region chain for a hole, overlap, or degenerate region and skips normalization
(both split and merge) for that table when the chain is broken. Guarded by a
new config toggle hbase.normalizer.skip.broken.chain (default true, documented
in hbase-default.xml) and emits a WARN log naming the offending region pair.
The merge-side validation is left untouched.

Co-authored-by: Cursor <cursoragent@cursor.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant