Re: [PR] HBASE-29291: Add a command to refresh/sync hbase:meta table [hbase]

2025-09-20 Thread via GitHub


Apache-HBase commented on PR #7058:
URL: https://github.com/apache/hbase/pull/7058#issuecomment-3276738645

   :confetti_ball: **+1 overall**
   
   
   
   
   
   
   | Vote | Subsystem | Runtime |  Logfile | Comment |
   |::|--:|:|::|:---:|
   | +0 :ok: |  reexec  |   0m 29s |  |  Docker mode activated.  |
    _ Prechecks _ |
   | +1 :green_heart: |  dupname  |   0m  0s |  |  No case conflicting files 
found.  |
   | +0 :ok: |  codespell  |   0m  0s |  |  codespell was not available.  |
   | +0 :ok: |  detsecrets  |   0m  0s |  |  detect-secrets was not available.  
|
   | +0 :ok: |  buf  |   0m  0s |  |  buf was not available.  |
   | +0 :ok: |  buf  |   0m  0s |  |  buf was not available.  |
   | +1 :green_heart: |  @author  |   0m  0s |  |  The patch does not contain 
any @author tags.  |
   | +1 :green_heart: |  hbaseanti  |   0m  0s |  |  Patch does not have any 
anti-patterns.  |
    _ HBASE-29081 Compile Tests _ |
   | +0 :ok: |  mvndep  |   0m 11s |  |  Maven dependency ordering for branch  |
   | +1 :green_heart: |  mvninstall  |   3m  9s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  compile  |   5m 48s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  checkstyle  |   1m 35s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  spotbugs  |   5m 45s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  spotless  |   0m 45s |  |  branch has no errors when 
running spotless:check.  |
    _ Patch Compile Tests _ |
   | +0 :ok: |  mvndep  |   0m 12s |  |  Maven dependency ordering for patch  |
   | +1 :green_heart: |  mvninstall  |   3m  5s |  |  the patch passed  |
   | +1 :green_heart: |  compile  |   5m 56s |  |  the patch passed  |
   | +1 :green_heart: |  cc  |   5m 56s |  |  the patch passed  |
   | +1 :green_heart: |  javac  |   5m 56s |  |  the patch passed  |
   | +1 :green_heart: |  blanks  |   0m  0s |  |  The patch has no blanks 
issues.  |
   | -0 :warning: |  checkstyle  |   0m 13s | 
[/buildtool-patch-checkstyle-hbase-server.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/17/artifact/yetus-general-check/output/buildtool-patch-checkstyle-hbase-server.txt)
 |  The patch fails to run checkstyle in hbase-server  |
   | -0 :warning: |  rubocop  |   0m  9s | 
[/results-rubocop.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/17/artifact/yetus-general-check/output/results-rubocop.txt)
 |  The patch generated 5 new + 445 unchanged - 0 fixed = 450 total (was 445)  |
   | +1 :green_heart: |  spotbugs  |   6m 16s |  |  the patch passed  |
   | +1 :green_heart: |  hadoopcheck  |  12m 19s |  |  Patch does not cause any 
errors with Hadoop 3.3.6 3.4.0.  |
   | +1 :green_heart: |  hbaseprotoc  |   2m 37s |  |  the patch passed  |
   | +1 :green_heart: |  spotless  |   0m 58s |  |  patch has no errors when 
running spotless:check.  |
    _ Other Tests _ |
   | +1 :green_heart: |  asflicense  |   0m 53s |  |  The patch does not 
generate ASF License warnings.  |
   |  |   |  60m 50s |  |  |
   
   
   | Subsystem | Report/Notes |
   |--:|:-|
   | Docker | ClientAPI=1.43 ServerAPI=1.43 base: 
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/17/artifact/yetus-general-check/output/Dockerfile
 |
   | GITHUB PR | https://github.com/apache/hbase/pull/7058 |
   | JIRA Issue | HBASE-29291 |
   | Optional Tests | dupname asflicense javac spotbugs checkstyle codespell 
detsecrets compile hadoopcheck hbaseanti spotless cc buflint bufcompat 
hbaseprotoc rubocop |
   | uname | Linux c0362581cde5 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 | HBASE-29081 / 197bff72047899fcd8641f53172e663f7d4b0468 |
   | Default Java | Eclipse Adoptium-17.0.11+9 |
   | Max. process+thread count | 87 (vs. ulimit of 3) |
   | modules | C: hbase-protocol-shaded hbase-client hbase-server hbase-thrift 
hbase-shell U: . |
   | Console output | 
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/17/console
 |
   | versions | git=2.34.1 maven=3.9.8 spotbugs=4.7.3 rubocop=1.37.1 |
   | Powered by | Apache Yetus 0.15.0 https://yetus.apache.org |
   
   
   This message was automatically generated.
   
   


-- 
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]



Re: [PR] HBASE-29291: Add a command to refresh/sync hbase:meta table [hbase]

2025-09-11 Thread via GitHub


anmolnar merged PR #7058:
URL: https://github.com/apache/hbase/pull/7058


-- 
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]



Re: [PR] HBASE-29291: Add a command to refresh/sync hbase:meta table [hbase]

2025-09-11 Thread via GitHub


anmolnar commented on PR #7058:
URL: https://github.com/apache/hbase/pull/7058#issuecomment-3281037461

   Unit test failure is unrelated and verified locally that it's passing.


-- 
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]



Re: [PR] HBASE-29291: Add a command to refresh/sync hbase:meta table [hbase]

2025-09-10 Thread via GitHub


Apache-HBase commented on PR #7058:
URL: https://github.com/apache/hbase/pull/7058#issuecomment-3276598061

   :confetti_ball: **+1 overall**
   
   
   
   
   
   
   | Vote | Subsystem | Runtime |  Logfile | Comment |
   |::|--:|:|::|:---:|
   | +0 :ok: |  reexec  |   0m 31s |  |  Docker mode activated.  |
   | -0 :warning: |  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 _ |
    _ HBASE-29081 Compile Tests _ |
   | +0 :ok: |  mvndep  |   0m 10s |  |  Maven dependency ordering for branch  |
   | +1 :green_heart: |  mvninstall  |   3m 20s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  compile  |   2m 38s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  javadoc  |   1m 34s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  shadedjars  |   6m  9s |  |  branch has no errors when 
building our shaded downstream artifacts.  |
    _ Patch Compile Tests _ |
   | +0 :ok: |  mvndep  |   0m 14s |  |  Maven dependency ordering for patch  |
   | +1 :green_heart: |  mvninstall  |   3m  9s |  |  the patch passed  |
   | +1 :green_heart: |  compile  |   2m 43s |  |  the patch passed  |
   | +1 :green_heart: |  javac  |   2m 43s |  |  the patch passed  |
   | +1 :green_heart: |  javadoc  |   1m 34s |  |  the patch passed  |
   | +1 :green_heart: |  shadedjars  |   6m 13s |  |  patch has no errors when 
building our shaded downstream artifacts.  |
    _ Other Tests _ |
   | +1 :green_heart: |  unit  |   0m 35s |  |  hbase-protocol-shaded in the 
patch passed.  |
   | +1 :green_heart: |  unit  |   1m 32s |  |  hbase-client in the patch 
passed.  |
   | +1 :green_heart: |  unit  | 228m 42s |  |  hbase-server in the patch 
passed.  |
   | +1 :green_heart: |  unit  |   7m 14s |  |  hbase-thrift in the patch 
passed.  |
   | +1 :green_heart: |  unit  |   6m 53s |  |  hbase-shell in the patch 
passed.  |
   |  |   | 279m  5s |  |  |
   
   
   | Subsystem | Report/Notes |
   |--:|:-|
   | Docker | ClientAPI=1.43 ServerAPI=1.43 base: 
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/16/artifact/yetus-jdk17-hadoop3-check/output/Dockerfile
 |
   | GITHUB PR | https://github.com/apache/hbase/pull/7058 |
   | JIRA Issue | HBASE-29291 |
   | Optional Tests | javac javadoc unit compile shadedjars |
   | uname | Linux c1e40cecb366 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 | HBASE-29081 / 4dbef549ba4ff62fbaa26d5d74e2de1bbc28212b |
   | Default Java | Eclipse Adoptium-17.0.11+9 |
   |  Test Results | 
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/16/testReport/
 |
   | Max. process+thread count | 4800 (vs. ulimit of 3) |
   | modules | C: hbase-protocol-shaded hbase-client hbase-server hbase-thrift 
hbase-shell U: . |
   | Console output | 
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/16/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.
   
   


-- 
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]



Re: [PR] HBASE-29291: Add a command to refresh/sync hbase:meta table [hbase]

2025-09-10 Thread via GitHub


Apache-HBase commented on PR #7058:
URL: https://github.com/apache/hbase/pull/7058#issuecomment-3277135196

   :broken_heart: **-1 overall**
   
   
   
   
   
   
   | Vote | Subsystem | Runtime |  Logfile | Comment |
   |::|--:|:|::|:---:|
   | +0 :ok: |  reexec  |   0m 32s |  |  Docker mode activated.  |
   | -0 :warning: |  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 _ |
    _ HBASE-29081 Compile Tests _ |
   | +0 :ok: |  mvndep  |   0m 10s |  |  Maven dependency ordering for branch  |
   | +1 :green_heart: |  mvninstall  |   3m 19s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  compile  |   2m 36s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  javadoc  |   1m 38s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  shadedjars  |   6m  4s |  |  branch has no errors when 
building our shaded downstream artifacts.  |
    _ Patch Compile Tests _ |
   | +0 :ok: |  mvndep  |   0m 14s |  |  Maven dependency ordering for patch  |
   | +1 :green_heart: |  mvninstall  |   3m  4s |  |  the patch passed  |
   | +1 :green_heart: |  compile  |   2m 33s |  |  the patch passed  |
   | +1 :green_heart: |  javac  |   2m 33s |  |  the patch passed  |
   | +1 :green_heart: |  javadoc  |   1m 35s |  |  the patch passed  |
   | +1 :green_heart: |  shadedjars  |   6m  3s |  |  patch has no errors when 
building our shaded downstream artifacts.  |
    _ Other Tests _ |
   | +1 :green_heart: |  unit  |   0m 33s |  |  hbase-protocol-shaded in the 
patch passed.  |
   | +1 :green_heart: |  unit  |   1m 31s |  |  hbase-client in the patch 
passed.  |
   | -1 :x: |  unit  | 242m 19s | 
[/patch-unit-hbase-server.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/17/artifact/yetus-jdk17-hadoop3-check/output/patch-unit-hbase-server.txt)
 |  hbase-server in the patch failed.  |
   | +1 :green_heart: |  unit  |   6m 49s |  |  hbase-thrift in the patch 
passed.  |
   | +1 :green_heart: |  unit  |   6m 54s |  |  hbase-shell in the patch 
passed.  |
   |  |   | 292m  0s |  |  |
   
   
   | Subsystem | Report/Notes |
   |--:|:-|
   | Docker | ClientAPI=1.43 ServerAPI=1.43 base: 
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/17/artifact/yetus-jdk17-hadoop3-check/output/Dockerfile
 |
   | GITHUB PR | https://github.com/apache/hbase/pull/7058 |
   | JIRA Issue | HBASE-29291 |
   | Optional Tests | javac javadoc unit compile shadedjars |
   | uname | Linux e8230053e6c8 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 | HBASE-29081 / 197bff72047899fcd8641f53172e663f7d4b0468 |
   | Default Java | Eclipse Adoptium-17.0.11+9 |
   |  Test Results | 
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/17/testReport/
 |
   | Max. process+thread count | 3481 (vs. ulimit of 3) |
   | modules | C: hbase-protocol-shaded hbase-client hbase-server hbase-thrift 
hbase-shell U: . |
   | Console output | 
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/17/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.
   
   


-- 
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]



Re: [PR] HBASE-29291: Add a command to refresh/sync hbase:meta table [hbase]

2025-09-10 Thread via GitHub


Apache-HBase commented on PR #7058:
URL: https://github.com/apache/hbase/pull/7058#issuecomment-3275946147

   :confetti_ball: **+1 overall**
   
   
   
   
   
   
   | Vote | Subsystem | Runtime |  Logfile | Comment |
   |::|--:|:|::|:---:|
   | +0 :ok: |  reexec  |   0m 30s |  |  Docker mode activated.  |
    _ Prechecks _ |
   | +1 :green_heart: |  dupname  |   0m  0s |  |  No case conflicting files 
found.  |
   | +0 :ok: |  codespell  |   0m  0s |  |  codespell was not available.  |
   | +0 :ok: |  detsecrets  |   0m  0s |  |  detect-secrets was not available.  
|
   | +0 :ok: |  buf  |   0m  0s |  |  buf was not available.  |
   | +0 :ok: |  buf  |   0m  0s |  |  buf was not available.  |
   | +1 :green_heart: |  @author  |   0m  0s |  |  The patch does not contain 
any @author tags.  |
   | +1 :green_heart: |  hbaseanti  |   0m  0s |  |  Patch does not have any 
anti-patterns.  |
    _ HBASE-29081 Compile Tests _ |
   | +0 :ok: |  mvndep  |   0m 33s |  |  Maven dependency ordering for branch  |
   | +1 :green_heart: |  mvninstall  |   3m 35s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  compile  |   5m 56s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  checkstyle  |   1m 38s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  spotbugs  |   5m 55s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  spotless  |   0m 49s |  |  branch has no errors when 
running spotless:check.  |
    _ Patch Compile Tests _ |
   | +0 :ok: |  mvndep  |   0m 11s |  |  Maven dependency ordering for patch  |
   | +1 :green_heart: |  mvninstall  |   3m  7s |  |  the patch passed  |
   | +1 :green_heart: |  compile  |   5m 53s |  |  the patch passed  |
   | +1 :green_heart: |  cc  |   5m 53s |  |  the patch passed  |
   | +1 :green_heart: |  javac  |   5m 53s |  |  the patch passed  |
   | +1 :green_heart: |  blanks  |   0m  0s |  |  The patch has no blanks 
issues.  |
   | -0 :warning: |  checkstyle  |   0m 14s | 
[/buildtool-patch-checkstyle-hbase-server.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/16/artifact/yetus-general-check/output/buildtool-patch-checkstyle-hbase-server.txt)
 |  The patch fails to run checkstyle in hbase-server  |
   | -0 :warning: |  rubocop  |   0m 20s | 
[/results-rubocop.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/16/artifact/yetus-general-check/output/results-rubocop.txt)
 |  The patch generated 5 new + 445 unchanged - 0 fixed = 450 total (was 445)  |
   | +1 :green_heart: |  spotbugs  |   6m 25s |  |  the patch passed  |
   | +1 :green_heart: |  hadoopcheck  |  12m 12s |  |  Patch does not cause any 
errors with Hadoop 3.3.6 3.4.0.  |
   | +1 :green_heart: |  hbaseprotoc  |   2m 10s |  |  the patch passed  |
   | +1 :green_heart: |  spotless  |   0m 45s |  |  patch has no errors when 
running spotless:check.  |
    _ Other Tests _ |
   | +1 :green_heart: |  asflicense  |   0m 42s |  |  The patch does not 
generate ASF License warnings.  |
   |  |   |  61m 22s |  |  |
   
   
   | Subsystem | Report/Notes |
   |--:|:-|
   | Docker | ClientAPI=1.43 ServerAPI=1.43 base: 
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/16/artifact/yetus-general-check/output/Dockerfile
 |
   | GITHUB PR | https://github.com/apache/hbase/pull/7058 |
   | JIRA Issue | HBASE-29291 |
   | Optional Tests | dupname asflicense javac spotbugs checkstyle codespell 
detsecrets compile hadoopcheck hbaseanti spotless cc buflint bufcompat 
hbaseprotoc rubocop |
   | uname | Linux ec4c744039f7 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 | HBASE-29081 / 4dbef549ba4ff62fbaa26d5d74e2de1bbc28212b |
   | Default Java | Eclipse Adoptium-17.0.11+9 |
   | Max. process+thread count | 87 (vs. ulimit of 3) |
   | modules | C: hbase-protocol-shaded hbase-client hbase-server hbase-thrift 
hbase-shell U: . |
   | Console output | 
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/16/console
 |
   | versions | git=2.34.1 maven=3.9.8 spotbugs=4.7.3 rubocop=1.37.1 |
   | Powered by | Apache Yetus 0.15.0 https://yetus.apache.org |
   
   
   This message was automatically generated.
   
   


-- 
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]



Re: [PR] HBASE-29291: Add a command to refresh/sync hbase:meta table [hbase]

2025-09-08 Thread via GitHub


Apache-HBase commented on PR #7058:
URL: https://github.com/apache/hbase/pull/7058#issuecomment-3268768388

   :broken_heart: **-1 overall**
   
   
   
   
   
   
   | Vote | Subsystem | Runtime |  Logfile | Comment |
   |::|--:|:|::|:---:|
   | +0 :ok: |  reexec  |   0m 38s |  |  Docker mode activated.  |
   | -0 :warning: |  yetus  |   0m  4s |  |  Unprocessed flag(s): 
--brief-report-file --spotbugs-strict-precheck --author-ignore-list 
--blanks-eol-ignore-file --blanks-tabs-ignore-file --quick-hadoopcheck  |
    _ Prechecks _ |
    _ HBASE-29081 Compile Tests _ |
   | +0 :ok: |  mvndep  |   0m 48s |  |  Maven dependency ordering for branch  |
   | +1 :green_heart: |  mvninstall  |   4m 21s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  compile  |   3m 26s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  javadoc  |   2m 10s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  shadedjars  |   7m 40s |  |  branch has no errors when 
building our shaded downstream artifacts.  |
    _ Patch Compile Tests _ |
   | +0 :ok: |  mvndep  |   0m 15s |  |  Maven dependency ordering for patch  |
   | +1 :green_heart: |  mvninstall  |   3m 56s |  |  the patch passed  |
   | +1 :green_heart: |  compile  |   3m 30s |  |  the patch passed  |
   | +1 :green_heart: |  javac  |   3m 30s |  |  the patch passed  |
   | +1 :green_heart: |  javadoc  |   2m  4s |  |  the patch passed  |
   | +1 :green_heart: |  shadedjars  |   7m 18s |  |  patch has no errors when 
building our shaded downstream artifacts.  |
    _ Other Tests _ |
   | +1 :green_heart: |  unit  |   0m 46s |  |  hbase-protocol-shaded in the 
patch passed.  |
   | +1 :green_heart: |  unit  |   2m  6s |  |  hbase-client in the patch 
passed.  |
   | -1 :x: |  unit  | 238m 21s | 
[/patch-unit-hbase-server.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/15/artifact/yetus-jdk17-hadoop3-check/output/patch-unit-hbase-server.txt)
 |  hbase-server in the patch failed.  |
   | +1 :green_heart: |  unit  |   6m 59s |  |  hbase-thrift in the patch 
passed.  |
   | +1 :green_heart: |  unit  |   7m 48s |  |  hbase-shell in the patch 
passed.  |
   |  |   | 298m 18s |  |  |
   
   
   | Subsystem | Report/Notes |
   |--:|:-|
   | Docker | ClientAPI=1.43 ServerAPI=1.43 base: 
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/15/artifact/yetus-jdk17-hadoop3-check/output/Dockerfile
 |
   | GITHUB PR | https://github.com/apache/hbase/pull/7058 |
   | JIRA Issue | HBASE-29291 |
   | Optional Tests | javac javadoc unit compile shadedjars |
   | uname | Linux ca53d2f80c7a 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 | HBASE-29081 / 3168e09d399c160a87d9c3fb0bb0df4edecf4d46 |
   | Default Java | Eclipse Adoptium-17.0.11+9 |
   |  Test Results | 
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/15/testReport/
 |
   | Max. process+thread count | 5107 (vs. ulimit of 3) |
   | modules | C: hbase-protocol-shaded hbase-client hbase-server hbase-thrift 
hbase-shell U: . |
   | Console output | 
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/15/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.
   
   


-- 
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]



Re: [PR] HBASE-29291: Add a command to refresh/sync hbase:meta table [hbase]

2025-09-08 Thread via GitHub


anmolnar commented on code in PR #7058:
URL: https://github.com/apache/hbase/pull/7058#discussion_r2331637766


##
hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/RefreshMetaProcedure.java:
##
@@ -0,0 +1,489 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.hadoop.hbase.master.procedure;
+
+import static 
org.apache.hadoop.hbase.shaded.protobuf.generated.ProcedureProtos.ProcedureState.WAITING_TIMEOUT;
+
+import java.io.DataInputStream;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+import java.util.Set;
+import java.util.function.Function;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.fs.FSDataInputStream;
+import org.apache.hadoop.fs.FileStatus;
+import org.apache.hadoop.fs.FileSystem;
+import org.apache.hadoop.fs.Path;
+import org.apache.hadoop.hbase.HConstants;
+import org.apache.hadoop.hbase.MetaTableAccessor;
+import org.apache.hadoop.hbase.NamespaceDescriptor;
+import org.apache.hadoop.hbase.TableDescriptors;
+import org.apache.hadoop.hbase.TableName;
+import org.apache.hadoop.hbase.client.Connection;
+import org.apache.hadoop.hbase.client.Delete;
+import org.apache.hadoop.hbase.client.Mutation;
+import org.apache.hadoop.hbase.client.Put;
+import org.apache.hadoop.hbase.client.RegionInfo;
+import org.apache.hadoop.hbase.client.TableState;
+import org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer;
+import org.apache.hadoop.hbase.procedure2.ProcedureSuspendedException;
+import org.apache.hadoop.hbase.procedure2.ProcedureUtil;
+import org.apache.hadoop.hbase.regionserver.HRegionFileSystem;
+import org.apache.hadoop.hbase.util.CommonFSUtils;
+import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;
+import org.apache.hadoop.hbase.util.FSTableDescriptors;
+import org.apache.hadoop.hbase.util.FSUtils;
+import org.apache.hadoop.hbase.util.RetryCounter;
+import org.apache.yetus.audience.InterfaceAudience;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import org.apache.hbase.thirdparty.com.google.common.collect.Lists;
+
+import 
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.RefreshMetaState;
+import 
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.RefreshMetaStateData;
+
[email protected]
+public class RefreshMetaProcedure extends 
AbstractStateMachineTableProcedure {
+  private static final Logger LOG = 
LoggerFactory.getLogger(RefreshMetaProcedure.class);
+  private static final String HIDDEN_DIR_PATTERN = "^[._-].*";
+
+  private List currentRegions;
+  private List latestRegions;
+  private List pendingMutations;
+  private RetryCounter retryCounter;
+  private static final int MUTATION_BATCH_SIZE = 100;
+  private List newlyAddedRegions;
+  private List deletedTables;
+
+  public RefreshMetaProcedure() {
+super();
+  }
+
+  public RefreshMetaProcedure(MasterProcedureEnv env) {
+super(env);
+  }
+
+  @Override
+  public TableName getTableName() {
+return TableName.META_TABLE_NAME;
+  }
+
+  @Override
+  public TableOperationType getTableOperationType() {
+return TableOperationType.EDIT;
+  }
+
+  @Override
+  protected Flow executeFromState(MasterProcedureEnv env, RefreshMetaState 
refreshMetaState) {
+LOG.info("Executing RefreshMetaProcedure state: {}", refreshMetaState);
+
+try {
+  return switch (refreshMetaState) {
+case REFRESH_META_INIT -> executeInit(env);
+case REFRESH_META_SCAN_STORAGE -> executeScanStorage(env);
+case REFRESH_META_PREPARE -> executePrepare();
+case REFRESH_META_APPLY -> executeApply(env);
+case REFRESH_META_FOLLOWUP -> executeFollowup(env);
+case REFRESH_META_FINISH -> executeFinish(env);
+default -> throw new UnsupportedOperationException("Unhandled state: " 
+ refreshMetaState);
+  };
+} catch (Exception ex) {
+  LOG.error("Error in RefreshMetaProcedure state {}", refreshMetaState, 
ex);
+  setFailure("RefreshMetaProcedure", ex);
+  return

Re: [PR] HBASE-29291: Add a command to refresh/sync hbase:meta table [hbase]

2025-09-08 Thread via GitHub


Apache-HBase commented on PR #7058:
URL: https://github.com/apache/hbase/pull/7058#issuecomment-3268370750

   :confetti_ball: **+1 overall**
   
   
   
   
   
   
   | Vote | Subsystem | Runtime |  Logfile | Comment |
   |::|--:|:|::|:---:|
   | +0 :ok: |  reexec  |   0m 35s |  |  Docker mode activated.  |
    _ Prechecks _ |
   | +1 :green_heart: |  dupname  |   0m  0s |  |  No case conflicting files 
found.  |
   | +0 :ok: |  codespell  |   0m  0s |  |  codespell was not available.  |
   | +0 :ok: |  detsecrets  |   0m  0s |  |  detect-secrets was not available.  
|
   | +0 :ok: |  buf  |   0m  0s |  |  buf was not available.  |
   | +0 :ok: |  buf  |   0m  0s |  |  buf was not available.  |
   | +1 :green_heart: |  @author  |   0m  0s |  |  The patch does not contain 
any @author tags.  |
   | +1 :green_heart: |  hbaseanti  |   0m  0s |  |  Patch does not have any 
anti-patterns.  |
    _ HBASE-29081 Compile Tests _ |
   | +0 :ok: |  mvndep  |   0m 10s |  |  Maven dependency ordering for branch  |
   | +1 :green_heart: |  mvninstall  |   3m 21s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  compile  |   5m 46s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  checkstyle  |   1m 37s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  spotbugs  |   5m 56s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  spotless  |   0m 50s |  |  branch has no errors when 
running spotless:check.  |
    _ Patch Compile Tests _ |
   | +0 :ok: |  mvndep  |   0m 11s |  |  Maven dependency ordering for patch  |
   | +1 :green_heart: |  mvninstall  |   3m  4s |  |  the patch passed  |
   | +1 :green_heart: |  compile  |   5m 45s |  |  the patch passed  |
   | +1 :green_heart: |  cc  |   5m 45s |  |  the patch passed  |
   | +1 :green_heart: |  javac  |   5m 45s |  |  the patch passed  |
   | +1 :green_heart: |  blanks  |   0m  0s |  |  The patch has no blanks 
issues.  |
   | -0 :warning: |  checkstyle  |   0m 14s | 
[/buildtool-patch-checkstyle-hbase-server.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/15/artifact/yetus-general-check/output/buildtool-patch-checkstyle-hbase-server.txt)
 |  The patch fails to run checkstyle in hbase-server  |
   | -0 :warning: |  rubocop  |   0m 22s | 
[/results-rubocop.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/15/artifact/yetus-general-check/output/results-rubocop.txt)
 |  The patch generated 5 new + 445 unchanged - 0 fixed = 450 total (was 445)  |
   | +1 :green_heart: |  spotbugs  |   6m 20s |  |  the patch passed  |
   | +1 :green_heart: |  hadoopcheck  |  12m 15s |  |  Patch does not cause any 
errors with Hadoop 3.3.6 3.4.0.  |
   | +1 :green_heart: |  hbaseprotoc  |   2m  9s |  |  the patch passed  |
   | +1 :green_heart: |  spotless  |   0m 46s |  |  patch has no errors when 
running spotless:check.  |
    _ Other Tests _ |
   | +1 :green_heart: |  asflicense  |   0m 43s |  |  The patch does not 
generate ASF License warnings.  |
   |  |   |  59m 39s |  |  |
   
   
   | Subsystem | Report/Notes |
   |--:|:-|
   | Docker | ClientAPI=1.43 ServerAPI=1.43 base: 
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/15/artifact/yetus-general-check/output/Dockerfile
 |
   | GITHUB PR | https://github.com/apache/hbase/pull/7058 |
   | JIRA Issue | HBASE-29291 |
   | Optional Tests | dupname asflicense javac spotbugs checkstyle codespell 
detsecrets compile hadoopcheck hbaseanti spotless cc buflint bufcompat 
hbaseprotoc rubocop |
   | uname | Linux 882ba1961329 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 | HBASE-29081 / 3168e09d399c160a87d9c3fb0bb0df4edecf4d46 |
   | Default Java | Eclipse Adoptium-17.0.11+9 |
   | Max. process+thread count | 86 (vs. ulimit of 3) |
   | modules | C: hbase-protocol-shaded hbase-client hbase-server hbase-thrift 
hbase-shell U: . |
   | Console output | 
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/15/console
 |
   | versions | git=2.34.1 maven=3.9.8 spotbugs=4.7.3 rubocop=1.37.1 |
   | Powered by | Apache Yetus 0.15.0 https://yetus.apache.org |
   
   
   This message was automatically generated.
   
   


-- 
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]



Re: [PR] HBASE-29291: Add a command to refresh/sync hbase:meta table [hbase]

2025-09-08 Thread via GitHub


Kota-SH commented on PR #7058:
URL: https://github.com/apache/hbase/pull/7058#issuecomment-3268193591

   @anmolnar - I updated the FSTableDescriptors to invalidate the cache and 
addressed your comments about the `hbase:*` namespace. PTAL.


-- 
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]



Re: [PR] HBASE-29291: Add a command to refresh/sync hbase:meta table [hbase]

2025-09-05 Thread via GitHub


Apache-HBase commented on PR #7058:
URL: https://github.com/apache/hbase/pull/7058#issuecomment-3261177332

   :broken_heart: **-1 overall**
   
   
   
   
   
   
   | Vote | Subsystem | Runtime |  Logfile | Comment |
   |::|--:|:|::|:---:|
   | +0 :ok: |  reexec  |   0m 34s |  |  Docker mode activated.  |
   | -0 :warning: |  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 _ |
    _ HBASE-29081 Compile Tests _ |
   | +0 :ok: |  mvndep  |   0m 40s |  |  Maven dependency ordering for branch  |
   | +1 :green_heart: |  mvninstall  |   3m 19s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  compile  |   2m 34s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  javadoc  |   1m 38s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  shadedjars  |   6m  9s |  |  branch has no errors when 
building our shaded downstream artifacts.  |
    _ Patch Compile Tests _ |
   | +0 :ok: |  mvndep  |   0m 14s |  |  Maven dependency ordering for patch  |
   | +1 :green_heart: |  mvninstall  |   2m 59s |  |  the patch passed  |
   | +1 :green_heart: |  compile  |   2m 36s |  |  the patch passed  |
   | +1 :green_heart: |  javac  |   2m 36s |  |  the patch passed  |
   | +1 :green_heart: |  javadoc  |   1m 36s |  |  the patch passed  |
   | +1 :green_heart: |  shadedjars  |   6m  1s |  |  patch has no errors when 
building our shaded downstream artifacts.  |
    _ Other Tests _ |
   | +1 :green_heart: |  unit  |   0m 37s |  |  hbase-protocol-shaded in the 
patch passed.  |
   | +1 :green_heart: |  unit  |   1m 41s |  |  hbase-client in the patch 
passed.  |
   | -1 :x: |  unit  | 240m 32s | 
[/patch-unit-hbase-server.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/13/artifact/yetus-jdk17-hadoop3-check/output/patch-unit-hbase-server.txt)
 |  hbase-server in the patch failed.  |
   | +1 :green_heart: |  unit  |   7m  3s |  |  hbase-thrift in the patch 
passed.  |
   | -1 :x: |  unit  |   8m  3s | 
[/patch-unit-hbase-shell.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/13/artifact/yetus-jdk17-hadoop3-check/output/patch-unit-hbase-shell.txt)
 |  hbase-shell in the patch failed.  |
   |  |   | 292m  9s |  |  |
   
   
   | Subsystem | Report/Notes |
   |--:|:-|
   | Docker | ClientAPI=1.43 ServerAPI=1.43 base: 
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/13/artifact/yetus-jdk17-hadoop3-check/output/Dockerfile
 |
   | GITHUB PR | https://github.com/apache/hbase/pull/7058 |
   | JIRA Issue | HBASE-29291 |
   | Optional Tests | javac javadoc unit compile shadedjars |
   | uname | Linux 4e65f2bad599 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 | HBASE-29081 / 90ce3eb8c1d9512f1e90fe94a1d33a5e0e8decd1 |
   | Default Java | Eclipse Adoptium-17.0.11+9 |
   |  Test Results | 
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/13/testReport/
 |
   | Max. process+thread count | 5027 (vs. ulimit of 3) |
   | modules | C: hbase-protocol-shaded hbase-client hbase-server hbase-thrift 
hbase-shell U: . |
   | Console output | 
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/13/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.
   
   


-- 
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]



Re: [PR] HBASE-29291: Add a command to refresh/sync hbase:meta table [hbase]

2025-09-05 Thread via GitHub


Apache-HBase commented on PR #7058:
URL: https://github.com/apache/hbase/pull/7058#issuecomment-3260215704

   :confetti_ball: **+1 overall**
   
   
   
   
   
   
   | Vote | Subsystem | Runtime |  Logfile | Comment |
   |::|--:|:|::|:---:|
   | +0 :ok: |  reexec  |   0m 36s |  |  Docker mode activated.  |
    _ Prechecks _ |
   | +1 :green_heart: |  dupname  |   0m  0s |  |  No case conflicting files 
found.  |
   | +0 :ok: |  codespell  |   0m  0s |  |  codespell was not available.  |
   | +0 :ok: |  detsecrets  |   0m  0s |  |  detect-secrets was not available.  
|
   | +0 :ok: |  buf  |   0m  0s |  |  buf was not available.  |
   | +0 :ok: |  buf  |   0m  0s |  |  buf was not available.  |
   | +1 :green_heart: |  @author  |   0m  0s |  |  The patch does not contain 
any @author tags.  |
   | +1 :green_heart: |  hbaseanti  |   0m  0s |  |  Patch does not have any 
anti-patterns.  |
    _ HBASE-29081 Compile Tests _ |
   | +0 :ok: |  mvndep  |   0m 11s |  |  Maven dependency ordering for branch  |
   | +1 :green_heart: |  mvninstall  |   3m 15s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  compile  |   5m 48s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  checkstyle  |   1m 37s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  spotbugs  |   5m 49s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  spotless  |   0m 50s |  |  branch has no errors when 
running spotless:check.  |
    _ Patch Compile Tests _ |
   | +0 :ok: |  mvndep  |   0m 12s |  |  Maven dependency ordering for patch  |
   | +1 :green_heart: |  mvninstall  |   3m  6s |  |  the patch passed  |
   | +1 :green_heart: |  compile  |   5m 48s |  |  the patch passed  |
   | +1 :green_heart: |  cc  |   5m 48s |  |  the patch passed  |
   | +1 :green_heart: |  javac  |   5m 48s |  |  the patch passed  |
   | +1 :green_heart: |  blanks  |   0m  0s |  |  The patch has no blanks 
issues.  |
   | -0 :warning: |  checkstyle  |   0m 14s | 
[/buildtool-patch-checkstyle-hbase-server.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/13/artifact/yetus-general-check/output/buildtool-patch-checkstyle-hbase-server.txt)
 |  The patch fails to run checkstyle in hbase-server  |
   | -0 :warning: |  rubocop  |   0m  8s | 
[/results-rubocop.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/13/artifact/yetus-general-check/output/results-rubocop.txt)
 |  The patch generated 5 new + 445 unchanged - 0 fixed = 450 total (was 445)  |
   | +1 :green_heart: |  spotbugs  |   6m 18s |  |  the patch passed  |
   | +1 :green_heart: |  hadoopcheck  |  12m 11s |  |  Patch does not cause any 
errors with Hadoop 3.3.6 3.4.0.  |
   | +1 :green_heart: |  hbaseprotoc  |   2m 11s |  |  the patch passed  |
   | +1 :green_heart: |  spotless  |   0m 45s |  |  patch has no errors when 
running spotless:check.  |
    _ Other Tests _ |
   | +1 :green_heart: |  asflicense  |   0m 43s |  |  The patch does not 
generate ASF License warnings.  |
   |  |   |  59m  8s |  |  |
   
   
   | Subsystem | Report/Notes |
   |--:|:-|
   | Docker | ClientAPI=1.43 ServerAPI=1.43 base: 
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/13/artifact/yetus-general-check/output/Dockerfile
 |
   | GITHUB PR | https://github.com/apache/hbase/pull/7058 |
   | JIRA Issue | HBASE-29291 |
   | Optional Tests | dupname asflicense javac spotbugs checkstyle codespell 
detsecrets compile hadoopcheck hbaseanti spotless cc buflint bufcompat 
hbaseprotoc rubocop |
   | uname | Linux 73390c9b6adf 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 | HBASE-29081 / 90ce3eb8c1d9512f1e90fe94a1d33a5e0e8decd1 |
   | Default Java | Eclipse Adoptium-17.0.11+9 |
   | Max. process+thread count | 85 (vs. ulimit of 3) |
   | modules | C: hbase-protocol-shaded hbase-client hbase-server hbase-thrift 
hbase-shell U: . |
   | Console output | 
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/13/console
 |
   | versions | git=2.34.1 maven=3.9.8 spotbugs=4.7.3 rubocop=1.37.1 |
   | Powered by | Apache Yetus 0.15.0 https://yetus.apache.org |
   
   
   This message was automatically generated.
   
   


-- 
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]



Re: [PR] HBASE-29291: Add a command to refresh/sync hbase:meta table [hbase]

2025-09-05 Thread via GitHub


Apache-HBase commented on PR #7058:
URL: https://github.com/apache/hbase/pull/7058#issuecomment-3260160742

   :broken_heart: **-1 overall**
   
   
   
   
   
   
   | Vote | Subsystem | Runtime |  Logfile | Comment |
   |::|--:|:|::|:---:|
   | +0 :ok: |  reexec  |   0m 33s |  |  Docker mode activated.  |
   | -0 :warning: |  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 _ |
    _ HBASE-29081 Compile Tests _ |
   | +0 :ok: |  mvndep  |   0m 10s |  |  Maven dependency ordering for branch  |
   | +1 :green_heart: |  mvninstall  |   3m 18s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  compile  |   2m 34s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  javadoc  |   1m 34s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  shadedjars  |   6m 10s |  |  branch has no errors when 
building our shaded downstream artifacts.  |
    _ Patch Compile Tests _ |
   | +0 :ok: |  mvndep  |   0m 13s |  |  Maven dependency ordering for patch  |
   | +1 :green_heart: |  mvninstall  |   3m  6s |  |  the patch passed  |
   | +1 :green_heart: |  compile  |   2m 35s |  |  the patch passed  |
   | +1 :green_heart: |  javac  |   2m 35s |  |  the patch passed  |
   | +1 :green_heart: |  javadoc  |   1m 36s |  |  the patch passed  |
   | +1 :green_heart: |  shadedjars  |   6m  9s |  |  patch has no errors when 
building our shaded downstream artifacts.  |
    _ Other Tests _ |
   | +1 :green_heart: |  unit  |   0m 33s |  |  hbase-protocol-shaded in the 
patch passed.  |
   | +1 :green_heart: |  unit  |   1m 39s |  |  hbase-client in the patch 
passed.  |
   | -1 :x: |  unit  | 235m  3s | 
[/patch-unit-hbase-server.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/12/artifact/yetus-jdk17-hadoop3-check/output/patch-unit-hbase-server.txt)
 |  hbase-server in the patch failed.  |
   | +1 :green_heart: |  unit  |   6m 48s |  |  hbase-thrift in the patch 
passed.  |
   | -1 :x: |  unit  |   7m 49s | 
[/patch-unit-hbase-shell.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/12/artifact/yetus-jdk17-hadoop3-check/output/patch-unit-hbase-shell.txt)
 |  hbase-shell in the patch failed.  |
   |  |   | 284m 43s |  |  |
   
   
   | Subsystem | Report/Notes |
   |--:|:-|
   | Docker | ClientAPI=1.43 ServerAPI=1.43 base: 
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/12/artifact/yetus-jdk17-hadoop3-check/output/Dockerfile
 |
   | GITHUB PR | https://github.com/apache/hbase/pull/7058 |
   | JIRA Issue | HBASE-29291 |
   | Optional Tests | javac javadoc unit compile shadedjars |
   | uname | Linux fc9fab2d8fff 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 | HBASE-29081 / b87765da7ded49f739e04657679d711f86f4753f |
   | Default Java | Eclipse Adoptium-17.0.11+9 |
   |  Test Results | 
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/12/testReport/
 |
   | Max. process+thread count | 5528 (vs. ulimit of 3) |
   | modules | C: hbase-protocol-shaded hbase-client hbase-server hbase-thrift 
hbase-shell U: . |
   | Console output | 
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/12/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.
   
   


-- 
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]



Re: [PR] HBASE-29291: Add a command to refresh/sync hbase:meta table [hbase]

2025-09-05 Thread via GitHub


Apache-HBase commented on PR #7058:
URL: https://github.com/apache/hbase/pull/7058#issuecomment-3259826743

   :confetti_ball: **+1 overall**
   
   
   
   
   
   
   | Vote | Subsystem | Runtime |  Logfile | Comment |
   |::|--:|:|::|:---:|
   | +0 :ok: |  reexec  |   0m 33s |  |  Docker mode activated.  |
    _ Prechecks _ |
   | +1 :green_heart: |  dupname  |   0m  0s |  |  No case conflicting files 
found.  |
   | +0 :ok: |  codespell  |   0m  0s |  |  codespell was not available.  |
   | +0 :ok: |  detsecrets  |   0m  0s |  |  detect-secrets was not available.  
|
   | +0 :ok: |  buf  |   0m  0s |  |  buf was not available.  |
   | +0 :ok: |  buf  |   0m  0s |  |  buf was not available.  |
   | +1 :green_heart: |  @author  |   0m  0s |  |  The patch does not contain 
any @author tags.  |
   | +1 :green_heart: |  hbaseanti  |   0m  0s |  |  Patch does not have any 
anti-patterns.  |
    _ HBASE-29081 Compile Tests _ |
   | +0 :ok: |  mvndep  |   0m 12s |  |  Maven dependency ordering for branch  |
   | +1 :green_heart: |  mvninstall  |   3m 21s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  compile  |   7m 37s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  checkstyle  |   1m 56s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  spotbugs  |   7m 10s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  spotless  |   1m  4s |  |  branch has no errors when 
running spotless:check.  |
    _ Patch Compile Tests _ |
   | +0 :ok: |  mvndep  |   0m 11s |  |  Maven dependency ordering for patch  |
   | +1 :green_heart: |  mvninstall  |   3m 58s |  |  the patch passed  |
   | +1 :green_heart: |  compile  |   6m 35s |  |  the patch passed  |
   | +1 :green_heart: |  cc  |   6m 35s |  |  the patch passed  |
   | +1 :green_heart: |  javac  |   6m 35s |  |  the patch passed  |
   | +1 :green_heart: |  blanks  |   0m  0s |  |  The patch has no blanks 
issues.  |
   | -0 :warning: |  checkstyle  |   0m 20s | 
[/buildtool-patch-checkstyle-hbase-server.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/12/artifact/yetus-general-check/output/buildtool-patch-checkstyle-hbase-server.txt)
 |  The patch fails to run checkstyle in hbase-server  |
   | -0 :warning: |  rubocop  |   0m 12s | 
[/results-rubocop.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/12/artifact/yetus-general-check/output/results-rubocop.txt)
 |  The patch generated 5 new + 445 unchanged - 0 fixed = 450 total (was 445)  |
   | +1 :green_heart: |  spotbugs  |   7m 20s |  |  the patch passed  |
   | +1 :green_heart: |  hadoopcheck  |  17m 33s |  |  Patch does not cause any 
errors with Hadoop 3.3.6 3.4.0.  |
   | +1 :green_heart: |  hbaseprotoc  |   2m 41s |  |  the patch passed  |
   | +1 :green_heart: |  spotless  |   0m 55s |  |  patch has no errors when 
running spotless:check.  |
    _ Other Tests _ |
   | +1 :green_heart: |  asflicense  |   0m 52s |  |  The patch does not 
generate ASF License warnings.  |
   |  |   |  75m  8s |  |  |
   
   
   | Subsystem | Report/Notes |
   |--:|:-|
   | Docker | ClientAPI=1.43 ServerAPI=1.43 base: 
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/12/artifact/yetus-general-check/output/Dockerfile
 |
   | GITHUB PR | https://github.com/apache/hbase/pull/7058 |
   | JIRA Issue | HBASE-29291 |
   | Optional Tests | dupname asflicense javac spotbugs checkstyle codespell 
detsecrets compile hadoopcheck hbaseanti spotless cc buflint bufcompat 
hbaseprotoc rubocop |
   | uname | Linux b023fd4e6450 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 | HBASE-29081 / b87765da7ded49f739e04657679d711f86f4753f |
   | Default Java | Eclipse Adoptium-17.0.11+9 |
   | Max. process+thread count | 85 (vs. ulimit of 3) |
   | modules | C: hbase-protocol-shaded hbase-client hbase-server hbase-thrift 
hbase-shell U: . |
   | Console output | 
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/12/console
 |
   | versions | git=2.34.1 maven=3.9.8 spotbugs=4.7.3 rubocop=1.37.1 |
   | Powered by | Apache Yetus 0.15.0 https://yetus.apache.org |
   
   
   This message was automatically generated.
   
   


-- 
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]



Re: [PR] HBASE-29291: Add a command to refresh/sync hbase:meta table [hbase]

2025-09-05 Thread via GitHub


Apache-HBase commented on PR #7058:
URL: https://github.com/apache/hbase/pull/7058#issuecomment-3259658098

   :broken_heart: **-1 overall**
   
   
   
   
   
   
   | Vote | Subsystem | Runtime |  Logfile | Comment |
   |::|--:|:|::|:---:|
   | +0 :ok: |  reexec  |   0m 32s |  |  Docker mode activated.  |
   | -0 :warning: |  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 _ |
    _ HBASE-29081 Compile Tests _ |
   | +0 :ok: |  mvndep  |   0m 10s |  |  Maven dependency ordering for branch  |
   | +1 :green_heart: |  mvninstall  |   3m 15s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  compile  |   2m 32s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  javadoc  |   1m 34s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  shadedjars  |   6m  6s |  |  branch has no errors when 
building our shaded downstream artifacts.  |
    _ Patch Compile Tests _ |
   | +0 :ok: |  mvndep  |   0m 12s |  |  Maven dependency ordering for patch  |
   | +1 :green_heart: |  mvninstall  |   3m  7s |  |  the patch passed  |
   | +1 :green_heart: |  compile  |   2m 33s |  |  the patch passed  |
   | +1 :green_heart: |  javac  |   2m 33s |  |  the patch passed  |
   | +1 :green_heart: |  javadoc  |   1m 33s |  |  the patch passed  |
   | +1 :green_heart: |  shadedjars  |   6m  6s |  |  patch has no errors when 
building our shaded downstream artifacts.  |
    _ Other Tests _ |
   | +1 :green_heart: |  unit  |   0m 33s |  |  hbase-protocol-shaded in the 
patch passed.  |
   | +1 :green_heart: |  unit  |   1m 39s |  |  hbase-client in the patch 
passed.  |
   | -1 :x: |  unit  | 235m 45s | 
[/patch-unit-hbase-server.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/11/artifact/yetus-jdk17-hadoop3-check/output/patch-unit-hbase-server.txt)
 |  hbase-server in the patch failed.  |
   | +1 :green_heart: |  unit  |   7m  3s |  |  hbase-thrift in the patch 
passed.  |
   | -1 :x: |  unit  |   8m  2s | 
[/patch-unit-hbase-shell.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/11/artifact/yetus-jdk17-hadoop3-check/output/patch-unit-hbase-shell.txt)
 |  hbase-shell in the patch failed.  |
   |  |   | 286m 17s |  |  |
   
   
   | Subsystem | Report/Notes |
   |--:|:-|
   | Docker | ClientAPI=1.43 ServerAPI=1.43 base: 
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/11/artifact/yetus-jdk17-hadoop3-check/output/Dockerfile
 |
   | GITHUB PR | https://github.com/apache/hbase/pull/7058 |
   | JIRA Issue | HBASE-29291 |
   | Optional Tests | javac javadoc unit compile shadedjars |
   | uname | Linux c6bfeca8cfdd 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 | HBASE-29081 / 6b514627d254fb9266dbb3d6767f520054922a42 |
   | Default Java | Eclipse Adoptium-17.0.11+9 |
   |  Test Results | 
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/11/testReport/
 |
   | Max. process+thread count | 4730 (vs. ulimit of 3) |
   | modules | C: hbase-protocol-shaded hbase-client hbase-server hbase-thrift 
hbase-shell U: . |
   | Console output | 
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/11/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.
   
   


-- 
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]



Re: [PR] HBASE-29291: Add a command to refresh/sync hbase:meta table [hbase]

2025-09-05 Thread via GitHub


Apache-HBase commented on PR #7058:
URL: https://github.com/apache/hbase/pull/7058#issuecomment-3259069793

   :confetti_ball: **+1 overall**
   
   
   
   
   
   
   | Vote | Subsystem | Runtime |  Logfile | Comment |
   |::|--:|:|::|:---:|
   | +0 :ok: |  reexec  |   0m 32s |  |  Docker mode activated.  |
    _ Prechecks _ |
   | +1 :green_heart: |  dupname  |   0m  0s |  |  No case conflicting files 
found.  |
   | +0 :ok: |  codespell  |   0m  0s |  |  codespell was not available.  |
   | +0 :ok: |  detsecrets  |   0m  0s |  |  detect-secrets was not available.  
|
   | +0 :ok: |  buf  |   0m  0s |  |  buf was not available.  |
   | +0 :ok: |  buf  |   0m  0s |  |  buf was not available.  |
   | +1 :green_heart: |  @author  |   0m  0s |  |  The patch does not contain 
any @author tags.  |
   | +1 :green_heart: |  hbaseanti  |   0m  0s |  |  Patch does not have any 
anti-patterns.  |
    _ HBASE-29081 Compile Tests _ |
   | +0 :ok: |  mvndep  |   0m  9s |  |  Maven dependency ordering for branch  |
   | +1 :green_heart: |  mvninstall  |   3m 16s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  compile  |   5m 49s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  checkstyle  |   1m 37s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  spotbugs  |   6m 59s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  spotless  |   0m 58s |  |  branch has no errors when 
running spotless:check.  |
    _ Patch Compile Tests _ |
   | +0 :ok: |  mvndep  |   0m 11s |  |  Maven dependency ordering for patch  |
   | +1 :green_heart: |  mvninstall  |   4m  3s |  |  the patch passed  |
   | +1 :green_heart: |  compile  |   6m 32s |  |  the patch passed  |
   | +1 :green_heart: |  cc  |   6m 32s |  |  the patch passed  |
   | +1 :green_heart: |  javac  |   6m 32s |  |  the patch passed  |
   | +1 :green_heart: |  blanks  |   0m  0s |  |  The patch has no blanks 
issues.  |
   | -0 :warning: |  checkstyle  |   0m 26s | 
[/buildtool-patch-checkstyle-hbase-server.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/11/artifact/yetus-general-check/output/buildtool-patch-checkstyle-hbase-server.txt)
 |  The patch fails to run checkstyle in hbase-server  |
   | -0 :warning: |  rubocop  |   0m 21s | 
[/results-rubocop.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/11/artifact/yetus-general-check/output/results-rubocop.txt)
 |  The patch generated 5 new + 445 unchanged - 0 fixed = 450 total (was 445)  |
   | +1 :green_heart: |  spotbugs  |   8m 11s |  |  the patch passed  |
   | +1 :green_heart: |  hadoopcheck  |  13m 52s |  |  Patch does not cause any 
errors with Hadoop 3.3.6 3.4.0.  |
   | +1 :green_heart: |  hbaseprotoc  |   3m 51s |  |  the patch passed  |
   | +1 :green_heart: |  spotless  |   1m 17s |  |  patch has no errors when 
running spotless:check.  |
    _ Other Tests _ |
   | +1 :green_heart: |  asflicense  |   1m 34s |  |  The patch does not 
generate ASF License warnings.  |
   |  |   |  72m 21s |  |  |
   
   
   | Subsystem | Report/Notes |
   |--:|:-|
   | Docker | ClientAPI=1.43 ServerAPI=1.43 base: 
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/11/artifact/yetus-general-check/output/Dockerfile
 |
   | GITHUB PR | https://github.com/apache/hbase/pull/7058 |
   | JIRA Issue | HBASE-29291 |
   | Optional Tests | dupname asflicense javac spotbugs checkstyle codespell 
detsecrets compile hadoopcheck hbaseanti spotless cc buflint bufcompat 
hbaseprotoc rubocop |
   | uname | Linux 349963ad1806 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 | HBASE-29081 / 6b514627d254fb9266dbb3d6767f520054922a42 |
   | Default Java | Eclipse Adoptium-17.0.11+9 |
   | Max. process+thread count | 85 (vs. ulimit of 3) |
   | modules | C: hbase-protocol-shaded hbase-client hbase-server hbase-thrift 
hbase-shell U: . |
   | Console output | 
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/11/console
 |
   | versions | git=2.34.1 maven=3.9.8 spotbugs=4.7.3 rubocop=1.37.1 |
   | Powered by | Apache Yetus 0.15.0 https://yetus.apache.org |
   
   
   This message was automatically generated.
   
   


-- 
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]



Re: [PR] HBASE-29291: Add a command to refresh/sync hbase:meta table [hbase]

2025-09-02 Thread via GitHub


kgeisz commented on code in PR #7058:
URL: https://github.com/apache/hbase/pull/7058#discussion_r2317240813


##
hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/RefreshMetaProcedure.java:
##
@@ -0,0 +1,418 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.hadoop.hbase.master.procedure;
+
+import static 
org.apache.hadoop.hbase.shaded.protobuf.generated.ProcedureProtos.ProcedureState.WAITING_TIMEOUT;
+
+import java.io.DataInputStream;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+import java.util.function.Function;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.fs.FSDataInputStream;
+import org.apache.hadoop.fs.FileStatus;
+import org.apache.hadoop.fs.FileSystem;
+import org.apache.hadoop.fs.Path;
+import org.apache.hadoop.hbase.HConstants;
+import org.apache.hadoop.hbase.MetaTableAccessor;
+import org.apache.hadoop.hbase.TableName;
+import org.apache.hadoop.hbase.client.Connection;
+import org.apache.hadoop.hbase.client.Delete;
+import org.apache.hadoop.hbase.client.Mutation;
+import org.apache.hadoop.hbase.client.Put;
+import org.apache.hadoop.hbase.client.RegionInfo;
+import org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer;
+import org.apache.hadoop.hbase.procedure2.ProcedureSuspendedException;
+import org.apache.hadoop.hbase.procedure2.ProcedureUtil;
+import org.apache.hadoop.hbase.regionserver.HRegionFileSystem;
+import org.apache.hadoop.hbase.util.CommonFSUtils;
+import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;
+import org.apache.hadoop.hbase.util.FSUtils;
+import org.apache.hadoop.hbase.util.RetryCounter;
+import org.apache.yetus.audience.InterfaceAudience;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import org.apache.hbase.thirdparty.com.google.common.collect.Lists;
+
+import 
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.RefreshMetaState;
+import 
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.RefreshMetaStateData;
+
[email protected]
+public class RefreshMetaProcedure extends 
AbstractStateMachineTableProcedure {
+  private static final Logger LOG = 
LoggerFactory.getLogger(RefreshMetaProcedure.class);
+  private static final String HIDDEN_DIR_PATTERN = "^[._-].*";
+
+  private List currentRegions;
+  private List latestRegions;
+  private List pendingMutations;
+  private RetryCounter retryCounter;
+  private static final int MUTATION_BATCH_SIZE = 100;
+
+  public RefreshMetaProcedure() {
+super();
+  }
+
+  public RefreshMetaProcedure(MasterProcedureEnv env) {
+super(env);
+  }
+
+  @Override
+  public TableName getTableName() {
+return TableName.META_TABLE_NAME;
+  }
+
+  @Override
+  public TableOperationType getTableOperationType() {
+return TableOperationType.EDIT;
+  }
+
+  @Override
+  protected Flow executeFromState(MasterProcedureEnv env, RefreshMetaState 
refreshMetaState) {
+LOG.info("Executing RefreshMetaProcedure state: {}", refreshMetaState);
+
+try {
+  return switch (refreshMetaState) {
+case REFRESH_META_INIT -> executeInit(env);
+case REFRESH_META_SCAN_STORAGE -> executeScanStorage(env);
+case REFRESH_META_PREPARE -> executePrepare();
+case REFRESH_META_APPLY -> executeApply(env);
+default -> throw new UnsupportedOperationException("Unhandled state: " 
+ refreshMetaState);
+  };
+} catch (Exception ex) {
+  LOG.error("Error in RefreshMetaProcedure state {}", refreshMetaState, 
ex);
+  setFailure("RefreshMetaProcedure", ex);
+  return Flow.NO_MORE_STATE;
+}
+  }
+
+  private Flow executeInit(MasterProcedureEnv env) throws IOException {
+LOG.trace("Getting current regions from hbase:meta table");
+try {
+  currentRegions = 
getCurrentRegions(env.getMasterServices().getConnection());
+  LOG.info("Found {} current regions in meta table", 
currentRegions.size());
+  setNextState(RefreshMetaState.REFRESH_META_SCAN_STORAGE);
+  return Flow.HAS_MORE_ST

Re: [PR] HBASE-29291: Add a command to refresh/sync hbase:meta table [hbase]

2025-08-25 Thread via GitHub


Apache-HBase commented on PR #7058:
URL: https://github.com/apache/hbase/pull/7058#issuecomment-3222422583

   :broken_heart: **-1 overall**
   
   
   
   
   
   
   | Vote | Subsystem | Runtime |  Logfile | Comment |
   |::|--:|:|::|:---:|
   | +0 :ok: |  reexec  |   0m 28s |  |  Docker mode activated.  |
   | -0 :warning: |  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 _ |
    _ HBASE-29081 Compile Tests _ |
   | +0 :ok: |  mvndep  |   0m 10s |  |  Maven dependency ordering for branch  |
   | +1 :green_heart: |  mvninstall  |   3m 19s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  compile  |   2m 38s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  javadoc  |   1m 35s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  shadedjars  |   6m 10s |  |  branch has no errors when 
building our shaded downstream artifacts.  |
    _ Patch Compile Tests _ |
   | +0 :ok: |  mvndep  |   0m 13s |  |  Maven dependency ordering for patch  |
   | +1 :green_heart: |  mvninstall  |   3m  7s |  |  the patch passed  |
   | +1 :green_heart: |  compile  |   2m 33s |  |  the patch passed  |
   | +1 :green_heart: |  javac  |   2m 33s |  |  the patch passed  |
   | +1 :green_heart: |  javadoc  |   1m 32s |  |  the patch passed  |
   | +1 :green_heart: |  shadedjars  |   6m  5s |  |  patch has no errors when 
building our shaded downstream artifacts.  |
    _ Other Tests _ |
   | +1 :green_heart: |  unit  |   0m 34s |  |  hbase-protocol-shaded in the 
patch passed.  |
   | +1 :green_heart: |  unit  |   1m 37s |  |  hbase-client in the patch 
passed.  |
   | -1 :x: |  unit  | 234m 54s | 
[/patch-unit-hbase-server.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/10/artifact/yetus-jdk17-hadoop3-check/output/patch-unit-hbase-server.txt)
 |  hbase-server in the patch failed.  |
   | +1 :green_heart: |  unit  |   7m  2s |  |  hbase-thrift in the patch 
passed.  |
   | -1 :x: |  unit  |   7m 45s | 
[/patch-unit-hbase-shell.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/10/artifact/yetus-jdk17-hadoop3-check/output/patch-unit-hbase-shell.txt)
 |  hbase-shell in the patch failed.  |
   |  |   | 285m 33s |  |  |
   
   
   | Subsystem | Report/Notes |
   |--:|:-|
   | Docker | ClientAPI=1.43 ServerAPI=1.43 base: 
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/10/artifact/yetus-jdk17-hadoop3-check/output/Dockerfile
 |
   | GITHUB PR | https://github.com/apache/hbase/pull/7058 |
   | JIRA Issue | HBASE-29291 |
   | Optional Tests | javac javadoc unit compile shadedjars |
   | uname | Linux 714bfb8f3c0e 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 | HBASE-29081 / c490a0a79bb195a39f381e9ba0747b25237c2b5c |
   | Default Java | Eclipse Adoptium-17.0.11+9 |
   |  Test Results | 
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/10/testReport/
 |
   | Max. process+thread count | 5750 (vs. ulimit of 3) |
   | modules | C: hbase-protocol-shaded hbase-client hbase-server hbase-thrift 
hbase-shell U: . |
   | Console output | 
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/10/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.
   
   


-- 
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]



Re: [PR] HBASE-29291: Add a command to refresh/sync hbase:meta table [hbase]

2025-08-25 Thread via GitHub


Apache-HBase commented on PR #7058:
URL: https://github.com/apache/hbase/pull/7058#issuecomment-3222026313

   :confetti_ball: **+1 overall**
   
   
   
   
   
   
   | Vote | Subsystem | Runtime |  Logfile | Comment |
   |::|--:|:|::|:---:|
   | +0 :ok: |  reexec  |   0m 44s |  |  Docker mode activated.  |
    _ Prechecks _ |
   | +1 :green_heart: |  dupname  |   0m  0s |  |  No case conflicting files 
found.  |
   | +0 :ok: |  codespell  |   0m  0s |  |  codespell was not available.  |
   | +0 :ok: |  detsecrets  |   0m  0s |  |  detect-secrets was not available.  
|
   | +0 :ok: |  buf  |   0m  0s |  |  buf was not available.  |
   | +0 :ok: |  buf  |   0m  0s |  |  buf was not available.  |
   | +1 :green_heart: |  @author  |   0m  0s |  |  The patch does not contain 
any @author tags.  |
   | +1 :green_heart: |  hbaseanti  |   0m  0s |  |  Patch does not have any 
anti-patterns.  |
    _ HBASE-29081 Compile Tests _ |
   | +0 :ok: |  mvndep  |   0m 12s |  |  Maven dependency ordering for branch  |
   | +1 :green_heart: |  mvninstall  |   4m  7s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  compile  |   7m 10s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  checkstyle  |   1m 57s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  spotbugs  |   6m 55s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  spotless  |   0m 55s |  |  branch has no errors when 
running spotless:check.  |
    _ Patch Compile Tests _ |
   | +0 :ok: |  mvndep  |   0m 12s |  |  Maven dependency ordering for patch  |
   | +1 :green_heart: |  mvninstall  |   3m 48s |  |  the patch passed  |
   | +1 :green_heart: |  compile  |   7m  3s |  |  the patch passed  |
   | +1 :green_heart: |  cc  |   7m  3s |  |  the patch passed  |
   | +1 :green_heart: |  javac  |   7m  3s |  |  the patch passed  |
   | +1 :green_heart: |  blanks  |   0m  0s |  |  The patch has no blanks 
issues.  |
   | -0 :warning: |  checkstyle  |   0m 18s | 
[/buildtool-patch-checkstyle-hbase-server.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/10/artifact/yetus-general-check/output/buildtool-patch-checkstyle-hbase-server.txt)
 |  The patch fails to run checkstyle in hbase-server  |
   | -0 :warning: |  rubocop  |   0m 19s | 
[/results-rubocop.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/10/artifact/yetus-general-check/output/results-rubocop.txt)
 |  The patch generated 5 new + 445 unchanged - 0 fixed = 450 total (was 445)  |
   | +1 :green_heart: |  spotbugs  |   8m 10s |  |  the patch passed  |
   | +1 :green_heart: |  hadoopcheck  |  13m 54s |  |  Patch does not cause any 
errors with Hadoop 3.3.6 3.4.0.  |
   | +1 :green_heart: |  hbaseprotoc  |   2m 30s |  |  the patch passed  |
   | +1 :green_heart: |  spotless  |   1m  0s |  |  patch has no errors when 
running spotless:check.  |
    _ Other Tests _ |
   | +1 :green_heart: |  asflicense  |   0m 55s |  |  The patch does not 
generate ASF License warnings.  |
   |  |   |  70m 49s |  |  |
   
   
   | Subsystem | Report/Notes |
   |--:|:-|
   | Docker | ClientAPI=1.43 ServerAPI=1.43 base: 
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/10/artifact/yetus-general-check/output/Dockerfile
 |
   | GITHUB PR | https://github.com/apache/hbase/pull/7058 |
   | JIRA Issue | HBASE-29291 |
   | Optional Tests | dupname asflicense javac spotbugs checkstyle codespell 
detsecrets compile hadoopcheck hbaseanti spotless cc buflint bufcompat 
hbaseprotoc rubocop |
   | uname | Linux 56c1065b2069 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 | HBASE-29081 / c490a0a79bb195a39f381e9ba0747b25237c2b5c |
   | Default Java | Eclipse Adoptium-17.0.11+9 |
   | Max. process+thread count | 84 (vs. ulimit of 3) |
   | modules | C: hbase-protocol-shaded hbase-client hbase-server hbase-thrift 
hbase-shell U: . |
   | Console output | 
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/10/console
 |
   | versions | git=2.34.1 maven=3.9.8 spotbugs=4.7.3 rubocop=1.37.1 |
   | Powered by | Apache Yetus 0.15.0 https://yetus.apache.org |
   
   
   This message was automatically generated.
   
   


-- 
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]



Re: [PR] HBASE-29291: Add a command to refresh/sync hbase:meta table [hbase]

2025-08-11 Thread via GitHub


anmolnar commented on PR #7058:
URL: https://github.com/apache/hbase/pull/7058#issuecomment-3176973968

   Problem was that region hasn't been assigned to any RS. Simply **unassign** 
and **assign** the region id from hbase shell has fixed the problem.


-- 
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]



Re: [PR] HBASE-29291: Add a command to refresh/sync hbase:meta table [hbase]

2025-08-11 Thread via GitHub


anmolnar commented on PR #7058:
URL: https://github.com/apache/hbase/pull/7058#issuecomment-3176961446

   I continued with the test scenario by copying back the data files to its 
original location.
   
   1. `cp -a 0/andor2 tmp/hbase/data/default/`
   
   Files are there:
   ```
   $ ls -al tmp/hbase/data/default/andor2
   total 0
   drwxr-xr-x  4 andor  staff  128 Aug 11 16:26 .
   drwxr-xr-x  4 andor  staff  128 Aug 11 16:28 ..
   drwxr-xr-x  3 andor  staff   96 Aug 11 16:26 .tabledesc
   drwxr-xr-x  5 andor  staff  160 Aug 11 16:26 25307cc8b65ff12935deca5885ccad07
   ```
   
   2. Run `refresh_meta` restored a single entry in `hbase:meta` table:
   
   ```
andor2 column=table:state, timestamp=2025-08-11T16:26:55.969, value=\x08\x00
andor2,,1754947615506.25307cc8b65ff12935deca5885ccad07. 
column=info:regioninfo, timestamp=2025-08-11T16:28:25.187, value={ENCODED => 
25307cc8b65ff12935deca5885ccad07, NAME => 
'andor2,,1754947615506.25307cc8b65ff12935deca5885ccad07.', STARTKEY => '', 
ENDKEY => ''}
   ```
   
   3. `scan 'andor2' still doesn't work
   
   ```
   ERROR: No location found for 'andor2', row='', locateType=CURRENT
   ```


-- 
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]



Re: [PR] HBASE-29291: Add a command to refresh/sync hbase:meta table [hbase]

2025-08-11 Thread via GitHub


anmolnar commented on PR #7058:
URL: https://github.com/apache/hbase/pull/7058#issuecomment-3176949149

   @Kota-SH 
   
   What test scenarios have you verified during your testing?
   
   I did the following:
   1. Created new table "andor2": `create 'andor2', 'cf2'` and I see the 
following entries in `hbase:meta`:
   
   ```
andor2 column=table:state, timestamp=2025-08-11T16:19:23.543, value=\x08\x00
andor2,,1754947163069.16a8d98b75e72574d4160c4853d0c664. 
column=info:regioninfo, timestamp=2025-08-11T16:19:23.539, value={ENCODED => 
16a8d98b75e72574d4160c4853d0c664, NAME => 
'andor2,,1754947163069.16a8d98b75e72574d4160c4853d0c664.', STARTKEY => '', 
ENDKEY => ''}
andor2,,1754947163069.16a8d98b75e72574d4160c4853d0c664. 
column=info:seqnumDuringOpen, timestamp=2025-08-11T16:19:23.539, 
value=\x00\x00\x00\x00\x00\x00\x00\x02
andor2,,1754947163069.16a8d98b75e72574d4160c4853d0c664. column=info:server, 
timestamp=2025-08-11T16:19:23.539, value=localhost:16020
andor2,,1754947163069.16a8d98b75e72574d4160c4853d0c664. 
column=info:serverstartcode, timestamp=2025-08-11T16:19:23.539, 
value=1754946612086
andor2,,1754947163069.16a8d98b75e72574d4160c4853d0c664. column=info:sn, 
timestamp=2025-08-11T16:19:23.297, value=localhost,16020,1754946612086
andor2,,1754947163069.16a8d98b75e72574d4160c4853d0c664. column=info:state, 
timestamp=2025-08-11T16:19:23.539, value=OPEN
   ```
   
   2. Deleted all files related to this table from the FS:  `rm -rf 
tmp/hbase/data/default/andor2`
   
   3. Executed `refresh_meta` and see the following in `hbase:meta`
   
   ```
   andor2 column=table:state, timestamp=2025-08-11T16:19:23.543, value=\x08\x00
   ```
   
   Looks like the "table entry" is still there, though all regions have been 
deleted by the refresh command. Listing tables still shows the "andor2" table, 
but I cannot scan it anymore, it says unkown table. I think in this case the 
entire table should gone from HBase.


-- 
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]



Re: [PR] HBASE-29291: Add a command to refresh/sync hbase:meta table [hbase]

2025-08-08 Thread via GitHub


Apache-HBase commented on PR #7058:
URL: https://github.com/apache/hbase/pull/7058#issuecomment-3169586629

   :broken_heart: **-1 overall**
   
   
   
   
   
   
   | Vote | Subsystem | Runtime |  Logfile | Comment |
   |::|--:|:|::|:---:|
   | +0 :ok: |  reexec  |   0m 32s |  |  Docker mode activated.  |
   | -0 :warning: |  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 _ |
    _ HBASE-29081 Compile Tests _ |
   | +0 :ok: |  mvndep  |   0m 12s |  |  Maven dependency ordering for branch  |
   | +1 :green_heart: |  mvninstall  |   2m 58s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  compile  |   2m 37s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  javadoc  |   1m 39s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  shadedjars  |   6m  2s |  |  branch has no errors when 
building our shaded downstream artifacts.  |
    _ Patch Compile Tests _ |
   | +0 :ok: |  mvndep  |   0m 14s |  |  Maven dependency ordering for patch  |
   | +1 :green_heart: |  mvninstall  |   3m  1s |  |  the patch passed  |
   | +1 :green_heart: |  compile  |   2m 40s |  |  the patch passed  |
   | +1 :green_heart: |  javac  |   2m 40s |  |  the patch passed  |
   | +1 :green_heart: |  javadoc  |   1m 38s |  |  the patch passed  |
   | +1 :green_heart: |  shadedjars  |   6m  0s |  |  patch has no errors when 
building our shaded downstream artifacts.  |
    _ Other Tests _ |
   | +1 :green_heart: |  unit  |   0m 37s |  |  hbase-protocol-shaded in the 
patch passed.  |
   | +1 :green_heart: |  unit  |   1m 37s |  |  hbase-client in the patch 
passed.  |
   | -1 :x: |  unit  | 246m 12s | 
[/patch-unit-hbase-server.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/9/artifact/yetus-jdk17-hadoop3-check/output/patch-unit-hbase-server.txt)
 |  hbase-server in the patch failed.  |
   | +1 :green_heart: |  unit  |   6m 53s |  |  hbase-thrift in the patch 
passed.  |
   | -1 :x: |  unit  |   8m 15s | 
[/patch-unit-hbase-shell.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/9/artifact/yetus-jdk17-hadoop3-check/output/patch-unit-hbase-shell.txt)
 |  hbase-shell in the patch failed.  |
   |  |   | 297m 28s |  |  |
   
   
   | Subsystem | Report/Notes |
   |--:|:-|
   | Docker | ClientAPI=1.43 ServerAPI=1.43 base: 
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/9/artifact/yetus-jdk17-hadoop3-check/output/Dockerfile
 |
   | GITHUB PR | https://github.com/apache/hbase/pull/7058 |
   | JIRA Issue | HBASE-29291 |
   | Optional Tests | javac javadoc unit compile shadedjars |
   | uname | Linux 2eadd14495bb 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 | HBASE-29081 / 93cd9eaecf3f0271b45e7b4b5f54e9a7d32c8e03 |
   | Default Java | Eclipse Adoptium-17.0.11+9 |
   |  Test Results | 
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/9/testReport/
 |
   | Max. process+thread count | 5365 (vs. ulimit of 3) |
   | modules | C: hbase-protocol-shaded hbase-client hbase-server hbase-thrift 
hbase-shell U: . |
   | Console output | 
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/9/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.
   
   


-- 
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]



Re: [PR] HBASE-29291: Add a command to refresh/sync hbase:meta table [hbase]

2025-08-08 Thread via GitHub


Apache-HBase commented on PR #7058:
URL: https://github.com/apache/hbase/pull/7058#issuecomment-3169105860

   :broken_heart: **-1 overall**
   
   
   
   
   
   
   | Vote | Subsystem | Runtime |  Logfile | Comment |
   |::|--:|:|::|:---:|
   | +0 :ok: |  reexec  |   0m 33s |  |  Docker mode activated.  |
    _ Prechecks _ |
   | +1 :green_heart: |  dupname  |   0m  0s |  |  No case conflicting files 
found.  |
   | +0 :ok: |  codespell  |   0m  0s |  |  codespell was not available.  |
   | +0 :ok: |  detsecrets  |   0m  0s |  |  detect-secrets was not available.  
|
   | +0 :ok: |  buf  |   0m  0s |  |  buf was not available.  |
   | +0 :ok: |  buf  |   0m  0s |  |  buf was not available.  |
   | +1 :green_heart: |  @author  |   0m  0s |  |  The patch does not contain 
any @author tags.  |
   | +1 :green_heart: |  hbaseanti  |   0m  0s |  |  Patch does not have any 
anti-patterns.  |
    _ HBASE-29081 Compile Tests _ |
   | +0 :ok: |  mvndep  |   0m 10s |  |  Maven dependency ordering for branch  |
   | +1 :green_heart: |  mvninstall  |   3m  7s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  compile  |   5m 40s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  checkstyle  |   1m 41s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  spotbugs  |   5m 54s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  spotless  |   0m 46s |  |  branch has no errors when 
running spotless:check.  |
    _ Patch Compile Tests _ |
   | +0 :ok: |  mvndep  |   0m 12s |  |  Maven dependency ordering for patch  |
   | +1 :green_heart: |  mvninstall  |   3m  0s |  |  the patch passed  |
   | +1 :green_heart: |  compile  |   5m 40s |  |  the patch passed  |
   | +1 :green_heart: |  cc  |   5m 40s |  |  the patch passed  |
   | +1 :green_heart: |  javac  |   5m 40s |  |  the patch passed  |
   | +1 :green_heart: |  blanks  |   0m  0s |  |  The patch has no blanks 
issues.  |
   | -0 :warning: |  checkstyle  |   0m 14s | 
[/buildtool-patch-checkstyle-hbase-server.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/9/artifact/yetus-general-check/output/buildtool-patch-checkstyle-hbase-server.txt)
 |  The patch fails to run checkstyle in hbase-server  |
   | -0 :warning: |  rubocop  |   0m 20s | 
[/results-rubocop.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/9/artifact/yetus-general-check/output/results-rubocop.txt)
 |  The patch generated 5 new + 444 unchanged - 0 fixed = 449 total (was 444)  |
   | +1 :green_heart: |  spotbugs  |   6m 26s |  |  the patch passed  |
   | +1 :green_heart: |  hadoopcheck  |  11m 43s |  |  Patch does not cause any 
errors with Hadoop 3.3.6 3.4.0.  |
   | +1 :green_heart: |  hbaseprotoc  |   2m  9s |  |  the patch passed  |
   | -1 :x: |  spotless  |   0m 40s |  |  patch has 65 errors when running 
spotless:check, run spotless:apply to fix.  |
    _ Other Tests _ |
   | +1 :green_heart: |  asflicense  |   0m 47s |  |  The patch does not 
generate ASF License warnings.  |
   |  |   |  58m 19s |  |  |
   
   
   | Subsystem | Report/Notes |
   |--:|:-|
   | Docker | ClientAPI=1.43 ServerAPI=1.43 base: 
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/9/artifact/yetus-general-check/output/Dockerfile
 |
   | GITHUB PR | https://github.com/apache/hbase/pull/7058 |
   | JIRA Issue | HBASE-29291 |
   | Optional Tests | dupname asflicense javac spotbugs checkstyle codespell 
detsecrets compile hadoopcheck hbaseanti spotless cc buflint bufcompat 
hbaseprotoc rubocop |
   | uname | Linux 0afd808ceb04 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 | HBASE-29081 / 93cd9eaecf3f0271b45e7b4b5f54e9a7d32c8e03 |
   | Default Java | Eclipse Adoptium-17.0.11+9 |
   | spotless | 
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/9/artifact/yetus-general-check/output/patch-spotless.txt
 |
   | Max. process+thread count | 86 (vs. ulimit of 3) |
   | modules | C: hbase-protocol-shaded hbase-client hbase-server hbase-thrift 
hbase-shell U: . |
   | Console output | 
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/9/console 
|
   | versions | git=2.34.1 maven=3.9.8 spotbugs=4.7.3 rubocop=1.37.1 |
   | Powered by | Apache Yetus 0.15.0 https://yetus.apache.org |
   
   
   This message was automatically generated.
   
   


-- 
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]



Re: [PR] HBASE-29291: Add a command to refresh/sync hbase:meta table [hbase]

2025-08-04 Thread via GitHub


anmolnar commented on code in PR #7058:
URL: https://github.com/apache/hbase/pull/7058#discussion_r2252552493


##
hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/RefreshMetaProcedure.java:
##
@@ -0,0 +1,416 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.hadoop.hbase.master.procedure;
+
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.fs.FSDataInputStream;
+import org.apache.hadoop.fs.FileStatus;
+import org.apache.hadoop.fs.FileSystem;
+import org.apache.hadoop.fs.Path;
+import org.apache.hadoop.hbase.HConstants;
+import org.apache.hadoop.hbase.MetaTableAccessor;
+import org.apache.hadoop.hbase.TableName;
+import org.apache.hadoop.hbase.client.Connection;
+import org.apache.hadoop.hbase.client.Delete;
+import org.apache.hadoop.hbase.client.Mutation;
+import org.apache.hadoop.hbase.client.Put;
+import org.apache.hadoop.hbase.client.RegionInfo;
+import org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer;
+import 
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.RefreshMetaState;
+import 
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.RefreshMetaStateData;
+import org.apache.hadoop.hbase.util.CommonFSUtils;
+import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;
+import org.apache.hadoop.hbase.util.RetryCounter;
+import org.apache.hadoop.hbase.procedure2.ProcedureUtil;
+import org.apache.hbase.thirdparty.com.google.common.collect.Lists;
+import org.apache.yetus.audience.InterfaceAudience;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.apache.hadoop.hbase.regionserver.HRegionFileSystem;
+import org.apache.hadoop.hbase.util.FSUtils;
+
+import java.io.DataInputStream;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+import java.util.function.Function;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
+
[email protected]
+public class RefreshMetaProcedure extends 
AbstractStateMachineTableProcedure {
+  private static final Logger LOG = 
LoggerFactory.getLogger(RefreshMetaProcedure.class);
+  private static final String HIDDEN_DIR_PATTERN = "^[._-].*";
+
+  private List currentRegions;
+  private List latestRegions;
+  private static final int MUTATION_BATCH_SIZE = 100;
+
+  public RefreshMetaProcedure() {
+super();
+  }
+
+  public RefreshMetaProcedure(MasterProcedureEnv env) {
+super(env);
+  }
+
+  @Override
+  public TableName getTableName() {
+return TableName.META_TABLE_NAME;
+  }
+
+  @Override
+  public TableOperationType getTableOperationType() {
+return TableOperationType.EDIT;
+  }
+
+  @Override
+  protected Flow executeFromState(MasterProcedureEnv env, RefreshMetaState 
refreshMetaState) {
+LOG.info("Executing RefreshMetaProcedure state: {}", refreshMetaState);
+
+try {
+  return switch (refreshMetaState) {
+case REFRESH_META_INIT -> executeInit(env);
+case REFRESH_META_SCAN_STORAGE -> executeScanStorage(env);
+case REFRESH_META_UPDATE -> executeUpdate(env);
+case REFRESH_META_COMPLETE -> executeComplete();
+default -> throw new UnsupportedOperationException("Unhandled state: " 
+ refreshMetaState);
+  };
+} catch (Exception ex) {
+  LOG.error("Error in RefreshMetaProcedure state {}", refreshMetaState, 
ex);
+  setFailure("RefreshMetaProcedure", ex);
+  return Flow.NO_MORE_STATE;
+}
+  }
+
+  private Flow executeInit(MasterProcedureEnv env) throws IOException {
+LOG.trace("Getting current regions from hbase:meta table");
+try {
+  currentRegions = 
getCurrentRegions(env.getMasterServices().getConnection());
+  LOG.info("Found {} current regions in meta table", 
currentRegions.size());
+  setNextState(RefreshMetaState.REFRESH_META_SCAN_STORAGE);
+  return Flow.HAS_MORE_STATE;
+} catch (IOException ioe) {
+  LOG.error("Failed to get current regions from meta table", ioe);
+  throw ioe;
+}
+  }
+
+  private Flow executeScanStorage(MasterProcedureEnv env) throws IOException {
+try {
+  latestRegions = 

Re: [PR] HBASE-29291: Add a command to refresh/sync hbase:meta table [hbase]

2025-07-31 Thread via GitHub


Apache-HBase commented on PR #7058:
URL: https://github.com/apache/hbase/pull/7058#issuecomment-3141176269

   :broken_heart: **-1 overall**
   
   
   
   
   
   
   | Vote | Subsystem | Runtime |  Logfile | Comment |
   |::|--:|:|::|:---:|
   | +0 :ok: |  reexec  |   0m 32s |  |  Docker mode activated.  |
   | -0 :warning: |  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 _ |
    _ HBASE-29081 Compile Tests _ |
   | +0 :ok: |  mvndep  |   0m 10s |  |  Maven dependency ordering for branch  |
   | +1 :green_heart: |  mvninstall  |   3m  5s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  compile  |   2m 33s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  javadoc  |   1m 35s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  shadedjars  |   5m 59s |  |  branch has no errors when 
building our shaded downstream artifacts.  |
    _ Patch Compile Tests _ |
   | +0 :ok: |  mvndep  |   0m 13s |  |  Maven dependency ordering for patch  |
   | +1 :green_heart: |  mvninstall  |   3m  2s |  |  the patch passed  |
   | +1 :green_heart: |  compile  |   2m 29s |  |  the patch passed  |
   | +1 :green_heart: |  javac  |   2m 29s |  |  the patch passed  |
   | +1 :green_heart: |  javadoc  |   1m 33s |  |  the patch passed  |
   | +1 :green_heart: |  shadedjars  |   5m 51s |  |  patch has no errors when 
building our shaded downstream artifacts.  |
    _ Other Tests _ |
   | +1 :green_heart: |  unit  |   0m 34s |  |  hbase-protocol-shaded in the 
patch passed.  |
   | +1 :green_heart: |  unit  |   1m 35s |  |  hbase-client in the patch 
passed.  |
   | -1 :x: |  unit  | 235m 38s | 
[/patch-unit-hbase-server.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/8/artifact/yetus-jdk17-hadoop3-check/output/patch-unit-hbase-server.txt)
 |  hbase-server in the patch failed.  |
   | +1 :green_heart: |  unit  |   7m  4s |  |  hbase-thrift in the patch 
passed.  |
   | -1 :x: |  unit  |   7m 49s | 
[/patch-unit-hbase-shell.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/8/artifact/yetus-jdk17-hadoop3-check/output/patch-unit-hbase-shell.txt)
 |  hbase-shell in the patch failed.  |
   |  |   | 285m 30s |  |  |
   
   
   | Subsystem | Report/Notes |
   |--:|:-|
   | Docker | ClientAPI=1.43 ServerAPI=1.43 base: 
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/8/artifact/yetus-jdk17-hadoop3-check/output/Dockerfile
 |
   | GITHUB PR | https://github.com/apache/hbase/pull/7058 |
   | JIRA Issue | HBASE-29291 |
   | Optional Tests | javac javadoc unit compile shadedjars |
   | uname | Linux 46b4c8a594b8 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 | HBASE-29081 / 3e87884272b5f22e1d3723e88c6632f4f1c64b74 |
   | Default Java | Eclipse Adoptium-17.0.11+9 |
   |  Test Results | 
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/8/testReport/
 |
   | Max. process+thread count | 5435 (vs. ulimit of 3) |
   | modules | C: hbase-protocol-shaded hbase-client hbase-server hbase-thrift 
hbase-shell U: . |
   | Console output | 
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/8/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.
   
   


-- 
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]



Re: [PR] HBASE-29291: Add a command to refresh/sync hbase:meta table [hbase]

2025-07-31 Thread via GitHub


Apache-HBase commented on PR #7058:
URL: https://github.com/apache/hbase/pull/7058#issuecomment-3140572705

   :broken_heart: **-1 overall**
   
   
   
   
   
   
   | Vote | Subsystem | Runtime |  Logfile | Comment |
   |::|--:|:|::|:---:|
   | +0 :ok: |  reexec  |   0m 35s |  |  Docker mode activated.  |
    _ Prechecks _ |
   | +1 :green_heart: |  dupname  |   0m  0s |  |  No case conflicting files 
found.  |
   | +0 :ok: |  codespell  |   0m  0s |  |  codespell was not available.  |
   | +0 :ok: |  detsecrets  |   0m  0s |  |  detect-secrets was not available.  
|
   | +0 :ok: |  buf  |   0m  0s |  |  buf was not available.  |
   | +0 :ok: |  buf  |   0m  0s |  |  buf was not available.  |
   | +1 :green_heart: |  @author  |   0m  0s |  |  The patch does not contain 
any @author tags.  |
   | +1 :green_heart: |  hbaseanti  |   0m  0s |  |  Patch does not have any 
anti-patterns.  |
    _ HBASE-29081 Compile Tests _ |
   | +0 :ok: |  mvndep  |   0m 10s |  |  Maven dependency ordering for branch  |
   | +1 :green_heart: |  mvninstall  |   3m 59s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  compile  |   7m 11s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  checkstyle  |   2m  3s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  spotbugs  |   7m 33s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  spotless  |   0m 52s |  |  branch has no errors when 
running spotless:check.  |
    _ Patch Compile Tests _ |
   | +0 :ok: |  mvndep  |   0m 11s |  |  Maven dependency ordering for patch  |
   | +1 :green_heart: |  mvninstall  |   3m 55s |  |  the patch passed  |
   | +1 :green_heart: |  compile  |   6m 58s |  |  the patch passed  |
   | +1 :green_heart: |  cc  |   6m 58s |  |  the patch passed  |
   | +1 :green_heart: |  javac  |   6m 58s |  |  the patch passed  |
   | +1 :green_heart: |  blanks  |   0m  0s |  |  The patch has no blanks 
issues.  |
   | -0 :warning: |  checkstyle  |   0m 19s | 
[/buildtool-patch-checkstyle-hbase-server.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/8/artifact/yetus-general-check/output/buildtool-patch-checkstyle-hbase-server.txt)
 |  The patch fails to run checkstyle in hbase-server  |
   | -0 :warning: |  rubocop  |   0m 23s | 
[/results-rubocop.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/8/artifact/yetus-general-check/output/results-rubocop.txt)
 |  The patch generated 5 new + 444 unchanged - 0 fixed = 449 total (was 444)  |
   | +1 :green_heart: |  spotbugs  |   7m 39s |  |  the patch passed  |
   | +1 :green_heart: |  hadoopcheck  |  13m 11s |  |  Patch does not cause any 
errors with Hadoop 3.3.6 3.4.0.  |
   | +1 :green_heart: |  hbaseprotoc  |   2m 40s |  |  the patch passed  |
   | -1 :x: |  spotless  |   0m 50s |  |  patch has 65 errors when running 
spotless:check, run spotless:apply to fix.  |
    _ Other Tests _ |
   | +1 :green_heart: |  asflicense  |   0m 52s |  |  The patch does not 
generate ASF License warnings.  |
   |  |   |  70m 28s |  |  |
   
   
   | Subsystem | Report/Notes |
   |--:|:-|
   | Docker | ClientAPI=1.43 ServerAPI=1.43 base: 
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/8/artifact/yetus-general-check/output/Dockerfile
 |
   | GITHUB PR | https://github.com/apache/hbase/pull/7058 |
   | JIRA Issue | HBASE-29291 |
   | Optional Tests | dupname asflicense javac spotbugs checkstyle codespell 
detsecrets compile hadoopcheck hbaseanti spotless cc buflint bufcompat 
hbaseprotoc rubocop |
   | uname | Linux 4457f0fdb5c7 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 | HBASE-29081 / 3e87884272b5f22e1d3723e88c6632f4f1c64b74 |
   | Default Java | Eclipse Adoptium-17.0.11+9 |
   | spotless | 
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/8/artifact/yetus-general-check/output/patch-spotless.txt
 |
   | Max. process+thread count | 85 (vs. ulimit of 3) |
   | modules | C: hbase-protocol-shaded hbase-client hbase-server hbase-thrift 
hbase-shell U: . |
   | Console output | 
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/8/console 
|
   | versions | git=2.34.1 maven=3.9.8 spotbugs=4.7.3 rubocop=1.37.1 |
   | Powered by | Apache Yetus 0.15.0 https://yetus.apache.org |
   
   
   This message was automatically generated.
   
   


-- 
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]



Re: [PR] HBASE-29291: Add a command to refresh/sync hbase:meta table [hbase]

2025-07-29 Thread via GitHub


anmolnar commented on code in PR #7058:
URL: https://github.com/apache/hbase/pull/7058#discussion_r2241013561


##
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestRefreshMetaProcedure.java:
##
@@ -0,0 +1,132 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.hadoop.hbase.master.procedure;
+
+import static 
org.apache.hadoop.hbase.procedure2.ProcedureTestingUtility.assertProcNotFailed;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+import java.lang.reflect.Method;
+import java.util.List;
+import org.apache.hadoop.hbase.HBaseClassTestRule;
+import org.apache.hadoop.hbase.HBaseTestingUtil;
+import org.apache.hadoop.hbase.TableName;
+import org.apache.hadoop.hbase.client.Connection;
+import org.apache.hadoop.hbase.client.RegionInfo;
+import org.apache.hadoop.hbase.client.RegionInfoBuilder;
+import org.apache.hadoop.hbase.procedure2.ProcedureExecutor;
+import org.apache.hadoop.hbase.procedure2.ProcedureTestingUtility;
+import org.apache.hadoop.hbase.testclassification.MasterTests;
+import org.apache.hadoop.hbase.testclassification.MediumTests;
+import org.apache.hadoop.hbase.util.Bytes;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.ClassRule;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+
+@Category({ MasterTests.class, MediumTests.class })
+public class TestRefreshMetaProcedure {
+
+  @ClassRule
+  public static final HBaseClassTestRule CLASS_RULE =
+HBaseClassTestRule.forClass(TestRefreshMetaProcedure.class);
+
+  private static final HBaseTestingUtil TEST_UTIL = new HBaseTestingUtil();
+  private ProcedureExecutor procExecutor;
+  List activeRegions;
+  TableName tableName = TableName.valueOf("testRefreshMeta");
+
+  @Before
+  public void setup() throws Exception {
+TEST_UTIL.getConfiguration().set("USE_META_REPLICAS", "false");
+TEST_UTIL.startMiniCluster();
+procExecutor = 
TEST_UTIL.getHBaseCluster().getMaster().getMasterProcedureExecutor();
+byte[][] splitKeys =
+  new byte[][] { Bytes.toBytes("split1"), Bytes.toBytes("split2"), 
Bytes.toBytes("split3") };
+TEST_UTIL.createTable(tableName, Bytes.toBytes("cf"), splitKeys);
+TEST_UTIL.waitTableAvailable(tableName);
+TEST_UTIL.getAdmin().flush(tableName);
+activeRegions = TEST_UTIL.getAdmin().getRegions(tableName);
+assertFalse(activeRegions.isEmpty());
+  }
+
+  @After
+  public void tearDown() throws Exception {
+TEST_UTIL.shutdownMiniCluster();
+  }
+
+  @Test
+  public void testRefreshMetaProcedureExecutesSuccessfully() {
+RefreshMetaProcedure procedure = new 
RefreshMetaProcedure(procExecutor.getEnvironment());
+long procId = procExecutor.submitProcedure(procedure);
+ProcedureTestingUtility.waitProcedure(procExecutor, procId);
+assertProcNotFailed(procExecutor.getResult(procId));
+  }
+
+  @Test
+  public void testGetCurrentRegions() throws Exception {
+RefreshMetaProcedure procedure = new 
RefreshMetaProcedure(procExecutor.getEnvironment());
+List regions = 
procedure.getCurrentRegions(TEST_UTIL.getConnection());
+assertFalse("Should have found regions in meta", regions.isEmpty());
+assertTrue("Should include test table region",
+  regions.stream().anyMatch(r -> 
r.getTable().getNameAsString().equals("testRefreshMeta")));
+  }
+
+  @Test
+  public void testScanBackingStorage() throws Exception {
+RefreshMetaProcedure procedure = new 
RefreshMetaProcedure(procExecutor.getEnvironment());
+
+Method method =
+  RefreshMetaProcedure.class.getDeclaredMethod("scanBackingStorage", 
Connection.class);
+method.setAccessible(true);

Review Comment:
   Instead of using reflection, we could just use package-private methods, 
couldn't we?



##
hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/RefreshMetaProcedure.java:
##
@@ -0,0 +1,413 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apach

Re: [PR] HBASE-29291: Add a command to refresh/sync hbase:meta table [hbase]

2025-07-18 Thread via GitHub


Apache-HBase commented on PR #7058:
URL: https://github.com/apache/hbase/pull/7058#issuecomment-3091911456

   :broken_heart: **-1 overall**
   
   
   
   
   
   
   | Vote | Subsystem | Runtime |  Logfile | Comment |
   |::|--:|:|::|:---:|
   | +0 :ok: |  reexec  |   0m 32s |  |  Docker mode activated.  |
   | -0 :warning: |  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 _ |
    _ HBASE-29081 Compile Tests _ |
   | +0 :ok: |  mvndep  |   0m 10s |  |  Maven dependency ordering for branch  |
   | +1 :green_heart: |  mvninstall  |   3m  4s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  compile  |   2m 32s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  javadoc  |   1m 33s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  shadedjars  |   5m 54s |  |  branch has no errors when 
building our shaded downstream artifacts.  |
    _ Patch Compile Tests _ |
   | +0 :ok: |  mvndep  |   0m 12s |  |  Maven dependency ordering for patch  |
   | +1 :green_heart: |  mvninstall  |   3m  6s |  |  the patch passed  |
   | +1 :green_heart: |  compile  |   2m 33s |  |  the patch passed  |
   | +1 :green_heart: |  javac  |   2m 33s |  |  the patch passed  |
   | +1 :green_heart: |  javadoc  |   1m 36s |  |  the patch passed  |
   | +1 :green_heart: |  shadedjars  |   5m 54s |  |  patch has no errors when 
building our shaded downstream artifacts.  |
    _ Other Tests _ |
   | +1 :green_heart: |  unit  |   0m 33s |  |  hbase-protocol-shaded in the 
patch passed.  |
   | +1 :green_heart: |  unit  |   1m 35s |  |  hbase-client in the patch 
passed.  |
   | -1 :x: |  unit  |  13m 10s | 
[/patch-unit-hbase-server.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/7/artifact/yetus-jdk17-hadoop3-check/output/patch-unit-hbase-server.txt)
 |  hbase-server in the patch failed.  |
   | +1 :green_heart: |  unit  |   6m 36s |  |  hbase-thrift in the patch 
passed.  |
   | -1 :x: |  unit  |   7m 45s | 
[/patch-unit-hbase-shell.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/7/artifact/yetus-jdk17-hadoop3-check/output/patch-unit-hbase-shell.txt)
 |  hbase-shell in the patch failed.  |
   |  |   |  59m 13s |  |  |
   
   
   | Subsystem | Report/Notes |
   |--:|:-|
   | Docker | ClientAPI=1.43 ServerAPI=1.43 base: 
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/7/artifact/yetus-jdk17-hadoop3-check/output/Dockerfile
 |
   | GITHUB PR | https://github.com/apache/hbase/pull/7058 |
   | JIRA Issue | HBASE-29291 |
   | Optional Tests | javac javadoc unit compile shadedjars |
   | uname | Linux e80f0620b62c 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 | HBASE-29081 / e3995aac813c4dd857b0a36c588105b484864b96 |
   | Default Java | Eclipse Adoptium-17.0.11+9 |
   |  Test Results | 
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/7/testReport/
 |
   | Max. process+thread count | 2034 (vs. ulimit of 3) |
   | modules | C: hbase-protocol-shaded hbase-client hbase-server hbase-thrift 
hbase-shell U: . |
   | Console output | 
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/7/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.
   
   


-- 
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]



Re: [PR] HBASE-29291: Add a command to refresh/sync hbase:meta table [hbase]

2025-07-18 Thread via GitHub


Apache-HBase commented on PR #7058:
URL: https://github.com/apache/hbase/pull/7058#issuecomment-3091910693

   :broken_heart: **-1 overall**
   
   
   
   
   
   
   | Vote | Subsystem | Runtime |  Logfile | Comment |
   |::|--:|:|::|:---:|
   | +0 :ok: |  reexec  |   0m 34s |  |  Docker mode activated.  |
    _ Prechecks _ |
   | +1 :green_heart: |  dupname  |   0m  0s |  |  No case conflicting files 
found.  |
   | +0 :ok: |  codespell  |   0m  0s |  |  codespell was not available.  |
   | +0 :ok: |  detsecrets  |   0m  0s |  |  detect-secrets was not available.  
|
   | +0 :ok: |  buf  |   0m  0s |  |  buf was not available.  |
   | +0 :ok: |  buf  |   0m  0s |  |  buf was not available.  |
   | +1 :green_heart: |  @author  |   0m  0s |  |  The patch does not contain 
any @author tags.  |
   | +1 :green_heart: |  hbaseanti  |   0m  0s |  |  Patch does not have any 
anti-patterns.  |
    _ HBASE-29081 Compile Tests _ |
   | +0 :ok: |  mvndep  |   0m 11s |  |  Maven dependency ordering for branch  |
   | +1 :green_heart: |  mvninstall  |   3m 13s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  compile  |   5m 25s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  checkstyle  |   1m 35s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  spotbugs  |   5m 40s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  spotless  |   0m 45s |  |  branch has no errors when 
running spotless:check.  |
    _ Patch Compile Tests _ |
   | +0 :ok: |  mvndep  |   0m 11s |  |  Maven dependency ordering for patch  |
   | +1 :green_heart: |  mvninstall  |   3m  7s |  |  the patch passed  |
   | +1 :green_heart: |  compile  |   5m 28s |  |  the patch passed  |
   | +1 :green_heart: |  cc  |   5m 28s |  |  the patch passed  |
   | +1 :green_heart: |  javac  |   5m 28s |  |  the patch passed  |
   | +1 :green_heart: |  blanks  |   0m  0s |  |  The patch has no blanks 
issues.  |
   | -0 :warning: |  checkstyle  |   0m 13s | 
[/buildtool-patch-checkstyle-hbase-server.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/7/artifact/yetus-general-check/output/buildtool-patch-checkstyle-hbase-server.txt)
 |  The patch fails to run checkstyle in hbase-server  |
   | -0 :warning: |  rubocop  |   0m 18s | 
[/results-rubocop.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/7/artifact/yetus-general-check/output/results-rubocop.txt)
 |  The patch generated 5 new + 444 unchanged - 0 fixed = 449 total (was 444)  |
   | +1 :green_heart: |  spotbugs  |   6m  9s |  |  the patch passed  |
   | +1 :green_heart: |  hadoopcheck  |  11m 57s |  |  Patch does not cause any 
errors with Hadoop 3.3.6 3.4.0.  |
   | +1 :green_heart: |  hbaseprotoc  |   2m  7s |  |  the patch passed  |
   | -1 :x: |  spotless  |   0m 38s |  |  patch has 65 errors when running 
spotless:check, run spotless:apply to fix.  |
    _ Other Tests _ |
   | +1 :green_heart: |  asflicense  |   0m 42s |  |  The patch does not 
generate ASF License warnings.  |
   |  |   |  57m 34s |  |  |
   
   
   | Subsystem | Report/Notes |
   |--:|:-|
   | Docker | ClientAPI=1.43 ServerAPI=1.43 base: 
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/7/artifact/yetus-general-check/output/Dockerfile
 |
   | GITHUB PR | https://github.com/apache/hbase/pull/7058 |
   | JIRA Issue | HBASE-29291 |
   | Optional Tests | dupname asflicense javac spotbugs checkstyle codespell 
detsecrets compile hadoopcheck hbaseanti spotless cc buflint bufcompat 
hbaseprotoc rubocop |
   | uname | Linux 8ca0d7236ab3 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 | HBASE-29081 / e3995aac813c4dd857b0a36c588105b484864b96 |
   | Default Java | Eclipse Adoptium-17.0.11+9 |
   | spotless | 
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/7/artifact/yetus-general-check/output/patch-spotless.txt
 |
   | Max. process+thread count | 87 (vs. ulimit of 3) |
   | modules | C: hbase-protocol-shaded hbase-client hbase-server hbase-thrift 
hbase-shell U: . |
   | Console output | 
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/7/console 
|
   | versions | git=2.34.1 maven=3.9.8 spotbugs=4.7.3 rubocop=1.37.1 |
   | Powered by | Apache Yetus 0.15.0 https://yetus.apache.org |
   
   
   This message was automatically generated.
   
   


-- 
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]



Re: [PR] HBASE-29291: Add a command to refresh/sync hbase:meta table [hbase]

2025-07-18 Thread via GitHub


Apache-HBase commented on PR #7058:
URL: https://github.com/apache/hbase/pull/7058#issuecomment-3091690903

   :broken_heart: **-1 overall**
   
   
   
   
   
   
   | Vote | Subsystem | Runtime |  Logfile | Comment |
   |::|--:|:|::|:---:|
   | +0 :ok: |  reexec  |   0m 34s |  |  Docker mode activated.  |
   | -0 :warning: |  yetus  |   0m  4s |  |  Unprocessed flag(s): 
--brief-report-file --spotbugs-strict-precheck --author-ignore-list 
--blanks-eol-ignore-file --blanks-tabs-ignore-file --quick-hadoopcheck  |
    _ Prechecks _ |
    _ HBASE-29081 Compile Tests _ |
   | +0 :ok: |  mvndep  |   0m 10s |  |  Maven dependency ordering for branch  |
   | +1 :green_heart: |  mvninstall  |   3m 15s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  compile  |   2m 34s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  javadoc  |   1m 36s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  shadedjars  |   6m  2s |  |  branch has no errors when 
building our shaded downstream artifacts.  |
    _ Patch Compile Tests _ |
   | +0 :ok: |  mvndep  |   0m 12s |  |  Maven dependency ordering for patch  |
   | +1 :green_heart: |  mvninstall  |   3m 13s |  |  the patch passed  |
   | +1 :green_heart: |  compile  |   2m 35s |  |  the patch passed  |
   | +1 :green_heart: |  javac  |   2m 35s |  |  the patch passed  |
   | +1 :green_heart: |  javadoc  |   1m 34s |  |  the patch passed  |
   | +1 :green_heart: |  shadedjars  |   5m 58s |  |  patch has no errors when 
building our shaded downstream artifacts.  |
    _ Other Tests _ |
   | +1 :green_heart: |  unit  |   0m 34s |  |  hbase-protocol-shaded in the 
patch passed.  |
   | +1 :green_heart: |  unit  |   1m 35s |  |  hbase-client in the patch 
passed.  |
   | -1 :x: |  unit  | 244m 32s | 
[/patch-unit-hbase-server.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/6/artifact/yetus-jdk17-hadoop3-check/output/patch-unit-hbase-server.txt)
 |  hbase-server in the patch failed.  |
   | +1 :green_heart: |  unit  |   6m 53s |  |  hbase-thrift in the patch 
passed.  |
   | -1 :x: |  unit  |   7m 44s | 
[/patch-unit-hbase-shell.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/6/artifact/yetus-jdk17-hadoop3-check/output/patch-unit-hbase-shell.txt)
 |  hbase-shell in the patch failed.  |
   |  |   | 294m 27s |  |  |
   
   
   | Subsystem | Report/Notes |
   |--:|:-|
   | Docker | ClientAPI=1.43 ServerAPI=1.43 base: 
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/6/artifact/yetus-jdk17-hadoop3-check/output/Dockerfile
 |
   | GITHUB PR | https://github.com/apache/hbase/pull/7058 |
   | JIRA Issue | HBASE-29291 |
   | Optional Tests | javac javadoc unit compile shadedjars |
   | uname | Linux f8c3e8bd2584 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 | HBASE-29081 / fe7c9368a1c4dd4655debf4329da4f7f54863030 |
   | Default Java | Eclipse Adoptium-17.0.11+9 |
   |  Test Results | 
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/6/testReport/
 |
   | Max. process+thread count | 5264 (vs. ulimit of 3) |
   | modules | C: hbase-protocol-shaded hbase-client hbase-server hbase-thrift 
hbase-shell U: . |
   | Console output | 
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/6/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.
   
   


-- 
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]



Re: [PR] HBASE-29291: Add a command to refresh/sync hbase:meta table [hbase]

2025-07-18 Thread via GitHub


Apache-HBase commented on PR #7058:
URL: https://github.com/apache/hbase/pull/7058#issuecomment-3091333259

   :broken_heart: **-1 overall**
   
   
   
   
   
   
   | Vote | Subsystem | Runtime |  Logfile | Comment |
   |::|--:|:|::|:---:|
   | +0 :ok: |  reexec  |   0m 32s |  |  Docker mode activated.  |
    _ Prechecks _ |
   | +1 :green_heart: |  dupname  |   0m  1s |  |  No case conflicting files 
found.  |
   | +0 :ok: |  codespell  |   0m  0s |  |  codespell was not available.  |
   | +0 :ok: |  detsecrets  |   0m  0s |  |  detect-secrets was not available.  
|
   | +0 :ok: |  buf  |   0m  0s |  |  buf was not available.  |
   | +0 :ok: |  buf  |   0m  0s |  |  buf was not available.  |
   | +1 :green_heart: |  @author  |   0m  0s |  |  The patch does not contain 
any @author tags.  |
   | +1 :green_heart: |  hbaseanti  |   0m  0s |  |  Patch does not have any 
anti-patterns.  |
    _ HBASE-29081 Compile Tests _ |
   | +0 :ok: |  mvndep  |   0m  9s |  |  Maven dependency ordering for branch  |
   | +1 :green_heart: |  mvninstall  |   3m 14s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  compile  |   5m 28s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  checkstyle  |   1m 33s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  spotbugs  |   5m 47s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  spotless  |   0m 46s |  |  branch has no errors when 
running spotless:check.  |
    _ Patch Compile Tests _ |
   | +0 :ok: |  mvndep  |   0m 11s |  |  Maven dependency ordering for patch  |
   | +1 :green_heart: |  mvninstall  |   3m  2s |  |  the patch passed  |
   | +1 :green_heart: |  compile  |   5m 32s |  |  the patch passed  |
   | +1 :green_heart: |  cc  |   5m 32s |  |  the patch passed  |
   | +1 :green_heart: |  javac  |   5m 32s |  |  the patch passed  |
   | +1 :green_heart: |  blanks  |   0m  0s |  |  The patch has no blanks 
issues.  |
   | -0 :warning: |  checkstyle  |   0m 14s | 
[/buildtool-patch-checkstyle-hbase-server.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/6/artifact/yetus-general-check/output/buildtool-patch-checkstyle-hbase-server.txt)
 |  The patch fails to run checkstyle in hbase-server  |
   | -0 :warning: |  rubocop  |   0m 17s | 
[/results-rubocop.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/6/artifact/yetus-general-check/output/results-rubocop.txt)
 |  The patch generated 5 new + 444 unchanged - 0 fixed = 449 total (was 444)  |
   | -1 :x: |  spotbugs  |   1m 41s | 
[/new-spotbugs-hbase-server.html](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/6/artifact/yetus-general-check/output/new-spotbugs-hbase-server.html)
 |  hbase-server generated 1 new + 0 unchanged - 0 fixed = 1 total (was 0)  |
   | +1 :green_heart: |  hadoopcheck  |  12m  1s |  |  Patch does not cause any 
errors with Hadoop 3.3.6 3.4.0.  |
   | +1 :green_heart: |  hbaseprotoc  |   2m  7s |  |  the patch passed  |
   | -1 :x: |  spotless  |   0m 21s |  |  patch has 30 errors when running 
spotless:check, run spotless:apply to fix.  |
    _ Other Tests _ |
   | +1 :green_heart: |  asflicense  |   0m 43s |  |  The patch does not 
generate ASF License warnings.  |
   |  |   |  57m 47s |  |  |
   
   
   | Reason | Tests |
   |---:|:--|
   | SpotBugs | module:hbase-server |
   |  |  
org.apache.hadoop.hbase.master.procedure.RefreshMetaProcedure.compareAndUpdateRegions(Map,
 Map, Connection, MasterProcedureEnv) makes inefficient use of keySet iterator 
instead of entrySet iterator  At RefreshMetaProcedure.java:inefficient use of 
keySet iterator instead of entrySet iterator  At 
RefreshMetaProcedure.java:[line 191] |
   
   
   | Subsystem | Report/Notes |
   |--:|:-|
   | Docker | ClientAPI=1.43 ServerAPI=1.43 base: 
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/6/artifact/yetus-general-check/output/Dockerfile
 |
   | GITHUB PR | https://github.com/apache/hbase/pull/7058 |
   | JIRA Issue | HBASE-29291 |
   | Optional Tests | dupname asflicense javac spotbugs checkstyle codespell 
detsecrets compile hadoopcheck hbaseanti spotless cc buflint bufcompat 
hbaseprotoc rubocop |
   | uname | Linux 34050b2775dd 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 | HBASE-29081 / fe7c9368a1c4dd4655debf4329da4f7f54863030 |
   | Default Java | Eclipse Adoptium-17.0.11+9 |
   | spotless | 
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/6/artifact/yetus-general-check/output/patch-spotless.txt
 |
   | Max. process+thread count | 85 (vs. ulimit of 3) |
   | modules | C: hbase-protocol-shaded hbase-client hbase-server hbase-thrift 
hbase-shell U: . |
   | Console output | 
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/6/console 
|
   | 

Re: [PR] HBASE-29291: Add a command to refresh/sync hbase:meta table [hbase]

2025-07-18 Thread via GitHub


Kota-SH commented on code in PR #7058:
URL: https://github.com/apache/hbase/pull/7058#discussion_r2217054501


##
hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/RefreshMetaProcedure.java:
##
@@ -0,0 +1,414 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.hadoop.hbase.master.procedure;
+
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.fs.FSDataInputStream;
+import org.apache.hadoop.fs.FileStatus;
+import org.apache.hadoop.fs.FileSystem;
+import org.apache.hadoop.fs.Path;
+import org.apache.hadoop.hbase.HConstants;
+import org.apache.hadoop.hbase.MetaTableAccessor;
+import org.apache.hadoop.hbase.TableName;
+import org.apache.hadoop.hbase.client.Connection;
+import org.apache.hadoop.hbase.client.Delete;
+import org.apache.hadoop.hbase.client.Mutation;
+import org.apache.hadoop.hbase.client.Put;
+import org.apache.hadoop.hbase.client.RegionInfo;
+import org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer;
+import 
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.RefreshMetaState;
+import 
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.RefreshMetaStateData;
+import org.apache.hadoop.hbase.util.CommonFSUtils;
+import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;
+import org.apache.hadoop.hbase.util.RetryCounter;
+import org.apache.hadoop.hbase.procedure2.ProcedureUtil;
+import org.apache.hbase.thirdparty.com.google.common.collect.Lists;
+import org.apache.yetus.audience.InterfaceAudience;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.apache.hadoop.hbase.regionserver.HRegionFileSystem;
+import org.apache.hadoop.hbase.util.FSUtils;
+
+import java.io.DataInputStream;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+import java.util.function.Function;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
+
[email protected]
+public class RefreshMetaProcedure extends 
AbstractStateMachineTableProcedure {
+  private static final Logger LOG = 
LoggerFactory.getLogger(RefreshMetaProcedure.class);
+
+  private List currentRegions;
+  private List latestRegions;
+  private static final int MUTATION_BATCH_SIZE = 100;
+
+  public RefreshMetaProcedure() {
+super();
+  }
+
+  public RefreshMetaProcedure(MasterProcedureEnv env) {
+super(env);
+  }
+
+  @Override
+  public TableName getTableName() {
+return TableName.META_TABLE_NAME;
+  }
+
+  @Override
+  public TableOperationType getTableOperationType() {
+return TableOperationType.EDIT;
+  }
+
+  @Override
+  protected Flow executeFromState(MasterProcedureEnv env, RefreshMetaState 
refreshMetaState) {
+LOG.info("Executing RefreshMetaProcedure state: {}", refreshMetaState);
+
+try {
+  return switch (refreshMetaState) {
+case REFRESH_META_INIT -> executeInit(env);
+case REFRESH_META_SCAN_STORAGE -> executeScanStorage(env);
+case REFRESH_META_UPDATE -> executeUpdate(env);
+case REFRESH_META_COMPLETE -> executeComplete();
+default -> throw new UnsupportedOperationException("Unhandled state: " 
+ refreshMetaState);
+  };
+} catch (Exception ex) {
+  LOG.error("Error in RefreshMetaProcedure state {}", refreshMetaState, 
ex);
+  setFailure("RefreshMetaProcedure", ex);
+  return Flow.NO_MORE_STATE;
+}
+  }
+
+  private Flow executeInit(MasterProcedureEnv env) throws IOException {
+LOG.trace("Getting current regions from hbase:meta table");
+try {
+  currentRegions = 
getCurrentRegions(env.getMasterServices().getConnection());
+  LOG.info("Found {} current regions in meta table", 
currentRegions.size());
+  setNextState(RefreshMetaState.REFRESH_META_SCAN_STORAGE);
+  return Flow.HAS_MORE_STATE;
+} catch (IOException ioe) {
+  LOG.error("Failed to get current regions from meta table", ioe);
+  throw ioe;
+}
+  }
+
+  private Flow executeScanStorage(MasterProcedureEnv env) throws IOException {
+try {
+  latestRegions = 
scanBackingStorage(env.getMasterServices().getConnection());
+  LOG.info("Found {} re

Re: [PR] HBASE-29291: Add a command to refresh/sync hbase:meta table [hbase]

2025-07-18 Thread via GitHub


Kota-SH commented on code in PR #7058:
URL: https://github.com/apache/hbase/pull/7058#discussion_r2217053260


##
hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/RefreshMetaProcedure.java:
##
@@ -0,0 +1,414 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.hadoop.hbase.master.procedure;
+
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.fs.FSDataInputStream;
+import org.apache.hadoop.fs.FileStatus;
+import org.apache.hadoop.fs.FileSystem;
+import org.apache.hadoop.fs.Path;
+import org.apache.hadoop.hbase.HConstants;
+import org.apache.hadoop.hbase.MetaTableAccessor;
+import org.apache.hadoop.hbase.TableName;
+import org.apache.hadoop.hbase.client.Connection;
+import org.apache.hadoop.hbase.client.Delete;
+import org.apache.hadoop.hbase.client.Mutation;
+import org.apache.hadoop.hbase.client.Put;
+import org.apache.hadoop.hbase.client.RegionInfo;
+import org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer;
+import 
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.RefreshMetaState;
+import 
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.RefreshMetaStateData;
+import org.apache.hadoop.hbase.util.CommonFSUtils;
+import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;
+import org.apache.hadoop.hbase.util.RetryCounter;
+import org.apache.hadoop.hbase.procedure2.ProcedureUtil;
+import org.apache.hbase.thirdparty.com.google.common.collect.Lists;
+import org.apache.yetus.audience.InterfaceAudience;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.apache.hadoop.hbase.regionserver.HRegionFileSystem;
+import org.apache.hadoop.hbase.util.FSUtils;
+
+import java.io.DataInputStream;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+import java.util.function.Function;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
+
[email protected]
+public class RefreshMetaProcedure extends 
AbstractStateMachineTableProcedure {
+  private static final Logger LOG = 
LoggerFactory.getLogger(RefreshMetaProcedure.class);
+
+  private List currentRegions;
+  private List latestRegions;
+  private static final int MUTATION_BATCH_SIZE = 100;
+
+  public RefreshMetaProcedure() {
+super();
+  }
+
+  public RefreshMetaProcedure(MasterProcedureEnv env) {
+super(env);
+  }
+
+  @Override
+  public TableName getTableName() {
+return TableName.META_TABLE_NAME;
+  }
+
+  @Override
+  public TableOperationType getTableOperationType() {
+return TableOperationType.EDIT;
+  }
+
+  @Override
+  protected Flow executeFromState(MasterProcedureEnv env, RefreshMetaState 
refreshMetaState) {
+LOG.info("Executing RefreshMetaProcedure state: {}", refreshMetaState);
+
+try {
+  return switch (refreshMetaState) {
+case REFRESH_META_INIT -> executeInit(env);
+case REFRESH_META_SCAN_STORAGE -> executeScanStorage(env);
+case REFRESH_META_UPDATE -> executeUpdate(env);
+case REFRESH_META_COMPLETE -> executeComplete();
+default -> throw new UnsupportedOperationException("Unhandled state: " 
+ refreshMetaState);
+  };
+} catch (Exception ex) {
+  LOG.error("Error in RefreshMetaProcedure state {}", refreshMetaState, 
ex);
+  setFailure("RefreshMetaProcedure", ex);
+  return Flow.NO_MORE_STATE;
+}
+  }
+
+  private Flow executeInit(MasterProcedureEnv env) throws IOException {
+LOG.trace("Getting current regions from hbase:meta table");
+try {
+  currentRegions = 
getCurrentRegions(env.getMasterServices().getConnection());
+  LOG.info("Found {} current regions in meta table", 
currentRegions.size());
+  setNextState(RefreshMetaState.REFRESH_META_SCAN_STORAGE);
+  return Flow.HAS_MORE_STATE;
+} catch (IOException ioe) {
+  LOG.error("Failed to get current regions from meta table", ioe);
+  throw ioe;
+}
+  }
+
+  private Flow executeScanStorage(MasterProcedureEnv env) throws IOException {
+try {
+  latestRegions = 
scanBackingStorage(env.getMasterServices().getConnection());
+  LOG.info("Found {} re

Re: [PR] HBASE-29291: Add a command to refresh/sync hbase:meta table [hbase]

2025-06-25 Thread via GitHub


ragarkar commented on code in PR #7058:
URL: https://github.com/apache/hbase/pull/7058#discussion_r2166672706


##
hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/RefreshMetaProcedure.java:
##
@@ -0,0 +1,414 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.hadoop.hbase.master.procedure;
+
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.fs.FSDataInputStream;
+import org.apache.hadoop.fs.FileStatus;
+import org.apache.hadoop.fs.FileSystem;
+import org.apache.hadoop.fs.Path;
+import org.apache.hadoop.hbase.HConstants;
+import org.apache.hadoop.hbase.MetaTableAccessor;
+import org.apache.hadoop.hbase.TableName;
+import org.apache.hadoop.hbase.client.Connection;
+import org.apache.hadoop.hbase.client.Delete;
+import org.apache.hadoop.hbase.client.Mutation;
+import org.apache.hadoop.hbase.client.Put;
+import org.apache.hadoop.hbase.client.RegionInfo;
+import org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer;
+import 
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.RefreshMetaState;
+import 
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.RefreshMetaStateData;
+import org.apache.hadoop.hbase.util.CommonFSUtils;
+import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;
+import org.apache.hadoop.hbase.util.RetryCounter;
+import org.apache.hadoop.hbase.procedure2.ProcedureUtil;
+import org.apache.hbase.thirdparty.com.google.common.collect.Lists;
+import org.apache.yetus.audience.InterfaceAudience;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.apache.hadoop.hbase.regionserver.HRegionFileSystem;
+import org.apache.hadoop.hbase.util.FSUtils;
+
+import java.io.DataInputStream;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+import java.util.function.Function;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
+
[email protected]
+public class RefreshMetaProcedure extends 
AbstractStateMachineTableProcedure {
+  private static final Logger LOG = 
LoggerFactory.getLogger(RefreshMetaProcedure.class);
+
+  private List currentRegions;
+  private List latestRegions;
+  private static final int MUTATION_BATCH_SIZE = 100;
+
+  public RefreshMetaProcedure() {
+super();
+  }
+
+  public RefreshMetaProcedure(MasterProcedureEnv env) {
+super(env);
+  }
+
+  @Override
+  public TableName getTableName() {
+return TableName.META_TABLE_NAME;
+  }
+
+  @Override
+  public TableOperationType getTableOperationType() {
+return TableOperationType.EDIT;
+  }
+
+  @Override
+  protected Flow executeFromState(MasterProcedureEnv env, RefreshMetaState 
refreshMetaState) {
+LOG.info("Executing RefreshMetaProcedure state: {}", refreshMetaState);
+
+try {
+  return switch (refreshMetaState) {
+case REFRESH_META_INIT -> executeInit(env);
+case REFRESH_META_SCAN_STORAGE -> executeScanStorage(env);
+case REFRESH_META_UPDATE -> executeUpdate(env);
+case REFRESH_META_COMPLETE -> executeComplete();
+default -> throw new UnsupportedOperationException("Unhandled state: " 
+ refreshMetaState);
+  };
+} catch (Exception ex) {
+  LOG.error("Error in RefreshMetaProcedure state {}", refreshMetaState, 
ex);
+  setFailure("RefreshMetaProcedure", ex);
+  return Flow.NO_MORE_STATE;
+}
+  }
+
+  private Flow executeInit(MasterProcedureEnv env) throws IOException {
+LOG.trace("Getting current regions from hbase:meta table");
+try {
+  currentRegions = 
getCurrentRegions(env.getMasterServices().getConnection());
+  LOG.info("Found {} current regions in meta table", 
currentRegions.size());
+  setNextState(RefreshMetaState.REFRESH_META_SCAN_STORAGE);
+  return Flow.HAS_MORE_STATE;
+} catch (IOException ioe) {
+  LOG.error("Failed to get current regions from meta table", ioe);
+  throw ioe;
+}
+  }
+
+  private Flow executeScanStorage(MasterProcedureEnv env) throws IOException {
+try {
+  latestRegions = 
scanBackingStorage(env.getMasterServices().getConnection());
+  LOG.info("Found {} r

Re: [PR] HBASE-29291: Add a command to refresh/sync hbase:meta table [hbase]

2025-06-24 Thread via GitHub


anmolnar commented on code in PR #7058:
URL: https://github.com/apache/hbase/pull/7058#discussion_r2164379983


##
hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/RefreshMetaProcedure.java:
##
@@ -0,0 +1,414 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.hadoop.hbase.master.procedure;
+
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.fs.FSDataInputStream;
+import org.apache.hadoop.fs.FileStatus;
+import org.apache.hadoop.fs.FileSystem;
+import org.apache.hadoop.fs.Path;
+import org.apache.hadoop.hbase.HConstants;
+import org.apache.hadoop.hbase.MetaTableAccessor;
+import org.apache.hadoop.hbase.TableName;
+import org.apache.hadoop.hbase.client.Connection;
+import org.apache.hadoop.hbase.client.Delete;
+import org.apache.hadoop.hbase.client.Mutation;
+import org.apache.hadoop.hbase.client.Put;
+import org.apache.hadoop.hbase.client.RegionInfo;
+import org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer;
+import 
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.RefreshMetaState;
+import 
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.RefreshMetaStateData;
+import org.apache.hadoop.hbase.util.CommonFSUtils;
+import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;
+import org.apache.hadoop.hbase.util.RetryCounter;
+import org.apache.hadoop.hbase.procedure2.ProcedureUtil;
+import org.apache.hbase.thirdparty.com.google.common.collect.Lists;
+import org.apache.yetus.audience.InterfaceAudience;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.apache.hadoop.hbase.regionserver.HRegionFileSystem;
+import org.apache.hadoop.hbase.util.FSUtils;
+
+import java.io.DataInputStream;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+import java.util.function.Function;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
+
[email protected]
+public class RefreshMetaProcedure extends 
AbstractStateMachineTableProcedure {
+  private static final Logger LOG = 
LoggerFactory.getLogger(RefreshMetaProcedure.class);
+
+  private List currentRegions;
+  private List latestRegions;
+  private static final int MUTATION_BATCH_SIZE = 100;
+
+  public RefreshMetaProcedure() {
+super();
+  }
+
+  public RefreshMetaProcedure(MasterProcedureEnv env) {
+super(env);
+  }
+
+  @Override
+  public TableName getTableName() {
+return TableName.META_TABLE_NAME;
+  }
+
+  @Override
+  public TableOperationType getTableOperationType() {
+return TableOperationType.EDIT;
+  }
+
+  @Override
+  protected Flow executeFromState(MasterProcedureEnv env, RefreshMetaState 
refreshMetaState) {
+LOG.info("Executing RefreshMetaProcedure state: {}", refreshMetaState);
+
+try {
+  return switch (refreshMetaState) {
+case REFRESH_META_INIT -> executeInit(env);
+case REFRESH_META_SCAN_STORAGE -> executeScanStorage(env);
+case REFRESH_META_UPDATE -> executeUpdate(env);
+case REFRESH_META_COMPLETE -> executeComplete();
+default -> throw new UnsupportedOperationException("Unhandled state: " 
+ refreshMetaState);
+  };
+} catch (Exception ex) {
+  LOG.error("Error in RefreshMetaProcedure state {}", refreshMetaState, 
ex);
+  setFailure("RefreshMetaProcedure", ex);
+  return Flow.NO_MORE_STATE;
+}
+  }
+
+  private Flow executeInit(MasterProcedureEnv env) throws IOException {
+LOG.trace("Getting current regions from hbase:meta table");
+try {
+  currentRegions = 
getCurrentRegions(env.getMasterServices().getConnection());
+  LOG.info("Found {} current regions in meta table", 
currentRegions.size());
+  setNextState(RefreshMetaState.REFRESH_META_SCAN_STORAGE);
+  return Flow.HAS_MORE_STATE;
+} catch (IOException ioe) {
+  LOG.error("Failed to get current regions from meta table", ioe);
+  throw ioe;
+}
+  }
+
+  private Flow executeScanStorage(MasterProcedureEnv env) throws IOException {
+try {
+  latestRegions = 
scanBackingStorage(env.getMasterServices().getConnection());
+  LOG.info("Found {} r

Re: [PR] HBASE-29291: Add a command to refresh/sync hbase:meta table [hbase]

2025-06-24 Thread via GitHub


Kota-SH commented on code in PR #7058:
URL: https://github.com/apache/hbase/pull/7058#discussion_r2164241218


##
hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/RefreshMetaProcedure.java:
##
@@ -0,0 +1,414 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.hadoop.hbase.master.procedure;
+
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.fs.FSDataInputStream;
+import org.apache.hadoop.fs.FileStatus;
+import org.apache.hadoop.fs.FileSystem;
+import org.apache.hadoop.fs.Path;
+import org.apache.hadoop.hbase.HConstants;
+import org.apache.hadoop.hbase.MetaTableAccessor;
+import org.apache.hadoop.hbase.TableName;
+import org.apache.hadoop.hbase.client.Connection;
+import org.apache.hadoop.hbase.client.Delete;
+import org.apache.hadoop.hbase.client.Mutation;
+import org.apache.hadoop.hbase.client.Put;
+import org.apache.hadoop.hbase.client.RegionInfo;
+import org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer;
+import 
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.RefreshMetaState;
+import 
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.RefreshMetaStateData;
+import org.apache.hadoop.hbase.util.CommonFSUtils;
+import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;
+import org.apache.hadoop.hbase.util.RetryCounter;
+import org.apache.hadoop.hbase.procedure2.ProcedureUtil;
+import org.apache.hbase.thirdparty.com.google.common.collect.Lists;
+import org.apache.yetus.audience.InterfaceAudience;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.apache.hadoop.hbase.regionserver.HRegionFileSystem;
+import org.apache.hadoop.hbase.util.FSUtils;
+
+import java.io.DataInputStream;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+import java.util.function.Function;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
+
[email protected]
+public class RefreshMetaProcedure extends 
AbstractStateMachineTableProcedure {
+  private static final Logger LOG = 
LoggerFactory.getLogger(RefreshMetaProcedure.class);
+
+  private List currentRegions;
+  private List latestRegions;
+  private static final int MUTATION_BATCH_SIZE = 100;
+
+  public RefreshMetaProcedure() {
+super();
+  }
+
+  public RefreshMetaProcedure(MasterProcedureEnv env) {
+super(env);
+  }
+
+  @Override
+  public TableName getTableName() {
+return TableName.META_TABLE_NAME;
+  }
+
+  @Override
+  public TableOperationType getTableOperationType() {
+return TableOperationType.EDIT;
+  }
+
+  @Override
+  protected Flow executeFromState(MasterProcedureEnv env, RefreshMetaState 
refreshMetaState) {
+LOG.info("Executing RefreshMetaProcedure state: {}", refreshMetaState);
+
+try {
+  return switch (refreshMetaState) {
+case REFRESH_META_INIT -> executeInit(env);
+case REFRESH_META_SCAN_STORAGE -> executeScanStorage(env);
+case REFRESH_META_UPDATE -> executeUpdate(env);
+case REFRESH_META_COMPLETE -> executeComplete();
+default -> throw new UnsupportedOperationException("Unhandled state: " 
+ refreshMetaState);
+  };
+} catch (Exception ex) {
+  LOG.error("Error in RefreshMetaProcedure state {}", refreshMetaState, 
ex);
+  setFailure("RefreshMetaProcedure", ex);
+  return Flow.NO_MORE_STATE;
+}
+  }
+
+  private Flow executeInit(MasterProcedureEnv env) throws IOException {
+LOG.trace("Getting current regions from hbase:meta table");
+try {
+  currentRegions = 
getCurrentRegions(env.getMasterServices().getConnection());
+  LOG.info("Found {} current regions in meta table", 
currentRegions.size());
+  setNextState(RefreshMetaState.REFRESH_META_SCAN_STORAGE);
+  return Flow.HAS_MORE_STATE;
+} catch (IOException ioe) {
+  LOG.error("Failed to get current regions from meta table", ioe);
+  throw ioe;
+}
+  }
+
+  private Flow executeScanStorage(MasterProcedureEnv env) throws IOException {
+try {
+  latestRegions = 
scanBackingStorage(env.getMasterServices().getConnection());
+  LOG.info("Found {} re

Re: [PR] HBASE-29291: Add a command to refresh/sync hbase:meta table [hbase]

2025-06-23 Thread via GitHub


Apache-HBase commented on PR #7058:
URL: https://github.com/apache/hbase/pull/7058#issuecomment-2998760181

   :broken_heart: **-1 overall**
   
   
   
   
   
   
   | Vote | Subsystem | Runtime |  Logfile | Comment |
   |::|--:|:|::|:---:|
   | +0 :ok: |  reexec  |   0m 37s |  |  Docker mode activated.  |
   | -0 :warning: |  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 _ |
    _ HBASE-29081 Compile Tests _ |
   | +0 :ok: |  mvndep  |   0m 11s |  |  Maven dependency ordering for branch  |
   | +1 :green_heart: |  mvninstall  |   3m 49s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  compile  |   2m 59s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  javadoc  |   2m  4s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  shadedjars  |   6m 57s |  |  branch has no errors when 
building our shaded downstream artifacts.  |
    _ Patch Compile Tests _ |
   | +0 :ok: |  mvndep  |   0m 15s |  |  Maven dependency ordering for patch  |
   | +1 :green_heart: |  mvninstall  |   4m 12s |  |  the patch passed  |
   | +1 :green_heart: |  compile  |   3m 17s |  |  the patch passed  |
   | +1 :green_heart: |  javac  |   3m 17s |  |  the patch passed  |
   | +1 :green_heart: |  javadoc  |   1m 47s |  |  the patch passed  |
   | +1 :green_heart: |  shadedjars  |   6m 58s |  |  patch has no errors when 
building our shaded downstream artifacts.  |
    _ Other Tests _ |
   | +1 :green_heart: |  unit  |   0m 42s |  |  hbase-protocol-shaded in the 
patch passed.  |
   | +1 :green_heart: |  unit  |   1m 54s |  |  hbase-client in the patch 
passed.  |
   | -1 :x: |  unit  | 244m 31s | 
[/patch-unit-hbase-server.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/5/artifact/yetus-jdk17-hadoop3-check/output/patch-unit-hbase-server.txt)
 |  hbase-server in the patch failed.  |
   | +1 :green_heart: |  unit  |   6m 46s |  |  hbase-thrift in the patch 
passed.  |
   | -1 :x: |  unit  |   7m 46s | 
[/patch-unit-hbase-shell.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/5/artifact/yetus-jdk17-hadoop3-check/output/patch-unit-hbase-shell.txt)
 |  hbase-shell in the patch failed.  |
   |  |   | 300m 28s |  |  |
   
   
   | Subsystem | Report/Notes |
   |--:|:-|
   | Docker | ClientAPI=1.43 ServerAPI=1.43 base: 
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/5/artifact/yetus-jdk17-hadoop3-check/output/Dockerfile
 |
   | GITHUB PR | https://github.com/apache/hbase/pull/7058 |
   | JIRA Issue | HBASE-29291 |
   | Optional Tests | javac javadoc unit compile shadedjars |
   | uname | Linux 97f3045de941 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 | HBASE-29081 / ee81220b718c2f421e043451e1a4f92b5e633e06 |
   | Default Java | Eclipse Adoptium-17.0.11+9 |
   |  Test Results | 
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/5/testReport/
 |
   | Max. process+thread count | 5528 (vs. ulimit of 3) |
   | modules | C: hbase-protocol-shaded hbase-client hbase-server hbase-thrift 
hbase-shell U: . |
   | Console output | 
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/5/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.
   
   


-- 
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]



Re: [PR] HBASE-29291: Add a command to refresh/sync hbase:meta table [hbase]

2025-06-23 Thread via GitHub


anmolnar commented on code in PR #7058:
URL: https://github.com/apache/hbase/pull/7058#discussion_r2162813347


##
hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/RefreshMetaProcedure.java:
##
@@ -0,0 +1,414 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.hadoop.hbase.master.procedure;
+
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.fs.FSDataInputStream;
+import org.apache.hadoop.fs.FileStatus;
+import org.apache.hadoop.fs.FileSystem;
+import org.apache.hadoop.fs.Path;
+import org.apache.hadoop.hbase.HConstants;
+import org.apache.hadoop.hbase.MetaTableAccessor;
+import org.apache.hadoop.hbase.TableName;
+import org.apache.hadoop.hbase.client.Connection;
+import org.apache.hadoop.hbase.client.Delete;
+import org.apache.hadoop.hbase.client.Mutation;
+import org.apache.hadoop.hbase.client.Put;
+import org.apache.hadoop.hbase.client.RegionInfo;
+import org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer;
+import 
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.RefreshMetaState;
+import 
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.RefreshMetaStateData;
+import org.apache.hadoop.hbase.util.CommonFSUtils;
+import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;
+import org.apache.hadoop.hbase.util.RetryCounter;
+import org.apache.hadoop.hbase.procedure2.ProcedureUtil;
+import org.apache.hbase.thirdparty.com.google.common.collect.Lists;
+import org.apache.yetus.audience.InterfaceAudience;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.apache.hadoop.hbase.regionserver.HRegionFileSystem;
+import org.apache.hadoop.hbase.util.FSUtils;
+
+import java.io.DataInputStream;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+import java.util.function.Function;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
+
[email protected]
+public class RefreshMetaProcedure extends 
AbstractStateMachineTableProcedure {
+  private static final Logger LOG = 
LoggerFactory.getLogger(RefreshMetaProcedure.class);
+
+  private List currentRegions;
+  private List latestRegions;
+  private static final int MUTATION_BATCH_SIZE = 100;
+
+  public RefreshMetaProcedure() {
+super();
+  }
+
+  public RefreshMetaProcedure(MasterProcedureEnv env) {
+super(env);
+  }
+
+  @Override
+  public TableName getTableName() {
+return TableName.META_TABLE_NAME;
+  }
+
+  @Override
+  public TableOperationType getTableOperationType() {
+return TableOperationType.EDIT;
+  }
+
+  @Override
+  protected Flow executeFromState(MasterProcedureEnv env, RefreshMetaState 
refreshMetaState) {
+LOG.info("Executing RefreshMetaProcedure state: {}", refreshMetaState);
+
+try {
+  return switch (refreshMetaState) {
+case REFRESH_META_INIT -> executeInit(env);
+case REFRESH_META_SCAN_STORAGE -> executeScanStorage(env);
+case REFRESH_META_UPDATE -> executeUpdate(env);
+case REFRESH_META_COMPLETE -> executeComplete();
+default -> throw new UnsupportedOperationException("Unhandled state: " 
+ refreshMetaState);
+  };
+} catch (Exception ex) {
+  LOG.error("Error in RefreshMetaProcedure state {}", refreshMetaState, 
ex);
+  setFailure("RefreshMetaProcedure", ex);
+  return Flow.NO_MORE_STATE;
+}
+  }
+
+  private Flow executeInit(MasterProcedureEnv env) throws IOException {
+LOG.trace("Getting current regions from hbase:meta table");
+try {
+  currentRegions = 
getCurrentRegions(env.getMasterServices().getConnection());
+  LOG.info("Found {} current regions in meta table", 
currentRegions.size());
+  setNextState(RefreshMetaState.REFRESH_META_SCAN_STORAGE);
+  return Flow.HAS_MORE_STATE;
+} catch (IOException ioe) {
+  LOG.error("Failed to get current regions from meta table", ioe);
+  throw ioe;
+}
+  }
+
+  private Flow executeScanStorage(MasterProcedureEnv env) throws IOException {
+try {
+  latestRegions = 
scanBackingStorage(env.getMasterServices().getConnection());
+  LOG.info("Found {} r

Re: [PR] HBASE-29291: Add a command to refresh/sync hbase:meta table [hbase]

2025-06-23 Thread via GitHub


anmolnar commented on code in PR #7058:
URL: https://github.com/apache/hbase/pull/7058#discussion_r2162801661


##
hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/RefreshMetaProcedure.java:
##
@@ -0,0 +1,414 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.hadoop.hbase.master.procedure;
+
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.fs.FSDataInputStream;
+import org.apache.hadoop.fs.FileStatus;
+import org.apache.hadoop.fs.FileSystem;
+import org.apache.hadoop.fs.Path;
+import org.apache.hadoop.hbase.HConstants;
+import org.apache.hadoop.hbase.MetaTableAccessor;
+import org.apache.hadoop.hbase.TableName;
+import org.apache.hadoop.hbase.client.Connection;
+import org.apache.hadoop.hbase.client.Delete;
+import org.apache.hadoop.hbase.client.Mutation;
+import org.apache.hadoop.hbase.client.Put;
+import org.apache.hadoop.hbase.client.RegionInfo;
+import org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer;
+import 
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.RefreshMetaState;
+import 
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.RefreshMetaStateData;
+import org.apache.hadoop.hbase.util.CommonFSUtils;
+import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;
+import org.apache.hadoop.hbase.util.RetryCounter;
+import org.apache.hadoop.hbase.procedure2.ProcedureUtil;
+import org.apache.hbase.thirdparty.com.google.common.collect.Lists;
+import org.apache.yetus.audience.InterfaceAudience;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.apache.hadoop.hbase.regionserver.HRegionFileSystem;
+import org.apache.hadoop.hbase.util.FSUtils;
+
+import java.io.DataInputStream;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+import java.util.function.Function;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
+
[email protected]
+public class RefreshMetaProcedure extends 
AbstractStateMachineTableProcedure {
+  private static final Logger LOG = 
LoggerFactory.getLogger(RefreshMetaProcedure.class);
+
+  private List currentRegions;
+  private List latestRegions;
+  private static final int MUTATION_BATCH_SIZE = 100;
+
+  public RefreshMetaProcedure() {
+super();
+  }
+
+  public RefreshMetaProcedure(MasterProcedureEnv env) {
+super(env);
+  }
+
+  @Override
+  public TableName getTableName() {
+return TableName.META_TABLE_NAME;
+  }
+
+  @Override
+  public TableOperationType getTableOperationType() {
+return TableOperationType.EDIT;
+  }
+
+  @Override
+  protected Flow executeFromState(MasterProcedureEnv env, RefreshMetaState 
refreshMetaState) {
+LOG.info("Executing RefreshMetaProcedure state: {}", refreshMetaState);
+
+try {
+  return switch (refreshMetaState) {
+case REFRESH_META_INIT -> executeInit(env);
+case REFRESH_META_SCAN_STORAGE -> executeScanStorage(env);
+case REFRESH_META_UPDATE -> executeUpdate(env);
+case REFRESH_META_COMPLETE -> executeComplete();
+default -> throw new UnsupportedOperationException("Unhandled state: " 
+ refreshMetaState);
+  };
+} catch (Exception ex) {
+  LOG.error("Error in RefreshMetaProcedure state {}", refreshMetaState, 
ex);
+  setFailure("RefreshMetaProcedure", ex);
+  return Flow.NO_MORE_STATE;
+}
+  }
+
+  private Flow executeInit(MasterProcedureEnv env) throws IOException {
+LOG.trace("Getting current regions from hbase:meta table");
+try {
+  currentRegions = 
getCurrentRegions(env.getMasterServices().getConnection());
+  LOG.info("Found {} current regions in meta table", 
currentRegions.size());
+  setNextState(RefreshMetaState.REFRESH_META_SCAN_STORAGE);
+  return Flow.HAS_MORE_STATE;
+} catch (IOException ioe) {
+  LOG.error("Failed to get current regions from meta table", ioe);
+  throw ioe;
+}
+  }
+
+  private Flow executeScanStorage(MasterProcedureEnv env) throws IOException {
+try {
+  latestRegions = 
scanBackingStorage(env.getMasterServices().getConnection());
+  LOG.info("Found {} r

Re: [PR] HBASE-29291: Add a command to refresh/sync hbase:meta table [hbase]

2025-06-23 Thread via GitHub


Apache-HBase commented on PR #7058:
URL: https://github.com/apache/hbase/pull/7058#issuecomment-2998383507

   :broken_heart: **-1 overall**
   
   
   
   
   
   
   | Vote | Subsystem | Runtime |  Logfile | Comment |
   |::|--:|:|::|:---:|
   | +0 :ok: |  reexec  |   0m 37s |  |  Docker mode activated.  |
    _ Prechecks _ |
   | +1 :green_heart: |  dupname  |   0m  0s |  |  No case conflicting files 
found.  |
   | +0 :ok: |  codespell  |   0m  0s |  |  codespell was not available.  |
   | +0 :ok: |  detsecrets  |   0m  0s |  |  detect-secrets was not available.  
|
   | +0 :ok: |  buf  |   0m  0s |  |  buf was not available.  |
   | +0 :ok: |  buf  |   0m  0s |  |  buf was not available.  |
   | +1 :green_heart: |  @author  |   0m  0s |  |  The patch does not contain 
any @author tags.  |
   | +1 :green_heart: |  hbaseanti  |   0m  0s |  |  Patch does not have any 
anti-patterns.  |
    _ HBASE-29081 Compile Tests _ |
   | +0 :ok: |  mvndep  |   0m 44s |  |  Maven dependency ordering for branch  |
   | +1 :green_heart: |  mvninstall  |   4m 33s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  compile  |   7m 11s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  checkstyle  |   1m 48s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  spotbugs  |   8m 20s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  spotless  |   1m  0s |  |  branch has no errors when 
running spotless:check.  |
    _ Patch Compile Tests _ |
   | +0 :ok: |  mvndep  |   0m 10s |  |  Maven dependency ordering for patch  |
   | +1 :green_heart: |  mvninstall  |   3m 36s |  |  the patch passed  |
   | +1 :green_heart: |  compile  |   6m 56s |  |  the patch passed  |
   | +1 :green_heart: |  cc  |   6m 56s |  |  the patch passed  |
   | +1 :green_heart: |  javac  |   6m 56s |  |  the patch passed  |
   | +1 :green_heart: |  blanks  |   0m  0s |  |  The patch has no blanks 
issues.  |
   | -0 :warning: |  checkstyle  |   0m 16s | 
[/buildtool-patch-checkstyle-hbase-server.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/5/artifact/yetus-general-check/output/buildtool-patch-checkstyle-hbase-server.txt)
 |  The patch fails to run checkstyle in hbase-server  |
   | -0 :warning: |  rubocop  |   0m 30s | 
[/results-rubocop.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/5/artifact/yetus-general-check/output/results-rubocop.txt)
 |  The patch generated 5 new + 444 unchanged - 0 fixed = 449 total (was 444)  |
   | -1 :x: |  spotbugs  |   1m 43s | 
[/new-spotbugs-hbase-server.html](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/5/artifact/yetus-general-check/output/new-spotbugs-hbase-server.html)
 |  hbase-server generated 1 new + 0 unchanged - 0 fixed = 1 total (was 0)  |
   | +1 :green_heart: |  hadoopcheck  |  11m 59s |  |  Patch does not cause any 
errors with Hadoop 3.3.6 3.4.0.  |
   | +1 :green_heart: |  hbaseprotoc  |   2m 11s |  |  the patch passed  |
   | -1 :x: |  spotless  |   0m 21s |  |  patch has 30 errors when running 
spotless:check, run spotless:apply to fix.  |
    _ Other Tests _ |
   | +1 :green_heart: |  asflicense  |   0m 43s |  |  The patch does not 
generate ASF License warnings.  |
   |  |   |  67m 12s |  |  |
   
   
   | Reason | Tests |
   |---:|:--|
   | SpotBugs | module:hbase-server |
   |  |  
org.apache.hadoop.hbase.master.procedure.RefreshMetaProcedure.compareAndUpdateRegions(Map,
 Map, Connection, MasterProcedureEnv) makes inefficient use of keySet iterator 
instead of entrySet iterator  At RefreshMetaProcedure.java:inefficient use of 
keySet iterator instead of entrySet iterator  At 
RefreshMetaProcedure.java:[line 175] |
   
   
   | Subsystem | Report/Notes |
   |--:|:-|
   | Docker | ClientAPI=1.43 ServerAPI=1.43 base: 
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/5/artifact/yetus-general-check/output/Dockerfile
 |
   | GITHUB PR | https://github.com/apache/hbase/pull/7058 |
   | JIRA Issue | HBASE-29291 |
   | Optional Tests | dupname asflicense javac spotbugs checkstyle codespell 
detsecrets compile hadoopcheck hbaseanti spotless cc buflint bufcompat 
hbaseprotoc rubocop |
   | uname | Linux 1ca46493f99e 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 | HBASE-29081 / ee81220b718c2f421e043451e1a4f92b5e633e06 |
   | Default Java | Eclipse Adoptium-17.0.11+9 |
   | spotless | 
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/5/artifact/yetus-general-check/output/patch-spotless.txt
 |
   | Max. process+thread count | 86 (vs. ulimit of 3) |
   | modules | C: hbase-protocol-shaded hbase-client hbase-server hbase-thrift 
hbase-shell U: . |
   | Console output | 
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/5/console 
|
   | 

Re: [PR] HBASE-29291: Add a command to refresh/sync hbase:meta table [hbase]

2025-06-17 Thread via GitHub


Apache-HBase commented on PR #7058:
URL: https://github.com/apache/hbase/pull/7058#issuecomment-2981756119

   :broken_heart: **-1 overall**
   
   
   
   
   
   
   | Vote | Subsystem | Runtime |  Logfile | Comment |
   |::|--:|:|::|:---:|
   | +0 :ok: |  reexec  |   0m 31s |  |  Docker mode activated.  |
   | -0 :warning: |  yetus  |   0m  4s |  |  Unprocessed flag(s): 
--brief-report-file --spotbugs-strict-precheck --author-ignore-list 
--blanks-eol-ignore-file --blanks-tabs-ignore-file --quick-hadoopcheck  |
    _ Prechecks _ |
    _ HBASE-29081 Compile Tests _ |
   | +0 :ok: |  mvndep  |   0m 12s |  |  Maven dependency ordering for branch  |
   | +1 :green_heart: |  mvninstall  |   2m 56s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  compile  |   2m 33s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  javadoc  |   1m 36s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  shadedjars  |   6m  3s |  |  branch has no errors when 
building our shaded downstream artifacts.  |
    _ Patch Compile Tests _ |
   | +0 :ok: |  mvndep  |   0m 14s |  |  Maven dependency ordering for patch  |
   | +1 :green_heart: |  mvninstall  |   3m  0s |  |  the patch passed  |
   | +1 :green_heart: |  compile  |   2m 31s |  |  the patch passed  |
   | +1 :green_heart: |  javac  |   2m 31s |  |  the patch passed  |
   | +1 :green_heart: |  javadoc  |   1m 33s |  |  the patch passed  |
   | +1 :green_heart: |  shadedjars  |   5m 59s |  |  patch has no errors when 
building our shaded downstream artifacts.  |
    _ Other Tests _ |
   | +1 :green_heart: |  unit  |   0m 37s |  |  hbase-protocol-shaded in the 
patch passed.  |
   | +1 :green_heart: |  unit  |   1m 38s |  |  hbase-client in the patch 
passed.  |
   | -1 :x: |  unit  | 231m 48s | 
[/patch-unit-hbase-server.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/4/artifact/yetus-jdk17-hadoop3-check/output/patch-unit-hbase-server.txt)
 |  hbase-server in the patch failed.  |
   | +1 :green_heart: |  unit  |   6m 54s |  |  hbase-thrift in the patch 
passed.  |
   | -1 :x: |  unit  |   8m  3s | 
[/patch-unit-hbase-shell.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/4/artifact/yetus-jdk17-hadoop3-check/output/patch-unit-hbase-shell.txt)
 |  hbase-shell in the patch failed.  |
   |  |   | 283m  6s |  |  |
   
   
   | Subsystem | Report/Notes |
   |--:|:-|
   | Docker | ClientAPI=1.43 ServerAPI=1.43 base: 
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/4/artifact/yetus-jdk17-hadoop3-check/output/Dockerfile
 |
   | GITHUB PR | https://github.com/apache/hbase/pull/7058 |
   | JIRA Issue | HBASE-29291 |
   | Optional Tests | javac javadoc unit compile shadedjars |
   | uname | Linux 0f0c164d2be6 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 | HBASE-29081 / b9469a3a091db0349004f60eefa6b7d8cdf32621 |
   | Default Java | Eclipse Adoptium-17.0.11+9 |
   |  Test Results | 
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/4/testReport/
 |
   | Max. process+thread count | 5298 (vs. ulimit of 3) |
   | modules | C: hbase-protocol-shaded hbase-client hbase-server hbase-thrift 
hbase-shell U: . |
   | Console output | 
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/4/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.
   
   


-- 
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]



Re: [PR] HBASE-29291: Add a command to refresh/sync hbase:meta table [hbase]

2025-06-17 Thread via GitHub


Apache-HBase commented on PR #7058:
URL: https://github.com/apache/hbase/pull/7058#issuecomment-2981091109

   :broken_heart: **-1 overall**
   
   
   
   
   
   
   | Vote | Subsystem | Runtime |  Logfile | Comment |
   |::|--:|:|::|:---:|
   | +0 :ok: |  reexec  |   0m 31s |  |  Docker mode activated.  |
    _ Prechecks _ |
   | +1 :green_heart: |  dupname  |   0m  0s |  |  No case conflicting files 
found.  |
   | +0 :ok: |  codespell  |   0m  0s |  |  codespell was not available.  |
   | +0 :ok: |  detsecrets  |   0m  0s |  |  detect-secrets was not available.  
|
   | +0 :ok: |  buf  |   0m  0s |  |  buf was not available.  |
   | +0 :ok: |  buf  |   0m  0s |  |  buf was not available.  |
   | +1 :green_heart: |  @author  |   0m  0s |  |  The patch does not contain 
any @author tags.  |
   | +1 :green_heart: |  hbaseanti  |   0m  0s |  |  Patch does not have any 
anti-patterns.  |
    _ HBASE-29081 Compile Tests _ |
   | +0 :ok: |  mvndep  |   0m 36s |  |  Maven dependency ordering for branch  |
   | +1 :green_heart: |  mvninstall  |   3m 33s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  compile  |   5m 30s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  checkstyle  |   1m 35s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  spotbugs  |   5m 49s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  spotless  |   0m 46s |  |  branch has no errors when 
running spotless:check.  |
    _ Patch Compile Tests _ |
   | +0 :ok: |  mvndep  |   0m 11s |  |  Maven dependency ordering for patch  |
   | +1 :green_heart: |  mvninstall  |   3m  2s |  |  the patch passed  |
   | +1 :green_heart: |  compile  |   5m 30s |  |  the patch passed  |
   | +1 :green_heart: |  cc  |   5m 30s |  |  the patch passed  |
   | +1 :green_heart: |  javac  |   5m 30s |  |  the patch passed  |
   | +1 :green_heart: |  blanks  |   0m  0s |  |  The patch has no blanks 
issues.  |
   | -0 :warning: |  checkstyle  |   0m 16s | 
[/results-checkstyle-hbase-client.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/4/artifact/yetus-general-check/output/results-checkstyle-hbase-client.txt)
 |  hbase-client: The patch generated 1 new + 3 unchanged - 0 fixed = 4 total 
(was 3)  |
   | -0 :warning: |  checkstyle  |   0m 13s | 
[/buildtool-patch-checkstyle-hbase-server.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/4/artifact/yetus-general-check/output/buildtool-patch-checkstyle-hbase-server.txt)
 |  The patch fails to run checkstyle in hbase-server  |
   | -0 :warning: |  rubocop  |   0m 18s | 
[/results-rubocop.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/4/artifact/yetus-general-check/output/results-rubocop.txt)
 |  The patch generated 5 new + 444 unchanged - 0 fixed = 449 total (was 444)  |
   | -1 :x: |  spotbugs  |   1m 41s | 
[/new-spotbugs-hbase-server.html](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/4/artifact/yetus-general-check/output/new-spotbugs-hbase-server.html)
 |  hbase-server generated 1 new + 0 unchanged - 0 fixed = 1 total (was 0)  |
   | +1 :green_heart: |  hadoopcheck  |  12m  1s |  |  Patch does not cause any 
errors with Hadoop 3.3.6 3.4.0.  |
   | +1 :green_heart: |  hbaseprotoc  |   2m  6s |  |  the patch passed  |
   | -1 :x: |  spotless  |   0m 18s |  |  patch has 40 errors when running 
spotless:check, run spotless:apply to fix.  |
    _ Other Tests _ |
   | +1 :green_heart: |  asflicense  |   0m 43s |  |  The patch does not 
generate ASF License warnings.  |
   |  |   |  58m 21s |  |  |
   
   
   | Reason | Tests |
   |---:|:--|
   | SpotBugs | module:hbase-server |
   |  |  
org.apache.hadoop.hbase.master.procedure.RefreshMetaProcedure.compareAndUpdateRegions(List,
 List, Connection, MasterProcedureEnv) makes inefficient use of keySet iterator 
instead of entrySet iterator  At RefreshMetaProcedure.java:inefficient use of 
keySet iterator instead of entrySet iterator  At 
RefreshMetaProcedure.java:[line 175] |
   
   
   | Subsystem | Report/Notes |
   |--:|:-|
   | Docker | ClientAPI=1.43 ServerAPI=1.43 base: 
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/4/artifact/yetus-general-check/output/Dockerfile
 |
   | GITHUB PR | https://github.com/apache/hbase/pull/7058 |
   | JIRA Issue | HBASE-29291 |
   | Optional Tests | dupname asflicense javac spotbugs checkstyle codespell 
detsecrets compile hadoopcheck hbaseanti spotless cc buflint bufcompat 
hbaseprotoc rubocop |
   | uname | Linux fff1550d0e2a 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 | HBASE-29081 / b9469a3a091db0349004f60eefa6b7d8cdf32621 |
   | Default Java | Eclipse Adoptium-17.0.11+9 |
   | spotless | 
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/4/artif

Re: [PR] HBASE-29291: Add a command to refresh/sync hbase:meta table [hbase]

2025-06-16 Thread via GitHub


Apache-HBase commented on PR #7058:
URL: https://github.com/apache/hbase/pull/7058#issuecomment-2979039760

   :broken_heart: **-1 overall**
   
   
   
   
   
   
   | Vote | Subsystem | Runtime |  Logfile | Comment |
   |::|--:|:|::|:---:|
   | +0 :ok: |  reexec  |   0m 32s |  |  Docker mode activated.  |
   | -0 :warning: |  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 _ |
    _ HBASE-29081 Compile Tests _ |
   | +0 :ok: |  mvndep  |   0m 10s |  |  Maven dependency ordering for branch  |
   | +1 :green_heart: |  mvninstall  |   3m 18s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  compile  |   2m 38s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  javadoc  |   1m 37s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  shadedjars  |   6m  2s |  |  branch has no errors when 
building our shaded downstream artifacts.  |
    _ Patch Compile Tests _ |
   | +0 :ok: |  mvndep  |   0m 13s |  |  Maven dependency ordering for patch  |
   | +1 :green_heart: |  mvninstall  |   3m  8s |  |  the patch passed  |
   | +1 :green_heart: |  compile  |   2m 34s |  |  the patch passed  |
   | +1 :green_heart: |  javac  |   2m 34s |  |  the patch passed  |
   | +1 :green_heart: |  javadoc  |   1m 35s |  |  the patch passed  |
   | +1 :green_heart: |  shadedjars  |   5m 59s |  |  patch has no errors when 
building our shaded downstream artifacts.  |
    _ Other Tests _ |
   | +1 :green_heart: |  unit  |   0m 33s |  |  hbase-protocol-shaded in the 
patch passed.  |
   | +1 :green_heart: |  unit  |   1m 36s |  |  hbase-client in the patch 
passed.  |
   | -1 :x: |  unit  | 231m 55s | 
[/patch-unit-hbase-server.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/3/artifact/yetus-jdk17-hadoop3-check/output/patch-unit-hbase-server.txt)
 |  hbase-server in the patch failed.  |
   | +1 :green_heart: |  unit  |   6m 47s |  |  hbase-thrift in the patch 
passed.  |
   | -1 :x: |  unit  |   7m 50s | 
[/patch-unit-hbase-shell.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/3/artifact/yetus-jdk17-hadoop3-check/output/patch-unit-hbase-shell.txt)
 |  hbase-shell in the patch failed.  |
   |  |   | 282m  0s |  |  |
   
   
   | Subsystem | Report/Notes |
   |--:|:-|
   | Docker | ClientAPI=1.43 ServerAPI=1.43 base: 
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/3/artifact/yetus-jdk17-hadoop3-check/output/Dockerfile
 |
   | GITHUB PR | https://github.com/apache/hbase/pull/7058 |
   | JIRA Issue | HBASE-29291 |
   | Optional Tests | javac javadoc unit compile shadedjars |
   | uname | Linux fc659d6323e8 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 | HBASE-29081 / 2fa72c4ab53dd9dae1ba4efdae028d03cf65672b |
   | Default Java | Eclipse Adoptium-17.0.11+9 |
   |  Test Results | 
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/3/testReport/
 |
   | Max. process+thread count | 5029 (vs. ulimit of 3) |
   | modules | C: hbase-protocol-shaded hbase-client hbase-server hbase-thrift 
hbase-shell U: . |
   | Console output | 
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/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.
   
   


-- 
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]



Re: [PR] HBASE-29291: Add a command to refresh/sync hbase:meta table [hbase]

2025-06-16 Thread via GitHub


Apache-HBase commented on PR #7058:
URL: https://github.com/apache/hbase/pull/7058#issuecomment-2978676131

   :broken_heart: **-1 overall**
   
   
   
   
   
   
   | Vote | Subsystem | Runtime |  Logfile | Comment |
   |::|--:|:|::|:---:|
   | +0 :ok: |  reexec  |   0m 34s |  |  Docker mode activated.  |
    _ Prechecks _ |
   | +1 :green_heart: |  dupname  |   0m  0s |  |  No case conflicting files 
found.  |
   | +0 :ok: |  codespell  |   0m  0s |  |  codespell was not available.  |
   | +0 :ok: |  detsecrets  |   0m  0s |  |  detect-secrets was not available.  
|
   | +0 :ok: |  buf  |   0m  0s |  |  buf was not available.  |
   | +0 :ok: |  buf  |   0m  0s |  |  buf was not available.  |
   | +1 :green_heart: |  @author  |   0m  0s |  |  The patch does not contain 
any @author tags.  |
   | +1 :green_heart: |  hbaseanti  |   0m  0s |  |  Patch does not have any 
anti-patterns.  |
    _ HBASE-29081 Compile Tests _ |
   | +0 :ok: |  mvndep  |   0m 17s |  |  Maven dependency ordering for branch  |
   | +1 :green_heart: |  mvninstall  |   3m 12s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  compile  |   5m 36s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  checkstyle  |   1m 37s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  spotbugs  |   5m 49s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  spotless  |   0m 45s |  |  branch has no errors when 
running spotless:check.  |
    _ Patch Compile Tests _ |
   | +0 :ok: |  mvndep  |   0m 11s |  |  Maven dependency ordering for patch  |
   | +1 :green_heart: |  mvninstall  |   3m  6s |  |  the patch passed  |
   | +1 :green_heart: |  compile  |   5m 38s |  |  the patch passed  |
   | +1 :green_heart: |  cc  |   5m 38s |  |  the patch passed  |
   | +1 :green_heart: |  javac  |   5m 38s |  |  the patch passed  |
   | +1 :green_heart: |  blanks  |   0m  0s |  |  The patch has no blanks 
issues.  |
   | -0 :warning: |  checkstyle  |   0m 16s | 
[/results-checkstyle-hbase-client.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/3/artifact/yetus-general-check/output/results-checkstyle-hbase-client.txt)
 |  hbase-client: The patch generated 1 new + 3 unchanged - 0 fixed = 4 total 
(was 3)  |
   | -0 :warning: |  checkstyle  |   0m 13s | 
[/buildtool-patch-checkstyle-hbase-server.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/3/artifact/yetus-general-check/output/buildtool-patch-checkstyle-hbase-server.txt)
 |  The patch fails to run checkstyle in hbase-server  |
   | -0 :warning: |  rubocop  |   0m 20s | 
[/results-rubocop.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/3/artifact/yetus-general-check/output/results-rubocop.txt)
 |  The patch generated 5 new + 444 unchanged - 0 fixed = 449 total (was 444)  |
   | -1 :x: |  spotbugs  |   1m 42s | 
[/new-spotbugs-hbase-server.html](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/3/artifact/yetus-general-check/output/new-spotbugs-hbase-server.html)
 |  hbase-server generated 1 new + 0 unchanged - 0 fixed = 1 total (was 0)  |
   | +1 :green_heart: |  hadoopcheck  |  11m 46s |  |  Patch does not cause any 
errors with Hadoop 3.3.6 3.4.0.  |
   | +1 :green_heart: |  hbaseprotoc  |   2m  7s |  |  the patch passed  |
   | -1 :x: |  spotless  |   0m 19s |  |  patch has 40 errors when running 
spotless:check, run spotless:apply to fix.  |
    _ Other Tests _ |
   | +1 :green_heart: |  asflicense  |   0m 44s |  |  The patch does not 
generate ASF License warnings.  |
   |  |   |  57m 47s |  |  |
   
   
   | Reason | Tests |
   |---:|:--|
   | SpotBugs | module:hbase-server |
   |  |  
org.apache.hadoop.hbase.master.procedure.RefreshMetaProcedure.compareAndUpdateRegions(List,
 List, Connection, MasterProcedureEnv) makes inefficient use of keySet iterator 
instead of entrySet iterator  At RefreshMetaProcedure.java:inefficient use of 
keySet iterator instead of entrySet iterator  At 
RefreshMetaProcedure.java:[line 175] |
   
   
   | Subsystem | Report/Notes |
   |--:|:-|
   | Docker | ClientAPI=1.43 ServerAPI=1.43 base: 
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/3/artifact/yetus-general-check/output/Dockerfile
 |
   | GITHUB PR | https://github.com/apache/hbase/pull/7058 |
   | JIRA Issue | HBASE-29291 |
   | Optional Tests | dupname asflicense javac spotbugs checkstyle codespell 
detsecrets compile hadoopcheck hbaseanti spotless cc buflint bufcompat 
hbaseprotoc rubocop |
   | uname | Linux 9b881ec9742e 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 | HBASE-29081 / 2fa72c4ab53dd9dae1ba4efdae028d03cf65672b |
   | Default Java | Eclipse Adoptium-17.0.11+9 |
   | spotless | 
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/3/artif

Re: [PR] HBASE-29291: Add a command to refresh/sync hbase:meta table [hbase]

2025-06-09 Thread via GitHub


anmolnar commented on code in PR #7058:
URL: https://github.com/apache/hbase/pull/7058#discussion_r2136719801


##
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestRefreshMetaProcedure.java:
##
@@ -0,0 +1,162 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.hadoop.hbase.master.procedure;
+
+import org.apache.hadoop.hbase.HBaseClassTestRule;
+import org.apache.hadoop.hbase.HBaseTestingUtil;
+import org.apache.hadoop.hbase.TableName;
+import org.apache.hadoop.hbase.client.RegionInfo;
+import org.apache.hadoop.hbase.client.RegionInfoBuilder;
+import org.apache.hadoop.hbase.procedure2.ProcedureExecutor;
+import org.apache.hadoop.hbase.procedure2.ProcedureTestingUtility;
+import org.apache.hadoop.hbase.testclassification.MasterTests;
+import org.apache.hadoop.hbase.testclassification.MediumTests;
+import org.apache.hadoop.hbase.util.Bytes;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.ClassRule;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import static 
org.apache.hadoop.hbase.procedure2.ProcedureTestingUtility.assertProcNotFailed;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+@Category({MasterTests.class, MediumTests.class})
+public class TestRefreshMetaProcedure {
+
+  @ClassRule
+  public static final HBaseClassTestRule CLASS_RULE =
+HBaseClassTestRule.forClass(TestRefreshMetaProcedure.class);
+
+  private static final HBaseTestingUtil TEST_UTIL = new HBaseTestingUtil();
+  private ProcedureExecutor procExecutor;
+  List activeRegions;
+  TableName tableName = TableName.valueOf("testRefreshMeta");
+
+  @Before
+  public void setup() throws Exception {
+TEST_UTIL.getConfiguration().set("USE_META_REPLICAS", "false");
+TEST_UTIL.startMiniCluster();
+procExecutor = 
TEST_UTIL.getHBaseCluster().getMaster().getMasterProcedureExecutor();
+// Create a test table to have some regions
+byte[][] splitKeys = new byte[][] {
+  Bytes.toBytes("split1"),
+  Bytes.toBytes("split2"),
+  Bytes.toBytes("split3")
+};
+TEST_UTIL.createTable(tableName, Bytes.toBytes("cf"), splitKeys);
+TEST_UTIL.waitTableAvailable(tableName);
+TEST_UTIL.getAdmin().flush(tableName);
+Thread.sleep(1000);
+activeRegions = TEST_UTIL.getAdmin().getRegions(tableName);
+assertFalse(activeRegions.isEmpty());
+  }
+
+  @After
+  public void tearDown() throws Exception {
+TEST_UTIL.shutdownMiniCluster();
+  }
+
+  @Test
+  public void testRefreshMetaProcedureExecutesSuccessfully() {
+RefreshMetaProcedure procedure = new 
RefreshMetaProcedure(procExecutor.getEnvironment());
+long procId = procExecutor.submitProcedure(procedure);
+ProcedureTestingUtility.waitProcedure(procExecutor, procId);
+assertProcNotFailed(procExecutor.getResult(procId));
+  }
+
+  @Test
+  public void testNeedsUpdateWithDifferentRegions() {
+RefreshMetaProcedure procedure = new 
RefreshMetaProcedure(procExecutor.getEnvironment());
+List currentRegions = createTestRegions(2);
+List latestRegions = createTestRegions(3, "differenttable");
+
+assertTrue("Different regions should need update",
+  procedure.needsUpdate(currentRegions, latestRegions));
+  }
+
+  @Test
+  public void testNeedsUpdateWithNullLists() {
+RefreshMetaProcedure procedure = new 
RefreshMetaProcedure(procExecutor.getEnvironment());
+
+assertFalse("Null current regions should not need update",
+  procedure.needsUpdate(null, createTestRegions(1)));
+assertFalse("Null latest regions should not need update",
+  procedure.needsUpdate(createTestRegions(1), null));
+assertFalse("Both null regions should not need update",
+  procedure.needsUpdate(null, null));
+  }
+
+  @Test
+  public void testGetCurrentRegions() throws Exception {
+RefreshMetaProcedure procedure = new 
RefreshMetaProcedure(procExecutor.getEnvironment());
+List regions = 
procedure.getCurrentRegions(TEST_UTIL.getConnection());
+assertFalse("Should have found regions in meta",
+  regions.isEmpty());
+assertTrue("Should include test ta

Re: [PR] HBASE-29291: Add a command to refresh/sync hbase:meta table [hbase]

2025-06-09 Thread via GitHub


Apache-HBase commented on PR #7058:
URL: https://github.com/apache/hbase/pull/7058#issuecomment-2957381155

   :broken_heart: **-1 overall**
   
   
   
   
   
   
   | Vote | Subsystem | Runtime |  Logfile | Comment |
   |::|--:|:|::|:---:|
   | +0 :ok: |  reexec  |   0m 29s |  |  Docker mode activated.  |
   | -0 :warning: |  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 _ |
    _ HBASE-29081 Compile Tests _ |
   | +0 :ok: |  mvndep  |   0m 10s |  |  Maven dependency ordering for branch  |
   | +1 :green_heart: |  mvninstall  |   3m 11s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  compile  |   2m 18s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  javadoc  |   1m 27s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  shadedjars  |   5m 53s |  |  branch has no errors when 
building our shaded downstream artifacts.  |
    _ Patch Compile Tests _ |
   | +0 :ok: |  mvndep  |   0m 12s |  |  Maven dependency ordering for patch  |
   | +1 :green_heart: |  mvninstall  |   3m  1s |  |  the patch passed  |
   | +1 :green_heart: |  compile  |   2m 17s |  |  the patch passed  |
   | +1 :green_heart: |  javac  |   2m 17s |  |  the patch passed  |
   | +1 :green_heart: |  javadoc  |   1m 23s |  |  the patch passed  |
   | +1 :green_heart: |  shadedjars  |   5m 52s |  |  patch has no errors when 
building our shaded downstream artifacts.  |
    _ Other Tests _ |
   | +1 :green_heart: |  unit  |   0m 33s |  |  hbase-protocol-shaded in the 
patch passed.  |
   | +1 :green_heart: |  unit  |   1m 34s |  |  hbase-client in the patch 
passed.  |
   | -1 :x: |  unit  | 226m 56s | 
[/patch-unit-hbase-server.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/2/artifact/yetus-jdk17-hadoop3-check/output/patch-unit-hbase-server.txt)
 |  hbase-server in the patch failed.  |
   | +1 :green_heart: |  unit  |   6m 50s |  |  hbase-thrift in the patch 
passed.  |
   |  |   | 267m 26s |  |  |
   
   
   | Subsystem | Report/Notes |
   |--:|:-|
   | Docker | ClientAPI=1.43 ServerAPI=1.43 base: 
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/2/artifact/yetus-jdk17-hadoop3-check/output/Dockerfile
 |
   | GITHUB PR | https://github.com/apache/hbase/pull/7058 |
   | JIRA Issue | HBASE-29291 |
   | Optional Tests | javac javadoc unit compile shadedjars |
   | uname | Linux f58b19714df4 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 | HBASE-29081 / f861d08739880a98ce94b073d520abab4ac10912 |
   | Default Java | Eclipse Adoptium-17.0.11+9 |
   |  Test Results | 
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/2/testReport/
 |
   | Max. process+thread count | 4649 (vs. ulimit of 3) |
   | modules | C: hbase-protocol-shaded hbase-client hbase-server hbase-thrift 
U: . |
   | Console output | 
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/2/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.
   
   


-- 
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]



Re: [PR] HBASE-29291: Add a command to refresh/sync hbase:meta table [hbase]

2025-06-09 Thread via GitHub


anmolnar commented on code in PR #7058:
URL: https://github.com/apache/hbase/pull/7058#discussion_r2136719801


##
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestRefreshMetaProcedure.java:
##
@@ -0,0 +1,162 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.hadoop.hbase.master.procedure;
+
+import org.apache.hadoop.hbase.HBaseClassTestRule;
+import org.apache.hadoop.hbase.HBaseTestingUtil;
+import org.apache.hadoop.hbase.TableName;
+import org.apache.hadoop.hbase.client.RegionInfo;
+import org.apache.hadoop.hbase.client.RegionInfoBuilder;
+import org.apache.hadoop.hbase.procedure2.ProcedureExecutor;
+import org.apache.hadoop.hbase.procedure2.ProcedureTestingUtility;
+import org.apache.hadoop.hbase.testclassification.MasterTests;
+import org.apache.hadoop.hbase.testclassification.MediumTests;
+import org.apache.hadoop.hbase.util.Bytes;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.ClassRule;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import static 
org.apache.hadoop.hbase.procedure2.ProcedureTestingUtility.assertProcNotFailed;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+@Category({MasterTests.class, MediumTests.class})
+public class TestRefreshMetaProcedure {
+
+  @ClassRule
+  public static final HBaseClassTestRule CLASS_RULE =
+HBaseClassTestRule.forClass(TestRefreshMetaProcedure.class);
+
+  private static final HBaseTestingUtil TEST_UTIL = new HBaseTestingUtil();
+  private ProcedureExecutor procExecutor;
+  List activeRegions;
+  TableName tableName = TableName.valueOf("testRefreshMeta");
+
+  @Before
+  public void setup() throws Exception {
+TEST_UTIL.getConfiguration().set("USE_META_REPLICAS", "false");
+TEST_UTIL.startMiniCluster();
+procExecutor = 
TEST_UTIL.getHBaseCluster().getMaster().getMasterProcedureExecutor();
+// Create a test table to have some regions
+byte[][] splitKeys = new byte[][] {
+  Bytes.toBytes("split1"),
+  Bytes.toBytes("split2"),
+  Bytes.toBytes("split3")
+};
+TEST_UTIL.createTable(tableName, Bytes.toBytes("cf"), splitKeys);
+TEST_UTIL.waitTableAvailable(tableName);
+TEST_UTIL.getAdmin().flush(tableName);
+Thread.sleep(1000);
+activeRegions = TEST_UTIL.getAdmin().getRegions(tableName);
+assertFalse(activeRegions.isEmpty());
+  }
+
+  @After
+  public void tearDown() throws Exception {
+TEST_UTIL.shutdownMiniCluster();
+  }
+
+  @Test
+  public void testRefreshMetaProcedureExecutesSuccessfully() {
+RefreshMetaProcedure procedure = new 
RefreshMetaProcedure(procExecutor.getEnvironment());
+long procId = procExecutor.submitProcedure(procedure);
+ProcedureTestingUtility.waitProcedure(procExecutor, procId);
+assertProcNotFailed(procExecutor.getResult(procId));
+  }
+
+  @Test
+  public void testNeedsUpdateWithDifferentRegions() {
+RefreshMetaProcedure procedure = new 
RefreshMetaProcedure(procExecutor.getEnvironment());
+List currentRegions = createTestRegions(2);
+List latestRegions = createTestRegions(3, "differenttable");
+
+assertTrue("Different regions should need update",
+  procedure.needsUpdate(currentRegions, latestRegions));
+  }
+
+  @Test
+  public void testNeedsUpdateWithNullLists() {
+RefreshMetaProcedure procedure = new 
RefreshMetaProcedure(procExecutor.getEnvironment());
+
+assertFalse("Null current regions should not need update",
+  procedure.needsUpdate(null, createTestRegions(1)));
+assertFalse("Null latest regions should not need update",
+  procedure.needsUpdate(createTestRegions(1), null));
+assertFalse("Both null regions should not need update",
+  procedure.needsUpdate(null, null));
+  }
+
+  @Test
+  public void testGetCurrentRegions() throws Exception {
+RefreshMetaProcedure procedure = new 
RefreshMetaProcedure(procExecutor.getEnvironment());
+List regions = 
procedure.getCurrentRegions(TEST_UTIL.getConnection());
+assertFalse("Should have found regions in meta",
+  regions.isEmpty());
+assertTrue("Should include test ta

Re: [PR] HBASE-29291: Add a command to refresh/sync hbase:meta table [hbase]

2025-06-09 Thread via GitHub


anmolnar commented on code in PR #7058:
URL: https://github.com/apache/hbase/pull/7058#discussion_r2136656832


##
hbase-server/src/main/java/org/apache/hadoop/hbase/security/access/ReadOnlyController.java:
##
@@ -109,6 +109,9 @@ public void prePut(ObserverContext c, Pu
   @Override
   public void preDelete(ObserverContext c, Delete delete,
 WALEdit edit) throws IOException {
+if (c.getEnvironment().getRegionInfo().getTable().isSystemTable()) {
+  return;
+}

Review Comment:
   Ignore me. He has done it only for `prePut` and `preBatchMutate`.



-- 
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]



Re: [PR] HBASE-29291: Add a command to refresh/sync hbase:meta table [hbase]

2025-06-09 Thread via GitHub


anmolnar commented on code in PR #7058:
URL: https://github.com/apache/hbase/pull/7058#discussion_r2136632347


##
hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/RefreshMetaProcedure.java:
##
@@ -0,0 +1,423 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.hadoop.hbase.master.procedure;
+
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.fs.FSDataInputStream;
+import org.apache.hadoop.fs.FileStatus;
+import org.apache.hadoop.fs.FileSystem;
+import org.apache.hadoop.fs.Path;
+import org.apache.hadoop.hbase.HConstants;
+import org.apache.hadoop.hbase.MetaTableAccessor;
+import org.apache.hadoop.hbase.TableName;
+import org.apache.hadoop.hbase.client.Connection;
+import org.apache.hadoop.hbase.client.Delete;
+import org.apache.hadoop.hbase.client.Put;
+import org.apache.hadoop.hbase.client.RegionInfo;
+import org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer;
+import 
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.RefreshMetaState;
+import 
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.RefreshMetaStateData;
+import org.apache.hadoop.hbase.util.CommonFSUtils;
+import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;
+import org.apache.yetus.audience.InterfaceAudience;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.DataInputStream;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.function.Function;
+import java.util.stream.Collectors;
+
[email protected]
+public class RefreshMetaProcedure extends 
AbstractStateMachineTableProcedure {
+  private static final Logger LOG = 
LoggerFactory.getLogger(RefreshMetaProcedure.class);
+
+  private List currentRegions;
+  private List latestRegions;
+  private static final int CHUNK_SIZE = 100;
+
+  public RefreshMetaProcedure() {
+super();
+  }
+
+  public RefreshMetaProcedure(MasterProcedureEnv env) {
+super(env);
+  }
+
+  @Override
+  public TableName getTableName() {
+return TableName.META_TABLE_NAME;
+  }
+
+  @Override
+  public TableOperationType getTableOperationType() {
+return TableOperationType.EDIT;
+  }
+
+  @Override
+  protected Flow executeFromState(MasterProcedureEnv env, RefreshMetaState 
refreshMetaState) {
+LOG.info("Executing RefreshMetaProcedure state: {}", refreshMetaState);
+
+try {
+  return switch (refreshMetaState) {
+case REFRESH_META_INIT -> executeInit(env);
+case REFRESH_META_SCAN_STORAGE -> executeScanStorage(env);
+case REFRESH_META_UPDATE -> executeUpdate(env);
+case REFRESH_META_COMPLETE -> executeComplete();
+default -> throw new UnsupportedOperationException("Unhandled state: " 
+ refreshMetaState);
+  };
+} catch (Exception ex) {
+  LOG.error("Error in RefreshMetaProcedure state {}", refreshMetaState, 
ex);
+  setFailure("RefreshMetaProcedure", ex);
+  return Flow.NO_MORE_STATE;
+}
+  }
+
+  private Flow executeInit(MasterProcedureEnv env) throws IOException {
+LOG.trace("Getting current regions from hbase:meta table");
+try {
+  currentRegions = 
getCurrentRegions(env.getMasterServices().getConnection());
+  LOG.info("Found {} current regions in meta table", 
currentRegions.size());
+
+  setNextState(RefreshMetaState.REFRESH_META_SCAN_STORAGE);
+  return Flow.HAS_MORE_STATE;
+} catch (IOException ioe) {
+  LOG.error("Failed to get current regions from meta table", ioe);
+  throw ioe;
+}
+  }
+
+  private Flow executeScanStorage(MasterProcedureEnv env) throws IOException {
+LOG.trace("Scanning backing storage for region directories");
+try {
+  latestRegions = 
scanBackingStorage(env.getMasterServices().getConnection());
+  LOG.info("Found {} regions in backing storage", latestRegions.size());
+
+  setNextState(RefreshMetaState.REFRESH_META_UPDATE);
+  return Flow.HAS_MORE_STATE;
+} catch (IOException ioe) {
+  LOG.error("Failed to scan backing storage", ioe);
+  throw ioe;
+

Re: [PR] HBASE-29291: Add a command to refresh/sync hbase:meta table [hbase]

2025-06-09 Thread via GitHub


Apache-HBase commented on PR #7058:
URL: https://github.com/apache/hbase/pull/7058#issuecomment-2957068489

   :broken_heart: **-1 overall**
   
   
   
   
   
   
   | Vote | Subsystem | Runtime |  Logfile | Comment |
   |::|--:|:|::|:---:|
   | +0 :ok: |  reexec  |   0m 34s |  |  Docker mode activated.  |
    _ Prechecks _ |
   | +1 :green_heart: |  dupname  |   0m  0s |  |  No case conflicting files 
found.  |
   | +0 :ok: |  codespell  |   0m  0s |  |  codespell was not available.  |
   | +0 :ok: |  detsecrets  |   0m  0s |  |  detect-secrets was not available.  
|
   | +0 :ok: |  buf  |   0m  0s |  |  buf was not available.  |
   | +0 :ok: |  buf  |   0m  0s |  |  buf was not available.  |
   | +1 :green_heart: |  @author  |   0m  0s |  |  The patch does not contain 
any @author tags.  |
   | +1 :green_heart: |  hbaseanti  |   0m  0s |  |  Patch does not have any 
anti-patterns.  |
    _ HBASE-29081 Compile Tests _ |
   | +0 :ok: |  mvndep  |   0m 12s |  |  Maven dependency ordering for branch  |
   | +1 :green_heart: |  mvninstall  |   3m 55s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  compile  |   6m 30s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  checkstyle  |   1m 54s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  spotbugs  |   7m  5s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  spotless  |   0m 51s |  |  branch has no errors when 
running spotless:check.  |
    _ Patch Compile Tests _ |
   | +0 :ok: |  mvndep  |   0m 11s |  |  Maven dependency ordering for patch  |
   | +1 :green_heart: |  mvninstall  |   4m 10s |  |  the patch passed  |
   | +1 :green_heart: |  compile  |   6m  6s |  |  the patch passed  |
   | +1 :green_heart: |  cc  |   6m  6s |  |  the patch passed  |
   | +1 :green_heart: |  javac  |   6m  6s |  |  the patch passed  |
   | +1 :green_heart: |  blanks  |   0m  0s |  |  The patch has no blanks 
issues.  |
   | -0 :warning: |  checkstyle  |   0m 19s | 
[/results-checkstyle-hbase-client.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/2/artifact/yetus-general-check/output/results-checkstyle-hbase-client.txt)
 |  hbase-client: The patch generated 1 new + 3 unchanged - 0 fixed = 4 total 
(was 3)  |
   | -0 :warning: |  checkstyle  |   0m 16s | 
[/buildtool-patch-checkstyle-hbase-server.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/2/artifact/yetus-general-check/output/buildtool-patch-checkstyle-hbase-server.txt)
 |  The patch fails to run checkstyle in hbase-server  |
   | +1 :green_heart: |  spotbugs  |   8m 17s |  |  the patch passed  |
   | +1 :green_heart: |  hadoopcheck  |  13m 48s |  |  Patch does not cause any 
errors with Hadoop 3.3.6 3.4.0.  |
   | +1 :green_heart: |  hbaseprotoc  |   2m 27s |  |  the patch passed  |
   | -1 :x: |  spotless  |   0m 33s |  |  patch has 40 errors when running 
spotless:check, run spotless:apply to fix.  |
    _ Other Tests _ |
   | +1 :green_heart: |  asflicense  |   0m 52s |  |  The patch does not 
generate ASF License warnings.  |
   |  |   |  67m 54s |  |  |
   
   
   | Subsystem | Report/Notes |
   |--:|:-|
   | Docker | ClientAPI=1.43 ServerAPI=1.43 base: 
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/2/artifact/yetus-general-check/output/Dockerfile
 |
   | GITHUB PR | https://github.com/apache/hbase/pull/7058 |
   | JIRA Issue | HBASE-29291 |
   | Optional Tests | dupname asflicense javac spotbugs checkstyle codespell 
detsecrets compile hadoopcheck hbaseanti spotless cc buflint bufcompat 
hbaseprotoc |
   | uname | Linux 17b74b22d1e0 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 | HBASE-29081 / f861d08739880a98ce94b073d520abab4ac10912 |
   | Default Java | Eclipse Adoptium-17.0.11+9 |
   | spotless | 
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/2/artifact/yetus-general-check/output/patch-spotless.txt
 |
   | Max. process+thread count | 85 (vs. ulimit of 3) |
   | modules | C: hbase-protocol-shaded hbase-client hbase-server hbase-thrift 
U: . |
   | Console output | 
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/2/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.
   
   


-- 
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]



Re: [PR] HBASE-29291: Add a command to refresh/sync hbase:meta table [hbase]

2025-06-06 Thread via GitHub


kgeisz commented on code in PR #7058:
URL: https://github.com/apache/hbase/pull/7058#discussion_r2131098586


##
hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/RefreshMetaProcedure.java:
##
@@ -0,0 +1,418 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.hadoop.hbase.master.procedure;
+
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.fs.FSDataInputStream;
+import org.apache.hadoop.fs.FileStatus;
+import org.apache.hadoop.fs.FileSystem;
+import org.apache.hadoop.fs.Path;
+import org.apache.hadoop.hbase.HConstants;
+import org.apache.hadoop.hbase.MetaTableAccessor;
+import org.apache.hadoop.hbase.TableName;
+import org.apache.hadoop.hbase.client.Connection;
+import org.apache.hadoop.hbase.client.Delete;
+import org.apache.hadoop.hbase.client.Put;
+import org.apache.hadoop.hbase.client.RegionInfo;
+import org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer;
+import 
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.RefreshMetaState;
+import 
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.RefreshMetaStateData;
+import org.apache.hadoop.hbase.util.CommonFSUtils;
+import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;
+import org.apache.yetus.audience.InterfaceAudience;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.DataInputStream;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
[email protected]
+public class RefreshMetaProcedure extends 
AbstractStateMachineTableProcedure {
+  private static final Logger LOG = 
LoggerFactory.getLogger(RefreshMetaProcedure.class);
+
+  private List currentRegions;
+  private List latestRegions;
+  private static final int CHUNK_SIZE = 100;
+
+  public RefreshMetaProcedure() {
+super();
+  }
+
+  public RefreshMetaProcedure(MasterProcedureEnv env) {
+super(env);
+  }
+
+  @Override
+  public TableName getTableName() {
+return TableName.META_TABLE_NAME;
+  }
+
+  @Override
+  public TableOperationType getTableOperationType() {
+return TableOperationType.EDIT;
+  }
+
+  @Override
+  protected Flow executeFromState(MasterProcedureEnv env, RefreshMetaState 
refreshMetaState) {
+LOG.info("Executing RefreshMetaProcedure state: {}", refreshMetaState);
+
+try {
+  return switch (refreshMetaState) {
+case REFRESH_META_INIT -> executeInit(env);
+case REFRESH_META_SCAN_STORAGE -> executeScanStorage(env);
+case REFRESH_META_UPDATE -> executeUpdate(env);
+case REFRESH_META_COMPLETE -> executeComplete();
+default -> throw new UnsupportedOperationException("Unhandled state: " 
+ refreshMetaState);
+  };
+} catch (Exception ex) {
+  LOG.error("Error in RefreshMetaProcedure state {}", refreshMetaState, 
ex);
+  setFailure("RefreshMetaProcedure", ex);
+  return Flow.NO_MORE_STATE;
+}
+  }
+
+  private Flow executeInit(MasterProcedureEnv env) throws IOException {
+LOG.trace("Getting current regions from hbase:meta table");
+try {
+  currentRegions = 
getCurrentRegions(env.getMasterServices().getConnection());
+  LOG.info("Found {} current regions in meta table",
+currentRegions != null ? currentRegions.size() : 0);
+
+  setNextState(RefreshMetaState.REFRESH_META_SCAN_STORAGE);
+  return Flow.HAS_MORE_STATE;
+} catch (IOException ioe) {
+  LOG.error("Failed to get current regions from meta table", ioe);
+  throw ioe;
+}
+  }
+
+  private Flow executeScanStorage(MasterProcedureEnv env) throws IOException {
+LOG.trace("Scanning backing storage for region directories");
+try {
+  latestRegions = 
scanBackingStorage(env.getMasterServices().getConnection());
+  LOG.info("Found {} regions in backing storage", latestRegions != null ? 
latestRegions.size() : 0);

Review Comment:
   nit:  Similar to @taklwu's comment, it looks like your 
`scanBackingStorage()` method will always return an `ArrayList` of some sort, 
so the null check for `latestRegions` is not necessary here.



##
hbase-server

Re: [PR] HBASE-29291: Add a command to refresh/sync hbase:meta table [hbase]

2025-06-03 Thread via GitHub


Kota-SH commented on PR #7058:
URL: https://github.com/apache/hbase/pull/7058#issuecomment-2937350579

   @taklwu - Thanks for the review!
   
   > nit: one more thought, we don't need to address in this PR, but assuming 
one cluster with 100k regions, would this refresh_meta for all tables still 
work?
   
   Well, it becomes a heavy operation, and that's something we should test for.
   There is another idea about periodically persisting a region to hfiles 
mapping in the storage, and being able to apply edits on demand based on that 
mapping. For now, it is just an idea that was discussed a long time ago 
upstream. 
   
   I'm thinking this refresh_meta implementation will be a fallback operation, 
in case we need to refresh_meta manually without depending on the active 
cluster persisting updates.


-- 
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]



Re: [PR] HBASE-29291: Add a command to refresh/sync hbase:meta table [hbase]

2025-06-03 Thread via GitHub


Kota-SH commented on code in PR #7058:
URL: https://github.com/apache/hbase/pull/7058#discussion_r2124989993


##
hbase-server/src/main/java/org/apache/hadoop/hbase/MetaTableAccessor.java:
##
@@ -742,7 +742,7 @@ private static void deleteFromMetaTable(final Connection 
connection, final Delet
* @param connection connection we're using
* @param deletesDeletes to add to hbase:meta This list should support 
#remove.
*/
-  private static void deleteFromMetaTable(final Connection connection, final 
List deletes)
+  public static void deleteFromMetaTable(final Connection connection, final 
List deletes)

Review Comment:
   Not really, I added in case we need to delete regions from the meta table 
during refresh.



-- 
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]



Re: [PR] HBASE-29291: Add a command to refresh/sync hbase:meta table [hbase]

2025-06-03 Thread via GitHub


Kota-SH commented on code in PR #7058:
URL: https://github.com/apache/hbase/pull/7058#discussion_r2124988743


##
hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/RefreshMetaProcedure.java:
##
@@ -0,0 +1,418 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.hadoop.hbase.master.procedure;
+
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.fs.FSDataInputStream;
+import org.apache.hadoop.fs.FileStatus;
+import org.apache.hadoop.fs.FileSystem;
+import org.apache.hadoop.fs.Path;
+import org.apache.hadoop.hbase.HConstants;
+import org.apache.hadoop.hbase.MetaTableAccessor;
+import org.apache.hadoop.hbase.TableName;
+import org.apache.hadoop.hbase.client.Connection;
+import org.apache.hadoop.hbase.client.Delete;
+import org.apache.hadoop.hbase.client.Put;
+import org.apache.hadoop.hbase.client.RegionInfo;
+import org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer;
+import 
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.RefreshMetaState;
+import 
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.RefreshMetaStateData;
+import org.apache.hadoop.hbase.util.CommonFSUtils;
+import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;
+import org.apache.yetus.audience.InterfaceAudience;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.DataInputStream;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
[email protected]
+public class RefreshMetaProcedure extends 
AbstractStateMachineTableProcedure {
+  private static final Logger LOG = 
LoggerFactory.getLogger(RefreshMetaProcedure.class);
+
+  private List currentRegions;
+  private List latestRegions;
+  private static final int CHUNK_SIZE = 100;
+
+  public RefreshMetaProcedure() {
+super();
+  }
+
+  public RefreshMetaProcedure(MasterProcedureEnv env) {
+super(env);
+  }
+
+  @Override
+  public TableName getTableName() {
+return TableName.META_TABLE_NAME;
+  }
+
+  @Override
+  public TableOperationType getTableOperationType() {
+return TableOperationType.EDIT;
+  }
+
+  @Override
+  protected Flow executeFromState(MasterProcedureEnv env, RefreshMetaState 
refreshMetaState) {
+LOG.info("Executing RefreshMetaProcedure state: {}", refreshMetaState);
+
+try {
+  return switch (refreshMetaState) {
+case REFRESH_META_INIT -> executeInit(env);
+case REFRESH_META_SCAN_STORAGE -> executeScanStorage(env);
+case REFRESH_META_UPDATE -> executeUpdate(env);
+case REFRESH_META_COMPLETE -> executeComplete();
+default -> throw new UnsupportedOperationException("Unhandled state: " 
+ refreshMetaState);
+  };
+} catch (Exception ex) {
+  LOG.error("Error in RefreshMetaProcedure state {}", refreshMetaState, 
ex);
+  setFailure("RefreshMetaProcedure", ex);
+  return Flow.NO_MORE_STATE;
+}
+  }
+
+  private Flow executeInit(MasterProcedureEnv env) throws IOException {
+LOG.trace("Getting current regions from hbase:meta table");
+try {
+  currentRegions = 
getCurrentRegions(env.getMasterServices().getConnection());
+  LOG.info("Found {} current regions in meta table",
+currentRegions != null ? currentRegions.size() : 0);
+
+  setNextState(RefreshMetaState.REFRESH_META_SCAN_STORAGE);
+  return Flow.HAS_MORE_STATE;
+} catch (IOException ioe) {
+  LOG.error("Failed to get current regions from meta table", ioe);
+  throw ioe;
+}
+  }
+
+  private Flow executeScanStorage(MasterProcedureEnv env) throws IOException {
+LOG.trace("Scanning backing storage for region directories");
+try {
+  latestRegions = 
scanBackingStorage(env.getMasterServices().getConnection());
+  LOG.info("Found {} regions in backing storage", latestRegions != null ? 
latestRegions.size() : 0);
+
+  setNextState(RefreshMetaState.REFRESH_META_UPDATE);
+  return Flow.HAS_MORE_STATE;
+} catch (IOException ioe) {
+  LOG.error("Failed to scan backing storage", ioe);
+  throw ioe;
+}
+  }
+
+  private Flow execute

Re: [PR] HBASE-29291: Add a command to refresh/sync hbase:meta table [hbase]

2025-06-03 Thread via GitHub


Kota-SH commented on code in PR #7058:
URL: https://github.com/apache/hbase/pull/7058#discussion_r2124985370


##
hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/RefreshMetaProcedure.java:
##
@@ -0,0 +1,418 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.hadoop.hbase.master.procedure;
+
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.fs.FSDataInputStream;
+import org.apache.hadoop.fs.FileStatus;
+import org.apache.hadoop.fs.FileSystem;
+import org.apache.hadoop.fs.Path;
+import org.apache.hadoop.hbase.HConstants;
+import org.apache.hadoop.hbase.MetaTableAccessor;
+import org.apache.hadoop.hbase.TableName;
+import org.apache.hadoop.hbase.client.Connection;
+import org.apache.hadoop.hbase.client.Delete;
+import org.apache.hadoop.hbase.client.Put;
+import org.apache.hadoop.hbase.client.RegionInfo;
+import org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer;
+import 
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.RefreshMetaState;
+import 
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.RefreshMetaStateData;
+import org.apache.hadoop.hbase.util.CommonFSUtils;
+import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;
+import org.apache.yetus.audience.InterfaceAudience;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.DataInputStream;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
[email protected]
+public class RefreshMetaProcedure extends 
AbstractStateMachineTableProcedure {
+  private static final Logger LOG = 
LoggerFactory.getLogger(RefreshMetaProcedure.class);
+
+  private List currentRegions;
+  private List latestRegions;
+  private static final int CHUNK_SIZE = 100;
+
+  public RefreshMetaProcedure() {
+super();
+  }
+
+  public RefreshMetaProcedure(MasterProcedureEnv env) {
+super(env);
+  }
+
+  @Override
+  public TableName getTableName() {
+return TableName.META_TABLE_NAME;
+  }
+
+  @Override
+  public TableOperationType getTableOperationType() {
+return TableOperationType.EDIT;
+  }
+
+  @Override
+  protected Flow executeFromState(MasterProcedureEnv env, RefreshMetaState 
refreshMetaState) {
+LOG.info("Executing RefreshMetaProcedure state: {}", refreshMetaState);
+
+try {
+  return switch (refreshMetaState) {
+case REFRESH_META_INIT -> executeInit(env);
+case REFRESH_META_SCAN_STORAGE -> executeScanStorage(env);
+case REFRESH_META_UPDATE -> executeUpdate(env);
+case REFRESH_META_COMPLETE -> executeComplete();
+default -> throw new UnsupportedOperationException("Unhandled state: " 
+ refreshMetaState);
+  };
+} catch (Exception ex) {
+  LOG.error("Error in RefreshMetaProcedure state {}", refreshMetaState, 
ex);
+  setFailure("RefreshMetaProcedure", ex);
+  return Flow.NO_MORE_STATE;
+}
+  }
+
+  private Flow executeInit(MasterProcedureEnv env) throws IOException {
+LOG.trace("Getting current regions from hbase:meta table");
+try {
+  currentRegions = 
getCurrentRegions(env.getMasterServices().getConnection());
+  LOG.info("Found {} current regions in meta table",
+currentRegions != null ? currentRegions.size() : 0);
+
+  setNextState(RefreshMetaState.REFRESH_META_SCAN_STORAGE);
+  return Flow.HAS_MORE_STATE;
+} catch (IOException ioe) {
+  LOG.error("Failed to get current regions from meta table", ioe);
+  throw ioe;
+}
+  }
+
+  private Flow executeScanStorage(MasterProcedureEnv env) throws IOException {
+LOG.trace("Scanning backing storage for region directories");
+try {
+  latestRegions = 
scanBackingStorage(env.getMasterServices().getConnection());
+  LOG.info("Found {} regions in backing storage", latestRegions != null ? 
latestRegions.size() : 0);
+
+  setNextState(RefreshMetaState.REFRESH_META_UPDATE);
+  return Flow.HAS_MORE_STATE;
+} catch (IOException ioe) {
+  LOG.error("Failed to scan backing storage", ioe);
+  throw ioe;
+}
+  }
+
+  private Flow execute

Re: [PR] HBASE-29291: Add a command to refresh/sync hbase:meta table [hbase]

2025-06-03 Thread via GitHub


Kota-SH commented on code in PR #7058:
URL: https://github.com/apache/hbase/pull/7058#discussion_r2124975685


##
hbase-server/src/main/java/org/apache/hadoop/hbase/security/access/ReadOnlyController.java:
##
@@ -109,6 +109,9 @@ public void prePut(ObserverContext c, Pu
   @Override
   public void preDelete(ObserverContext c, Delete delete,
 WALEdit edit) throws IOException {
+if (c.getEnvironment().getRegionInfo().getTable().isSystemTable()) {
+  return;
+}

Review Comment:
   This is blocking the refresh_meta. We need to be able to put and delete in 
the system table (hbase:meta). So I made these changes in the 
ReadOnlyController.



-- 
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]



Re: [PR] HBASE-29291: Add a command to refresh/sync hbase:meta table [hbase]

2025-06-03 Thread via GitHub


taklwu commented on code in PR #7058:
URL: https://github.com/apache/hbase/pull/7058#discussion_r2124667023


##
hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/RefreshMetaProcedure.java:
##
@@ -0,0 +1,418 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.hadoop.hbase.master.procedure;
+
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.fs.FSDataInputStream;
+import org.apache.hadoop.fs.FileStatus;
+import org.apache.hadoop.fs.FileSystem;
+import org.apache.hadoop.fs.Path;
+import org.apache.hadoop.hbase.HConstants;
+import org.apache.hadoop.hbase.MetaTableAccessor;
+import org.apache.hadoop.hbase.TableName;
+import org.apache.hadoop.hbase.client.Connection;
+import org.apache.hadoop.hbase.client.Delete;
+import org.apache.hadoop.hbase.client.Put;
+import org.apache.hadoop.hbase.client.RegionInfo;
+import org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer;
+import 
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.RefreshMetaState;
+import 
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.RefreshMetaStateData;
+import org.apache.hadoop.hbase.util.CommonFSUtils;
+import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;
+import org.apache.yetus.audience.InterfaceAudience;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.DataInputStream;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
[email protected]
+public class RefreshMetaProcedure extends 
AbstractStateMachineTableProcedure {
+  private static final Logger LOG = 
LoggerFactory.getLogger(RefreshMetaProcedure.class);
+
+  private List currentRegions;
+  private List latestRegions;
+  private static final int CHUNK_SIZE = 100;
+
+  public RefreshMetaProcedure() {
+super();
+  }
+
+  public RefreshMetaProcedure(MasterProcedureEnv env) {
+super(env);
+  }
+
+  @Override
+  public TableName getTableName() {
+return TableName.META_TABLE_NAME;
+  }
+
+  @Override
+  public TableOperationType getTableOperationType() {
+return TableOperationType.EDIT;
+  }
+
+  @Override
+  protected Flow executeFromState(MasterProcedureEnv env, RefreshMetaState 
refreshMetaState) {
+LOG.info("Executing RefreshMetaProcedure state: {}", refreshMetaState);
+
+try {
+  return switch (refreshMetaState) {
+case REFRESH_META_INIT -> executeInit(env);
+case REFRESH_META_SCAN_STORAGE -> executeScanStorage(env);
+case REFRESH_META_UPDATE -> executeUpdate(env);
+case REFRESH_META_COMPLETE -> executeComplete();
+default -> throw new UnsupportedOperationException("Unhandled state: " 
+ refreshMetaState);
+  };
+} catch (Exception ex) {
+  LOG.error("Error in RefreshMetaProcedure state {}", refreshMetaState, 
ex);
+  setFailure("RefreshMetaProcedure", ex);
+  return Flow.NO_MORE_STATE;
+}
+  }
+
+  private Flow executeInit(MasterProcedureEnv env) throws IOException {
+LOG.trace("Getting current regions from hbase:meta table");
+try {
+  currentRegions = 
getCurrentRegions(env.getMasterServices().getConnection());
+  LOG.info("Found {} current regions in meta table",
+currentRegions != null ? currentRegions.size() : 0);
+
+  setNextState(RefreshMetaState.REFRESH_META_SCAN_STORAGE);
+  return Flow.HAS_MORE_STATE;
+} catch (IOException ioe) {
+  LOG.error("Failed to get current regions from meta table", ioe);
+  throw ioe;
+}
+  }
+
+  private Flow executeScanStorage(MasterProcedureEnv env) throws IOException {
+LOG.trace("Scanning backing storage for region directories");
+try {
+  latestRegions = 
scanBackingStorage(env.getMasterServices().getConnection());
+  LOG.info("Found {} regions in backing storage", latestRegions != null ? 
latestRegions.size() : 0);
+
+  setNextState(RefreshMetaState.REFRESH_META_UPDATE);
+  return Flow.HAS_MORE_STATE;
+} catch (IOException ioe) {
+  LOG.error("Failed to scan backing storage", ioe);
+  throw ioe;
+}
+  }
+
+  private Flow executeU

Re: [PR] HBASE-29291: Add a command to refresh/sync hbase:meta table [hbase]

2025-06-03 Thread via GitHub


taklwu commented on code in PR #7058:
URL: https://github.com/apache/hbase/pull/7058#discussion_r2124665570


##
hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/RefreshMetaProcedure.java:
##
@@ -0,0 +1,418 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.hadoop.hbase.master.procedure;
+
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.fs.FSDataInputStream;
+import org.apache.hadoop.fs.FileStatus;
+import org.apache.hadoop.fs.FileSystem;
+import org.apache.hadoop.fs.Path;
+import org.apache.hadoop.hbase.HConstants;
+import org.apache.hadoop.hbase.MetaTableAccessor;
+import org.apache.hadoop.hbase.TableName;
+import org.apache.hadoop.hbase.client.Connection;
+import org.apache.hadoop.hbase.client.Delete;
+import org.apache.hadoop.hbase.client.Put;
+import org.apache.hadoop.hbase.client.RegionInfo;
+import org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer;
+import 
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.RefreshMetaState;
+import 
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.RefreshMetaStateData;
+import org.apache.hadoop.hbase.util.CommonFSUtils;
+import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;
+import org.apache.yetus.audience.InterfaceAudience;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.DataInputStream;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
[email protected]
+public class RefreshMetaProcedure extends 
AbstractStateMachineTableProcedure {
+  private static final Logger LOG = 
LoggerFactory.getLogger(RefreshMetaProcedure.class);
+
+  private List currentRegions;
+  private List latestRegions;
+  private static final int CHUNK_SIZE = 100;
+
+  public RefreshMetaProcedure() {
+super();
+  }
+
+  public RefreshMetaProcedure(MasterProcedureEnv env) {
+super(env);
+  }
+
+  @Override
+  public TableName getTableName() {
+return TableName.META_TABLE_NAME;
+  }
+
+  @Override
+  public TableOperationType getTableOperationType() {
+return TableOperationType.EDIT;
+  }
+
+  @Override
+  protected Flow executeFromState(MasterProcedureEnv env, RefreshMetaState 
refreshMetaState) {
+LOG.info("Executing RefreshMetaProcedure state: {}", refreshMetaState);
+
+try {
+  return switch (refreshMetaState) {
+case REFRESH_META_INIT -> executeInit(env);
+case REFRESH_META_SCAN_STORAGE -> executeScanStorage(env);
+case REFRESH_META_UPDATE -> executeUpdate(env);
+case REFRESH_META_COMPLETE -> executeComplete();
+default -> throw new UnsupportedOperationException("Unhandled state: " 
+ refreshMetaState);
+  };
+} catch (Exception ex) {
+  LOG.error("Error in RefreshMetaProcedure state {}", refreshMetaState, 
ex);
+  setFailure("RefreshMetaProcedure", ex);
+  return Flow.NO_MORE_STATE;
+}
+  }
+
+  private Flow executeInit(MasterProcedureEnv env) throws IOException {
+LOG.trace("Getting current regions from hbase:meta table");
+try {
+  currentRegions = 
getCurrentRegions(env.getMasterServices().getConnection());
+  LOG.info("Found {} current regions in meta table",
+currentRegions != null ? currentRegions.size() : 0);
+
+  setNextState(RefreshMetaState.REFRESH_META_SCAN_STORAGE);
+  return Flow.HAS_MORE_STATE;
+} catch (IOException ioe) {
+  LOG.error("Failed to get current regions from meta table", ioe);
+  throw ioe;
+}
+  }
+
+  private Flow executeScanStorage(MasterProcedureEnv env) throws IOException {
+LOG.trace("Scanning backing storage for region directories");
+try {
+  latestRegions = 
scanBackingStorage(env.getMasterServices().getConnection());
+  LOG.info("Found {} regions in backing storage", latestRegions != null ? 
latestRegions.size() : 0);
+
+  setNextState(RefreshMetaState.REFRESH_META_UPDATE);
+  return Flow.HAS_MORE_STATE;
+} catch (IOException ioe) {
+  LOG.error("Failed to scan backing storage", ioe);
+  throw ioe;
+}
+  }
+
+  private Flow executeU

Re: [PR] HBASE-29291: Add a command to refresh/sync hbase:meta table [hbase]

2025-06-03 Thread via GitHub


taklwu commented on code in PR #7058:
URL: https://github.com/apache/hbase/pull/7058#discussion_r2124667023


##
hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/RefreshMetaProcedure.java:
##
@@ -0,0 +1,418 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.hadoop.hbase.master.procedure;
+
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.fs.FSDataInputStream;
+import org.apache.hadoop.fs.FileStatus;
+import org.apache.hadoop.fs.FileSystem;
+import org.apache.hadoop.fs.Path;
+import org.apache.hadoop.hbase.HConstants;
+import org.apache.hadoop.hbase.MetaTableAccessor;
+import org.apache.hadoop.hbase.TableName;
+import org.apache.hadoop.hbase.client.Connection;
+import org.apache.hadoop.hbase.client.Delete;
+import org.apache.hadoop.hbase.client.Put;
+import org.apache.hadoop.hbase.client.RegionInfo;
+import org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer;
+import 
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.RefreshMetaState;
+import 
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.RefreshMetaStateData;
+import org.apache.hadoop.hbase.util.CommonFSUtils;
+import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;
+import org.apache.yetus.audience.InterfaceAudience;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.DataInputStream;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
[email protected]
+public class RefreshMetaProcedure extends 
AbstractStateMachineTableProcedure {
+  private static final Logger LOG = 
LoggerFactory.getLogger(RefreshMetaProcedure.class);
+
+  private List currentRegions;
+  private List latestRegions;
+  private static final int CHUNK_SIZE = 100;
+
+  public RefreshMetaProcedure() {
+super();
+  }
+
+  public RefreshMetaProcedure(MasterProcedureEnv env) {
+super(env);
+  }
+
+  @Override
+  public TableName getTableName() {
+return TableName.META_TABLE_NAME;
+  }
+
+  @Override
+  public TableOperationType getTableOperationType() {
+return TableOperationType.EDIT;
+  }
+
+  @Override
+  protected Flow executeFromState(MasterProcedureEnv env, RefreshMetaState 
refreshMetaState) {
+LOG.info("Executing RefreshMetaProcedure state: {}", refreshMetaState);
+
+try {
+  return switch (refreshMetaState) {
+case REFRESH_META_INIT -> executeInit(env);
+case REFRESH_META_SCAN_STORAGE -> executeScanStorage(env);
+case REFRESH_META_UPDATE -> executeUpdate(env);
+case REFRESH_META_COMPLETE -> executeComplete();
+default -> throw new UnsupportedOperationException("Unhandled state: " 
+ refreshMetaState);
+  };
+} catch (Exception ex) {
+  LOG.error("Error in RefreshMetaProcedure state {}", refreshMetaState, 
ex);
+  setFailure("RefreshMetaProcedure", ex);
+  return Flow.NO_MORE_STATE;
+}
+  }
+
+  private Flow executeInit(MasterProcedureEnv env) throws IOException {
+LOG.trace("Getting current regions from hbase:meta table");
+try {
+  currentRegions = 
getCurrentRegions(env.getMasterServices().getConnection());
+  LOG.info("Found {} current regions in meta table",
+currentRegions != null ? currentRegions.size() : 0);
+
+  setNextState(RefreshMetaState.REFRESH_META_SCAN_STORAGE);
+  return Flow.HAS_MORE_STATE;
+} catch (IOException ioe) {
+  LOG.error("Failed to get current regions from meta table", ioe);
+  throw ioe;
+}
+  }
+
+  private Flow executeScanStorage(MasterProcedureEnv env) throws IOException {
+LOG.trace("Scanning backing storage for region directories");
+try {
+  latestRegions = 
scanBackingStorage(env.getMasterServices().getConnection());
+  LOG.info("Found {} regions in backing storage", latestRegions != null ? 
latestRegions.size() : 0);
+
+  setNextState(RefreshMetaState.REFRESH_META_UPDATE);
+  return Flow.HAS_MORE_STATE;
+} catch (IOException ioe) {
+  LOG.error("Failed to scan backing storage", ioe);
+  throw ioe;
+}
+  }
+
+  private Flow executeU

Re: [PR] HBASE-29291: Add a command to refresh/sync hbase:meta table [hbase]

2025-06-03 Thread via GitHub


taklwu commented on code in PR #7058:
URL: https://github.com/apache/hbase/pull/7058#discussion_r2124555203


##
hbase-client/src/main/java/org/apache/hadoop/hbase/client/Admin.java:
##
@@ -2651,4 +2651,9 @@ List getLogEntries(Set serverNames, 
String logType, Server
* Get the list of cached files
*/
   List getCachedFilesList(ServerName serverName) throws IOException;
+
+  /**
+   * Perform hbase:meta table refresh
+   */
+  Long refreshMeta() throws IOException;

Review Comment:
   nit: what would be the expected return value? 



##
hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/RefreshMetaProcedure.java:
##
@@ -0,0 +1,418 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.hadoop.hbase.master.procedure;
+
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.fs.FSDataInputStream;
+import org.apache.hadoop.fs.FileStatus;
+import org.apache.hadoop.fs.FileSystem;
+import org.apache.hadoop.fs.Path;
+import org.apache.hadoop.hbase.HConstants;
+import org.apache.hadoop.hbase.MetaTableAccessor;
+import org.apache.hadoop.hbase.TableName;
+import org.apache.hadoop.hbase.client.Connection;
+import org.apache.hadoop.hbase.client.Delete;
+import org.apache.hadoop.hbase.client.Put;
+import org.apache.hadoop.hbase.client.RegionInfo;
+import org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer;
+import 
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.RefreshMetaState;
+import 
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.RefreshMetaStateData;
+import org.apache.hadoop.hbase.util.CommonFSUtils;
+import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;
+import org.apache.yetus.audience.InterfaceAudience;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.DataInputStream;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
[email protected]
+public class RefreshMetaProcedure extends 
AbstractStateMachineTableProcedure {
+  private static final Logger LOG = 
LoggerFactory.getLogger(RefreshMetaProcedure.class);
+
+  private List currentRegions;
+  private List latestRegions;
+  private static final int CHUNK_SIZE = 100;
+
+  public RefreshMetaProcedure() {
+super();
+  }
+
+  public RefreshMetaProcedure(MasterProcedureEnv env) {
+super(env);
+  }
+
+  @Override
+  public TableName getTableName() {
+return TableName.META_TABLE_NAME;
+  }
+
+  @Override
+  public TableOperationType getTableOperationType() {
+return TableOperationType.EDIT;
+  }
+
+  @Override
+  protected Flow executeFromState(MasterProcedureEnv env, RefreshMetaState 
refreshMetaState) {
+LOG.info("Executing RefreshMetaProcedure state: {}", refreshMetaState);
+
+try {
+  return switch (refreshMetaState) {
+case REFRESH_META_INIT -> executeInit(env);
+case REFRESH_META_SCAN_STORAGE -> executeScanStorage(env);
+case REFRESH_META_UPDATE -> executeUpdate(env);
+case REFRESH_META_COMPLETE -> executeComplete();
+default -> throw new UnsupportedOperationException("Unhandled state: " 
+ refreshMetaState);
+  };
+} catch (Exception ex) {
+  LOG.error("Error in RefreshMetaProcedure state {}", refreshMetaState, 
ex);
+  setFailure("RefreshMetaProcedure", ex);
+  return Flow.NO_MORE_STATE;
+}
+  }
+
+  private Flow executeInit(MasterProcedureEnv env) throws IOException {
+LOG.trace("Getting current regions from hbase:meta table");
+try {
+  currentRegions = 
getCurrentRegions(env.getMasterServices().getConnection());
+  LOG.info("Found {} current regions in meta table",
+currentRegions != null ? currentRegions.size() : 0);
+
+  setNextState(RefreshMetaState.REFRESH_META_SCAN_STORAGE);
+  return Flow.HAS_MORE_STATE;
+} catch (IOException ioe) {
+  LOG.error("Failed to get current regions from meta table", ioe);
+  throw ioe;
+}
+  }
+
+  private Flow executeScanStorage(MasterProcedureEnv env) throws IOException {
+LOG.trace("Scanning backing storage for region directo

Re: [PR] HBASE-29291: Add a command to refresh/sync hbase:meta table [hbase]

2025-06-02 Thread via GitHub


Apache-HBase commented on PR #7058:
URL: https://github.com/apache/hbase/pull/7058#issuecomment-2933434527

   :broken_heart: **-1 overall**
   
   
   
   
   
   
   | Vote | Subsystem | Runtime |  Logfile | Comment |
   |::|--:|:|::|:---:|
   | +0 :ok: |  reexec  |   0m 32s |  |  Docker mode activated.  |
   | -0 :warning: |  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 _ |
    _ HBASE-29081 Compile Tests _ |
   | +0 :ok: |  mvndep  |   0m 11s |  |  Maven dependency ordering for branch  |
   | +1 :green_heart: |  mvninstall  |   3m 12s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  compile  |   2m 20s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  javadoc  |   1m 27s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  shadedjars  |   6m  1s |  |  branch has no errors when 
building our shaded downstream artifacts.  |
    _ Patch Compile Tests _ |
   | +0 :ok: |  mvndep  |   0m 13s |  |  Maven dependency ordering for patch  |
   | +1 :green_heart: |  mvninstall  |   3m  7s |  |  the patch passed  |
   | +1 :green_heart: |  compile  |   2m 19s |  |  the patch passed  |
   | +1 :green_heart: |  javac  |   2m 19s |  |  the patch passed  |
   | +1 :green_heart: |  javadoc  |   1m 29s |  |  the patch passed  |
   | +1 :green_heart: |  shadedjars  |   6m  1s |  |  patch has no errors when 
building our shaded downstream artifacts.  |
    _ Other Tests _ |
   | +1 :green_heart: |  unit  |   0m 34s |  |  hbase-protocol-shaded in the 
patch passed.  |
   | +1 :green_heart: |  unit  |   1m 36s |  |  hbase-client in the patch 
passed.  |
   | -1 :x: |  unit  | 230m 22s | 
[/patch-unit-hbase-server.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/1/artifact/yetus-jdk17-hadoop3-check/output/patch-unit-hbase-server.txt)
 |  hbase-server in the patch failed.  |
   | +1 :green_heart: |  unit  |   6m 48s |  |  hbase-thrift in the patch 
passed.  |
   |  |   | 271m 30s |  |  |
   
   
   | Subsystem | Report/Notes |
   |--:|:-|
   | Docker | ClientAPI=1.43 ServerAPI=1.43 base: 
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/1/artifact/yetus-jdk17-hadoop3-check/output/Dockerfile
 |
   | GITHUB PR | https://github.com/apache/hbase/pull/7058 |
   | JIRA Issue | HBASE-29291 |
   | Optional Tests | javac javadoc unit compile shadedjars |
   | uname | Linux 43360259a509 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 | HBASE-29081 / 6e013195322c59a835a7c42af0ecf34820b183e5 |
   | Default Java | Eclipse Adoptium-17.0.11+9 |
   |  Test Results | 
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/1/testReport/
 |
   | Max. process+thread count | 5566 (vs. ulimit of 3) |
   | modules | C: hbase-protocol-shaded hbase-client hbase-server hbase-thrift 
U: . |
   | Console output | 
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/1/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.
   
   


-- 
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]



Re: [PR] HBASE-29291: Add a command to refresh/sync hbase:meta table [hbase]

2025-06-02 Thread via GitHub


Apache-HBase commented on PR #7058:
URL: https://github.com/apache/hbase/pull/7058#issuecomment-2933096232

   :broken_heart: **-1 overall**
   
   
   
   
   
   
   | Vote | Subsystem | Runtime |  Logfile | Comment |
   |::|--:|:|::|:---:|
   | +0 :ok: |  reexec  |   0m 37s |  |  Docker mode activated.  |
    _ Prechecks _ |
   | +1 :green_heart: |  dupname  |   0m  0s |  |  No case conflicting files 
found.  |
   | +0 :ok: |  codespell  |   0m  0s |  |  codespell was not available.  |
   | +0 :ok: |  detsecrets  |   0m  0s |  |  detect-secrets was not available.  
|
   | +0 :ok: |  buf  |   0m  0s |  |  buf was not available.  |
   | +0 :ok: |  buf  |   0m  0s |  |  buf was not available.  |
   | +1 :green_heart: |  @author  |   0m  0s |  |  The patch does not contain 
any @author tags.  |
   | +1 :green_heart: |  hbaseanti  |   0m  0s |  |  Patch does not have any 
anti-patterns.  |
    _ HBASE-29081 Compile Tests _ |
   | +0 :ok: |  mvndep  |   0m 11s |  |  Maven dependency ordering for branch  |
   | +1 :green_heart: |  mvninstall  |   3m 21s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  compile  |   6m  0s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  checkstyle  |   1m 35s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  spotbugs  |   6m 34s |  |  HBASE-29081 passed  |
   | +1 :green_heart: |  spotless  |   1m  6s |  |  branch has no errors when 
running spotless:check.  |
    _ Patch Compile Tests _ |
   | +0 :ok: |  mvndep  |   0m 12s |  |  Maven dependency ordering for patch  |
   | +1 :green_heart: |  mvninstall  |   3m 51s |  |  the patch passed  |
   | +1 :green_heart: |  compile  |   6m 59s |  |  the patch passed  |
   | +1 :green_heart: |  cc  |   6m 59s |  |  the patch passed  |
   | +1 :green_heart: |  javac  |   6m 59s |  |  the patch passed  |
   | +1 :green_heart: |  blanks  |   0m  0s |  |  The patch has no blanks 
issues.  |
   | -0 :warning: |  checkstyle  |   0m 22s | 
[/results-checkstyle-hbase-client.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/1/artifact/yetus-general-check/output/results-checkstyle-hbase-client.txt)
 |  hbase-client: The patch generated 1 new + 3 unchanged - 0 fixed = 4 total 
(was 3)  |
   | -0 :warning: |  checkstyle  |   0m 18s | 
[/buildtool-patch-checkstyle-hbase-server.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/1/artifact/yetus-general-check/output/buildtool-patch-checkstyle-hbase-server.txt)
 |  The patch fails to run checkstyle in hbase-server  |
   | +1 :green_heart: |  spotbugs  |  11m 51s |  |  the patch passed  |
   | +1 :green_heart: |  hadoopcheck  |  17m 59s |  |  Patch does not cause any 
errors with Hadoop 3.3.6 3.4.0.  |
   | +1 :green_heart: |  hbaseprotoc  |  11m 42s |  |  the patch passed  |
   | -1 :x: |  spotless  |   0m 20s |  |  patch has 38 errors when running 
spotless:check, run spotless:apply to fix.  |
    _ Other Tests _ |
   | +1 :green_heart: |  asflicense  |   0m 35s |  |  The patch does not 
generate ASF License warnings.  |
   |  |   |  88m 53s |  |  |
   
   
   | Subsystem | Report/Notes |
   |--:|:-|
   | Docker | ClientAPI=1.43 ServerAPI=1.43 base: 
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/1/artifact/yetus-general-check/output/Dockerfile
 |
   | GITHUB PR | https://github.com/apache/hbase/pull/7058 |
   | JIRA Issue | HBASE-29291 |
   | Optional Tests | dupname asflicense javac spotbugs checkstyle codespell 
detsecrets compile hadoopcheck hbaseanti spotless cc buflint bufcompat 
hbaseprotoc |
   | uname | Linux 8a006e1723b6 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 | HBASE-29081 / 6e013195322c59a835a7c42af0ecf34820b183e5 |
   | Default Java | Eclipse Adoptium-17.0.11+9 |
   | spotless | 
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/1/artifact/yetus-general-check/output/patch-spotless.txt
 |
   | Max. process+thread count | 85 (vs. ulimit of 3) |
   | modules | C: hbase-protocol-shaded hbase-client hbase-server hbase-thrift 
U: . |
   | Console output | 
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7058/1/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.
   
   


-- 
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]