Skip to content

Conversation

@Umeshkumar9414
Copy link
Contributor

No description provided.

@Apache-HBase

This comment has been minimized.

@Apache-HBase

This comment has been minimized.

@Apache-HBase

This comment has been minimized.

@Umeshkumar9414 Umeshkumar9414 marked this pull request as ready for review October 14, 2025 09:45
@Apache-HBase

This comment has been minimized.

@Apache-HBase
Copy link

💔 -1 overall

Vote Subsystem Runtime Logfile Comment
+0 🆗 reexec 0m 29s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 0s No case conflicting files found.
+0 🆗 codespell 0m 0s codespell was not available.
+0 🆗 detsecrets 0m 0s detect-secrets was not available.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
+1 💚 hbaseanti 0m 0s Patch does not have any anti-patterns.
_ master Compile Tests _
+0 🆗 mvndep 0m 16s Maven dependency ordering for branch
+1 💚 mvninstall 3m 34s master passed
+1 💚 compile 3m 57s master passed
+1 💚 checkstyle 0m 48s master passed
+1 💚 spotbugs 2m 11s master passed
+1 💚 spotless 0m 53s branch has no errors when running spotless:check.
_ Patch Compile Tests _
+0 🆗 mvndep 0m 12s Maven dependency ordering for patch
+1 💚 mvninstall 3m 7s the patch passed
+1 💚 compile 3m 57s the patch passed
+1 💚 javac 3m 57s the patch passed
+1 💚 blanks 0m 0s The patch has no blanks issues.
-0 ⚠️ checkstyle 0m 39s /results-checkstyle-hbase-server.txt hbase-server: The patch generated 1 new + 40 unchanged - 1 fixed = 41 total (was 41)
+1 💚 spotbugs 2m 16s the patch passed
+1 💚 hadoopcheck 12m 3s Patch does not cause any errors with Hadoop 3.3.6 3.4.1.
-1 ❌ spotless 0m 22s patch has 11 errors when running spotless:check, run spotless:apply to fix.
_ Other Tests _
-1 ❌ asflicense 0m 20s /results-asflicense.txt The patch generated 2 ASF License warnings.
43m 5s
Subsystem Report/Notes
Docker ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7375/3/artifact/yetus-general-check/output/Dockerfile
GITHUB PR #7375
Optional Tests dupname asflicense javac codespell detsecrets spotless spotbugs checkstyle compile hadoopcheck hbaseanti
uname Linux 35ff1adbd85c 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision master / 0535506
Default Java Eclipse Adoptium-17.0.11+9
spotless https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7375/3/artifact/yetus-general-check/output/patch-spotless.txt
Max. process+thread count 85 (vs. ulimit of 30000)
modules C: hbase-server hbase-testing-util U: .
Console output https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7375/3/console
versions git=2.34.1 maven=3.9.8 spotbugs=4.7.3
Powered by Apache Yetus 0.15.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase
Copy link

💔 -1 overall

Vote Subsystem Runtime Logfile Comment
+0 🆗 reexec 0m 30s Docker mode activated.
-0 ⚠️ yetus 0m 3s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --author-ignore-list --blanks-eol-ignore-file --blanks-tabs-ignore-file --quick-hadoopcheck
_ Prechecks _
_ master Compile Tests _
+0 🆗 mvndep 0m 15s Maven dependency ordering for branch
+1 💚 mvninstall 3m 16s master passed
+1 💚 compile 1m 17s master passed
+1 💚 javadoc 0m 40s master passed
+1 💚 shadedjars 6m 16s branch has no errors when building our shaded downstream artifacts.
_ Patch Compile Tests _
+0 🆗 mvndep 0m 12s Maven dependency ordering for patch
+1 💚 mvninstall 3m 10s the patch passed
+1 💚 compile 1m 16s the patch passed
+1 💚 javac 1m 16s the patch passed
+1 💚 javadoc 0m 40s the patch passed
-1 ❌ shadedjars 4m 51s patch has 10 errors when building our shaded downstream artifacts.
_ Other Tests _
-1 ❌ unit 255m 50s /patch-unit-hbase-server.txt hbase-server in the patch failed.
+1 💚 unit 2m 9s hbase-testing-util in the patch passed.
284m 30s
Subsystem Report/Notes
Docker ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7375/3/artifact/yetus-jdk17-hadoop3-check/output/Dockerfile
GITHUB PR #7375
Optional Tests javac javadoc unit compile shadedjars
uname Linux d194b3f92b17 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision master / 0535506
Default Java Eclipse Adoptium-17.0.11+9
shadedjars https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7375/3/artifact/yetus-jdk17-hadoop3-check/output/patch-shadedjars.txt
Test Results https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7375/3/testReport/
Max. process+thread count 3523 (vs. ulimit of 30000)
modules C: hbase-server hbase-testing-util U: .
Console output https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7375/3/console
versions git=2.34.1 maven=3.9.8
Powered by Apache Yetus 0.15.0 https://yetus.apache.org

This message was automatically generated.

return regionInTransitionTracker.isRegionInTransition(regionInfo);
}

public int getOngoingTRSPCount() {
Copy link
Contributor

Choose a reason for hiding this comment

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

Call it getInTransitCount()?

Copy link
Contributor

Choose a reason for hiding this comment

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

"Transit" means something different than "in transition". Javadoc the explaination.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

how about scheduledRegionTransition ?

}

