Skip to content

Conversation

PDavid
Copy link
Contributor

@PDavid PDavid commented Oct 8, 2025

ℹ️ Sorry, this PR is also quite large and I did not found a way to make it smaller. Maybe it is better to check the changes commit-by-commit.

This is the 2/3 step of the Jamon to JSP migration: the Region Server Status page.

Did the migration the same way as for the Master Status page: #6875

Migrated the Jamon code to JSP as close as possible. Extracted the duplicated formatZKString method to new java class: ZKUtil and added unit tests.

Changed the Region Server Status page back to /regionserver.jsp. Made sure that /rs-status redirects to /regionserver.jsp.

Extracted the BlockCache inline CSS styles to hbase.css file. Also extracted the large BlockCache Hit Ratio periods paging JavaScript code to separate .js file.

Introduced a src/main/resources/hbase-webapps/common directory where we can place common JSP files which are used by both Master and RegionServer JSP pages. This required to adjust the JSP compiler Maven Antrun plugin a bit.

Extracted the inline tablesorter initialization JavaScript code to separate file.

@PDavid PDavid self-assigned this Oct 8, 2025
@Apache-HBase

This comment has been minimized.

@Apache-HBase

This comment has been minimized.

@Apache-HBase

This comment has been minimized.

@Apache-HBase

This comment has been minimized.

@PDavid PDavid marked this pull request as ready for review October 9, 2025 14:29
@PDavid
Copy link
Contributor Author

PDavid commented Oct 9, 2025

I tested this locally in standalone mode after building with Maven (mvn clean install -DskipTests && bin/start-hbase.sh). I created some tables, adding data with the ltt tool (bin/hbase ltt -num_keys 10000 -write 100:100 -num_tables 10 -multiput)

image

Also configured BlockCache accordiong to the example configuration https://hbase.apache.org/book.html#bc.example

conf/hbase-env.sh:
...
export HBASE_HEAPSIZE=5G
...

conf/hbase-site.xml:
...
  <property>
    <name>hbase.bucketcache.ioengine</name>
    <value>offheap</value>
  </property>
  <property>
    <name>hfile.block.cache.size</name>
    <value>0.2</value>
  </property>
  <property>
    <name>hbase.bucketcache.size</name>
    <value>4196</value>
  </property>
...

and checked the RS status page if the Block Cache details and the Hit ration periods are properly displayed:

image

@PDavid PDavid requested a review from stoty October 9, 2025 15:27
Copy link
Contributor

@Apache9 Apache9 left a comment

Choose a reason for hiding this comment

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

Let's get this in first.

We already had another ZKUtil.
@Apache-HBase
Copy link

🎊 +1 overall

Vote Subsystem Runtime Logfile Comment
+0 🆗 reexec 0m 29s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 0s No case conflicting files found.
+0 🆗 codespell 0m 1s codespell was not available.
+0 🆗 detsecrets 0m 1s detect-secrets was not available.
+0 🆗 jshint 0m 1s jshint was not available.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
+1 💚 hbaseanti 0m 0s Patch does not have any anti-patterns.
_ master Compile Tests _
+0 🆗 mvndep 0m 34s Maven dependency ordering for branch
+1 💚 mvninstall 3m 29s master passed
+1 💚 compile 3m 42s master passed
+1 💚 checkstyle 0m 45s master passed
+1 💚 spotbugs 1m 38s master passed
+1 💚 spotless 0m 45s branch has no errors when running spotless:check.
-0 ⚠️ patch 0m 58s Used diff version of patch file. Binary files and potentially other changes not applied. Please rebase and squash commits if necessary.
_ Patch Compile Tests _
+0 🆗 mvndep 0m 12s Maven dependency ordering for patch
+1 💚 mvninstall 3m 11s the patch passed
+1 💚 compile 3m 51s the patch passed
+1 💚 javac 3m 51s the patch passed
+1 💚 blanks 0m 0s The patch has no blanks issues.
+1 💚 checkstyle 0m 37s hbase-server: The patch generated 0 new + 0 unchanged - 4 fixed = 0 total (was 4)
+1 💚 checkstyle 0m 8s The patch passed checkstyle in hbase-shell
-0 ⚠️ rubocop 0m 10s /results-rubocop.txt The patch generated 1 new + 84 unchanged - 1 fixed = 85 total (was 85)
+1 💚 xmllint 0m 0s No new issues.
+1 💚 spotbugs 1m 46s the patch passed
+1 💚 hadoopcheck 12m 23s Patch does not cause any errors with Hadoop 3.3.6 3.4.1.
+1 💚 spotless 0m 46s patch has no errors when running spotless:check.
_ Other Tests _
+1 💚 asflicense 0m 17s The patch does not generate ASF License warnings.
42m 43s
Subsystem Report/Notes
Docker ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7371/3/artifact/yetus-general-check/output/Dockerfile
GITHUB PR #7371
Optional Tests dupname asflicense javac codespell detsecrets xmllint hadoopcheck spotless compile spotbugs checkstyle hbaseanti jshint rubocop
uname Linux dcaf2498a661 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision master / 188f039
Default Java Eclipse Adoptium-17.0.11+9
Max. process+thread count 85 (vs. ulimit of 30000)
modules C: hbase-server hbase-shell U: .
Console output https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7371/3/console
versions git=2.34.1 maven=3.9.8 spotbugs=4.7.3 rubocop=1.37.1 xmllint=20913
Powered by Apache Yetus 0.15.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase
Copy link

🎊 +1 overall

Vote Subsystem Runtime Logfile Comment
+0 🆗 reexec 0m 28s Docker mode activated.
-0 ⚠️ yetus 0m 3s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --author-ignore-list --blanks-eol-ignore-file --blanks-tabs-ignore-file --quick-hadoopcheck
_ Prechecks _
_ master Compile Tests _
+0 🆗 mvndep 0m 19s Maven dependency ordering for branch
+1 💚 mvninstall 3m 22s master passed
+1 💚 compile 1m 12s master passed
+1 💚 javadoc 0m 39s master passed
+1 💚 shadedjars 6m 9s branch has no errors when building our shaded downstream artifacts.
-0 ⚠️ patch 6m 26s Used diff version of patch file. Binary files and potentially other changes not applied. Please rebase and squash commits if necessary.
_ Patch Compile Tests _
+0 🆗 mvndep 0m 14s Maven dependency ordering for patch
+1 💚 mvninstall 2m 58s the patch passed
+1 💚 compile 1m 13s the patch passed
+1 💚 javac 1m 13s the patch passed
+1 💚 javadoc 0m 38s the patch passed
+1 💚 shadedjars 6m 2s patch has no errors when building our shaded downstream artifacts.
_ Other Tests _
+1 💚 unit 243m 26s hbase-server in the patch passed.
+1 💚 unit 8m 5s hbase-shell in the patch passed.
280m 40s
Subsystem Report/Notes
Docker ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7371/3/artifact/yetus-jdk17-hadoop3-check/output/Dockerfile
GITHUB PR #7371
Optional Tests javac javadoc unit shadedjars compile
uname Linux 02d790886e7b 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision master / 188f039
Default Java Eclipse Adoptium-17.0.11+9
Test Results https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7371/3/testReport/
Max. process+thread count 3466 (vs. ulimit of 30000)
modules C: hbase-server hbase-shell U: .
Console output https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7371/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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants