Skip to content

HBASE-30241 TestMobCloneSnapshotFromClientAfterSplittingRegion is fla…#8387

Open
liuxiaocs7 wants to merge 1 commit into
apache:masterfrom
liuxiaocs7:HBASE-30241
Open

HBASE-30241 TestMobCloneSnapshotFromClientAfterSplittingRegion is fla…#8387
liuxiaocs7 wants to merge 1 commit into
apache:masterfrom
liuxiaocs7:HBASE-30241

Conversation

@liuxiaocs7

@liuxiaocs7 liuxiaocs7 commented Jun 21, 2026

Copy link
Copy Markdown
Member

…ky because a split may build whole-file HFileLinks instead of References

…ky because a split may build whole-file HFileLinks instead of References

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR addresses test flakiness around clone-snapshot-after-split by explicitly covering both split outcomes introduced by HBASE-26421: (1) splits that generate Reference files and (2) splits that generate whole-file HFileLinks. It strengthens existing coverage (HBASE-29111) and adds a complementary regression test for the all-HFileLink scenario described in HBASE-30241.

Changes:

  • Ensure the existing “reference-file” split test deterministically produces Reference files by major-compacting regions before splitting.
  • Add a new shared test base that constructs a split where daughter regions receive whole-file HFileLinks (no References) and validates cloned table survivability after source+snapshot deletion and cleaner execution.
  • Add parameterized test entry points for both normal and MOB tables for the new all-HFileLink split scenario.

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated no comments.

File Description
hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestMobCloneSnapshotFromClientAfterSplittingRegionWithLinks.java Adds MOB variant runner for the new all-HFileLink split + clone survivability test.
hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestCloneSnapshotFromClientAfterSplittingRegionWithLinks.java Adds non-MOB runner for the new all-HFileLink split + clone survivability test.
hbase-server/src/test/java/org/apache/hadoop/hbase/client/CloneSnapshotFromClientAfterSplittingRegionWithLinksTestBase.java Introduces the deterministic all-HFileLink split test logic and assertions for clone independence after cleanup.
hbase-server/src/test/java/org/apache/hadoop/hbase/client/CloneSnapshotFromClientAfterSplittingRegionTestBase.java Makes the existing “reference-file” split test deterministic by compacting before split to avoid falling into the all-HFileLink case.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

* (the regression HBASE-29111 guards against): here there is no parent-to-daughter mapping to
* record, and the cloned table must still be safe after the source table and snapshot are removed.
*/
public class CloneSnapshotFromClientAfterSplittingRegionWithLinksTestBase {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We do not extend CloneSnapshotFromClientTestBase here?

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.

3 participants