public boolean isInTransition() {
public boolean isOngoingTRSP() {
Copy link
Contributor

Choose a reason for hiding this comment

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

How about isInTransit?

And javadoc that "transit" means something different than "in transition".

Copy link
Contributor Author

Choose a reason for hiding this comment

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

how about changing to isTransitionScheduled?

removeRegionInTransition(regionInfo);
}

private List<RegionState.State> getExceptedRegionStates(RegionStateNode regionStateNode) {
Copy link
Contributor

Choose a reason for hiding this comment

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

I think this method should be renamed and the code should be documented with comments. You are not really "excepting" regions.

You are basically waiting for the assignment state machine to complete and reach the desired terminal state by checking the region's current state against the table's state (ENABLED vs. DISABLED) to determine if the region is in the terminal state. If not, the region is added to the RIT list; otherwise, it is removed.

Your method naming and comments should communicate this theory of operation.

Related, there may be a minor race condition here. Consider if the table's state is changed (e.g., from ENABLED to DISABLING) at the same time a region for that table reports a state change. I think the tracker can momentarily use a stale table state here. However, this is self-correcting. As the region proceeds through its state transitions each subsequent call to the tracker will re-evaluate its status, and it will eventually be removed from RIT correctly.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Correct me if I am wrong but I think this race condition might not occur as before changing the state of any table of region (or running any procedure) we first take a lock (setState using HBCK may be an exception). And this lock might save us from this case.

}

public void clear() {
regionInTransition.clear();
Copy link
Contributor

Choose a reason for hiding this comment

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

When the list is cleared this way there are no log lines indicating the regioninfo was removed from the list. Is that a problem?

Copy link
Contributor Author

@Umeshkumar9414 Umeshkumar9414 Oct 27, 2025

Choose a reason for hiding this comment

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

renamed the method it to stop, we call it when master/assignment manager is stopping.
Added log line.

static void removeNonDefaultReplicas(MasterProcedureEnv env, Stream<RegionInfo> regions,
int regionReplication) {
// Remove from in-memory states
// TODO should we not confirm here that replica region are closed or not ?
Copy link
Contributor Author

Choose a reason for hiding this comment

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

@apurtell can you help me here? I was curious here why we are not confirming if replica regions are closed or not?

Copy link
Contributor

Choose a reason for hiding this comment

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

I am not sure about this either.

@Apache-HBase
Copy link

💔 -1 overall

Vote Subsystem Runtime Logfile Comment
+0 🆗 reexec 0m 17s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 0s No case conflicting files found.
+0 🆗 codespell 0m 0s codespell was not available.
+0 🆗 detsecrets 0m 0s detect-secrets was not available.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
+1 💚 hbaseanti 0m 0s Patch does not have any anti-patterns.
_ master Compile Tests _
+0 🆗 mvndep 0m 28s Maven dependency ordering for branch
+1 💚 mvninstall 7m 38s master passed
+1 💚 compile 7m 0s master passed
+1 💚 checkstyle 1m 48s master passed
+1 💚 spotbugs 4m 10s master passed
+1 💚 spotless 1m 40s branch has no errors when running spotless:check.
_ Patch Compile Tests _
+0 🆗 mvndep 0m 18s Maven dependency ordering for patch
+1 💚 mvninstall 6m 45s the patch passed
+1 💚 compile 7m 54s the patch passed
+1 💚 javac 7m 54s the patch passed
+1 💚 blanks 0m 0s The patch has no blanks issues.
-0 ⚠️ checkstyle 1m 32s /results-checkstyle-hbase-server.txt hbase-server: The patch generated 4 new + 42 unchanged - 1 fixed = 46 total (was 43)
-1 ❌ spotbugs 2m 15s /new-spotbugs-hbase-server.html hbase-server generated 2 new + 0 unchanged - 0 fixed = 2 total (was 0)
+1 💚 hadoopcheck 13m 41s Patch does not cause any errors with Hadoop 3.3.6 3.4.1.
-1 ❌ spotless 0m 26s patch has 11 errors when running spotless:check, run spotless:apply to fix.
_ Other Tests _
-1 ❌ asflicense 0m 21s /results-asflicense.txt The patch generated 2 ASF License warnings.
66m 29s
Reason Tests
SpotBugs module:hbase-server
Dead store to regionStates in org.apache.hadoop.hbase.master.assignment.AssignmentManager$RegionInTransitionStat.update(AssignmentManager) At AssignmentManager.java:org.apache.hadoop.hbase.master.assignment.AssignmentManager$RegionInTransitionStat.update(AssignmentManager) At AssignmentManager.java:[line 1714]
Nullcheck of ServerCrashProcedure.regionsOnCrashedServer at line 207 of value previously dereferenced in org.apache.hadoop.hbase.master.procedure.ServerCrashProcedure.executeFromState(MasterProcedureEnv, MasterProcedureProtos$ServerCrashState) At ServerCrashProcedure.java:207 of value previously dereferenced in org.apache.hadoop.hbase.master.procedure.ServerCrashProcedure.executeFromState(MasterProcedureEnv, MasterProcedureProtos$ServerCrashState) At ServerCrashProcedure.java:[line 204]
Subsystem Report/Notes
Docker ClientAPI=1.48 ServerAPI=1.48 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7375/4/artifact/yetus-general-check/output/Dockerfile
GITHUB PR #7375
Optional Tests dupname asflicense javac codespell detsecrets spotless spotbugs checkstyle compile hadoopcheck hbaseanti
uname Linux e6d67385192c 6.8.0-1024-aws #26~22.04.1-Ubuntu SMP Wed Feb 19 06:54:57 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision master / 1ebf4f7
Default Java Eclipse Adoptium-17.0.11+9
spotless https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7375/4/artifact/yetus-general-check/output/patch-spotless.txt
Max. process+thread count 71 (vs. ulimit of 30000)
modules C: hbase-server hbase-testing-util U: .
Console output https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7375/4/console
versions git=2.34.1 maven=3.9.8 spotbugs=4.7.3
Powered by Apache Yetus 0.15.0 https://yetus.apache.org

This message was automatically generated.

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