Skip to content

HBASE-27802 Manage static javascript resources programatically - #6864

Merged
ndimiduk merged 6 commits into
apache:masterfrom
PDavid:HBASE-27802-js-programatically-2
May 21, 2025
Merged

HBASE-27802 Manage static javascript resources programatically#6864
ndimiduk merged 6 commits into
apache:masterfrom
PDavid:HBASE-27802-js-programatically-2

Conversation

@PDavid

@PDavidPDavid commented Mar 27, 2025

Copy link
Copy Markdown
Contributor

As is

Currently, the static JavaScript, CSS resources need to be manually managed. That is, if any of these has to be updated, we will be required to download them from web and place them under the appropriate path. This can be cumbersome.

After

To be able to manage them with minimal manual effort we could manage them as part of build.

Approach

This solution is very similar to how we manage the websitestatic resources in our build: #6668

Download and extract the UI resources as webjars using the maven-dependency-plugin in our build. It will only copy the required files to the hbase-server/target/hbase-webapps/static directory.

The REST and Thrift projects copies the static JavaScript, CSS resources from hbase-server - as before.

This way the no new dependency is packaged into the application, only the required JS, CSS files are copied and packaged.

Upgrading in the future

From now on upgrading the static JavaScript, CSS resources means to:

Upgrades

Also upgraded the following static resources to current latest version:

  • jquery: 3.5.1 -> 3.7.1
  • tablesorter: 2.31.3 -> 2.32.0

@PDavid

PDavid commented Mar 27, 2025

Copy link
Copy Markdown
ContributorAuthor

I tested this with starting HBase in standalone mode in dev mode (mvn clean install -DskipTests && bin/start-hbase.sh).

Master UI

image

Region Server UI

image

REST UI

image

image

Also built a package and tested the UI there as well.

@Apache-HBase

This comment has been minimized.

@Apache-HBase

This comment has been minimized.

@PDavid

Copy link
Copy Markdown
ContributorAuthor

I see that in the PR build some replication related tests failed. I think they are not related.

@PDavid
PDavid marked this pull request as ready for review March 27, 2025 15:46
@PDavid

Copy link
Copy Markdown
ContributorAuthor

Hi @ndimiduk and @NihalJain,

What do you think about this approach?

Comment threadpom.xml
@NihalJain

Copy link
Copy Markdown
Contributor

Hi @ndimiduk and @NihalJain,

What do you think about this approach?

Looks great to me, very clean. Easy to do a new upgrade going forward. Thanks for taking this up @PDavid.

@NihalJain

NihalJain commented Mar 27, 2025

Copy link
Copy Markdown
Contributor

Just one request, could you please verify these jars don't leak into our assembly and also double check on whether the js are not bundled with our server, rest, thrift jars i.e. HBASE-28921 Avoid bundling hbase-webapps folder in default jars still works.

@PDavid

Copy link
Copy Markdown
ContributorAuthor

Just one request, could you please verify these jars don't leak into our assembly and also double check on whether the js are not bundled with our server, rest, thrift jars i.e. HBASE-28921 Avoid bundling hbase-webapps folder in default jars still works.

Thanks, great idea, I'll do that.

@PDavid

Copy link
Copy Markdown
ContributorAuthor

Just one request, could you please verify these jars don't leak into our assembly and also double check on whether the js are not bundled with our server, rest, thrift jars i.e. HBASE-28921 Avoid bundling hbase-webapps folder in default jars still works.

Thanks, great idea, I'll do that.

@NihalJain OK, double-checked and no webjar is packaged into the tarball, also .js or .css file made it's way into the server, rest, thrift jars.

Built a binary tarball locally with the command:

$ mvn clean install -DskipTests -Prelease && mvn install -DskipTests site assembly:single -Prelease

List contents of the binary tarball:

$ tar --list -vf ./hbase-assembly/target/hbase-4.0.0-alpha-1-SNAPSHOT-bin.tar.gz | grep 'jar'
-rw-r--r-- root/root 1598784 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/hbase-client-4.0.0-alpha-1-SNAPSHOT.jar
-rw-r--r-- root/root 1739960 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/jcodings-1.0.58.jar
-rw-r--r-- root/root 230217 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/joni-2.2.1.jar
-rw-r--r-- root/root 9603 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/hbase-openssl-4.0.0-alpha-1-SNAPSHOT.jar
-rw-r--r-- root/root 5652093 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/hbase-shaded-netty-tcnative-4.1.10.jar
-rw-r--r-- root/root 5847198 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/hbase-server-4.0.0-alpha-1-SNAPSHOT.jar
-rw-r--r-- root/root 1888023 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/hbase-shaded-protobuf-4.1.10.jar
-rw-r--r-- root/root 5226054 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/hbase-shaded-netty-4.1.10.jar
-rw-r--r-- root/root 4190926 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/hbase-shaded-miscellaneous-4.1.10.jar
-rw-r--r-- root/root 19401 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/error_prone_annotations-2.36.0.jar
-rw-r--r-- root/root 911768 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/hbase-common-4.0.0-alpha-1-SNAPSHOT.jar
-rw-r--r-- root/root 20402 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/hbase-unsafe-4.1.10.jar
-rw-r--r-- root/root 189675 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/commons-validator-1.7.jar
-rw-r--r-- root/root 196768 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/commons-digester-2.1.jar
-rw-r--r-- root/root 217668 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/hbase-procedure-4.0.0-alpha-1-SNAPSHOT.jar
-rw-r--r-- root/root 353793 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/commons-codec-1.15.jar
-rw-r--r-- root/root 576695 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/tomcat-jasper-9.0.93.jar
-rw-r--r-- root/root 89557 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/tomcat-el-api-9.0.93.jar
-rw-r--r-- root/root 173924 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/tomcat-jasper-el-9.0.93.jar
-rw-r--r-- root/root 53239 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/javax.servlet.jsp-api-2.3.1.jar
-rw-r--r-- root/root 880048 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/caffeine-2.8.1.jar
-rw-r--r-- root/root 204610 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/checker-qual-3.1.0.jar
-rw-r--r-- root/root 136454 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/metrics-core-3.2.6.jar
-rw-r--r-- root/root 538910 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/commons-io-2.18.0.jar
-rw-r--r-- root/root 503880 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/commons-lang3-3.9.jar
-rw-r--r-- root/root 2213560 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/commons-math3-3.6.1.jar
-rw-r--r-- root/root 1323991 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/zookeeper-3.8.4.jar
-rw-r--r-- root/root 254932 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/zookeeper-jute-3.8.4.jar
-rw-r--r-- root/root 580333 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/netty-handler-4.1.119.Final.jar
-rw-r--r-- root/root 719224 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/netty-common-4.1.119.Final.jar
-rw-r--r-- root/root 37841 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/netty-resolver-4.1.119.Final.jar
-rw-r--r-- root/root 339044 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/netty-buffer-4.1.119.Final.jar
-rw-r--r-- root/root 521425 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/netty-transport-4.1.119.Final.jar
-rw-r--r-- root/root 44157 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/netty-transport-native-unix-common-4.1.119.Final.jar
-rw-r--r-- root/root 355199 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/netty-codec-4.1.119.Final.jar
-rw-r--r-- root/root 6196 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/netty-transport-native-epoll-4.1.119.Final.jar
-rw-r--r-- root/root 147621 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/netty-transport-classes-epoll-4.1.119.Final.jar
-rw-r--r-- root/root 24543 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/jamon-runtime-2.4.1.jar
-rw-r--r-- root/root 95806 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/javax.servlet-api-3.1.0.jar
-rw-r--r-- root/root 84626 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/disruptor-3.4.4.jar
-rw-r--r-- root/root 166244 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/commons-crypto-1.1.0.jar
-rw-r--r-- root/root 163067 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/hadoop-distcp-3.4.1.jar
-rw-r--r-- root/root 4695811 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/hadoop-common-3.4.1.jar
-rw-r--r-- root/root 1952715 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/hadoop-shaded-protobuf_3_25-1.3.0.jar
-rw-r--r-- root/root 3519517 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/hadoop-shaded-guava-1.3.0.jar
-rw-r--r-- root/root 2747878 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/guava-27.0-jre.jar
-rw-r--r-- root/root 3727 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/failureaccess-1.0.jar
-rw-r--r-- root/root 2199 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar
-rw-r--r-- root/root 8782 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/j2objc-annotations-1.1.jar
-rw-r--r-- root/root 3448 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/animal-sniffer-annotations-1.17.jar
-rw-r--r-- root/root 316431 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/commons-net-3.9.0.jar
-rw-r--r-- root/root 588337 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/commons-collections-3.2.2.jar
-rw-r--r-- root/root 44399 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/jakarta.activation-api-1.2.1.jar
-rw-r--r-- root/root 736758 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/jetty-server-9.4.53.v20231009.jar
-rw-r--r-- root/root 249062 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/jetty-http-9.4.53.v20231009.jar
-rw-r--r-- root/root 183014 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/jetty-io-9.4.53.v20231009.jar
-rw-r--r-- root/root 588870 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/jetty-util-9.4.53.v20231009.jar
-rw-r--r-- root/root 146065 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/jetty-servlet-9.4.53.v20231009.jar
-rw-r--r-- root/root 118497 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/jetty-security-9.4.53.v20231009.jar
-rw-r--r-- root/root 140307 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/jetty-webapp-9.4.53.v20231009.jar
-rw-r--r-- root/root 68896 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/jetty-xml-9.4.53.v20231009.jar
-rw-r--r-- root/root 158890 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/jersey-json-1.22.0.jar
-rw-r--r-- root/root 890168 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/jaxb-impl-2.2.3-1.jar
-rw-r--r-- root/root 246918 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/commons-beanutils-1.9.4.jar
-rw-r--r-- root/root 657516 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/commons-configuration2-2.10.1.jar
-rw-r--r-- root/root 238400 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/commons-text-1.10.0.jar
-rw-r--r-- root/root 651391 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/avro-1.11.4.jar
-rw-r--r-- root/root 128414 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/re2j-1.1.jar
-rw-r--r-- root/root 249277 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/gson-2.9.0.jar
-rw-r--r-- root/root 282591 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/jsch-0.1.55.jar
-rw-r--r-- root/root 3275189 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/curator-client-5.7.1.jar
-rw-r--r-- root/root 319782 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/curator-recipes-5.7.1.jar
-rw-r--r-- root/root 1079377 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/commons-compress-1.26.1.jar
-rw-r--r-- root/root 223129 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/kerb-core-2.0.3.jar
-rw-r--r-- root/root 200581 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/kerby-pkix-2.0.3.jar
-rw-r--r-- root/root 100095 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/kerby-asn1-2.0.3.jar
-rw-r--r-- root/root 40787 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/kerby-util-2.0.3.jar
-rw-r--r-- root/root 195909 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/stax2-api-4.2.1.jar
-rw-r--r-- root/root 522679 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/woodstox-core-5.4.0.jar
-rw-r--r-- root/root 583996 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/dnsjava-3.6.1.jar
-rw-r--r-- root/root 6365135 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/hadoop-hdfs-3.4.1.jar
-rw-r--r-- root/root 66643 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/jetty-util-ajax-9.4.53.v20231009.jar
-rw-r--r-- root/root 24239 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/commons-daemon-1.0.13.jar
-rw-r--r-- root/root 4554 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/netty-all-4.1.119.Final.jar
-rw-r--r-- root/root 67189 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/netty-codec-dns-4.1.119.Final.jar
-rw-r--r-- root/root 37790 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/netty-codec-haproxy-4.1.119.Final.jar
-rw-r--r-- root/root 676321 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/netty-codec-http-4.1.119.Final.jar
-rw-r--r-- root/root 491365 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/netty-codec-http2-4.1.119.Final.jar
-rw-r--r-- root/root 44736 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/netty-codec-memcache-4.1.119.Final.jar
-rw-r--r-- root/root 113701 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/netty-codec-mqtt-4.1.119.Final.jar
-rw-r--r-- root/root 46014 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/netty-codec-redis-4.1.119.Final.jar
-rw-r--r-- root/root 21344 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/netty-codec-smtp-4.1.119.Final.jar
-rw-r--r-- root/root 121028 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/netty-codec-socks-4.1.119.Final.jar
-rw-r--r-- root/root 34636 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/netty-codec-stomp-4.1.119.Final.jar
-rw-r--r-- root/root 19823 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/netty-codec-xml-4.1.119.Final.jar
-rw-r--r-- root/root 25651 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/netty-handler-proxy-4.1.119.Final.jar
-rw-r--r-- root/root 26834 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/netty-handler-ssl-ocsp-4.1.119.Final.jar
-rw-r--r-- root/root 188359 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/netty-resolver-dns-4.1.119.Final.jar
-rw-r--r-- root/root 18242 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/netty-transport-rxtx-4.1.119.Final.jar
-rw-r--r-- root/root 50813 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/netty-transport-sctp-4.1.119.Final.jar
-rw-r--r-- root/root 32190 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/netty-transport-udt-4.1.119.Final.jar
-rw-r--r-- root/root 108561 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/netty-transport-classes-kqueue-4.1.119.Final.jar
-rw-r--r-- root/root 9144 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/netty-resolver-dns-classes-macos-4.1.119.Final.jar
-rw-r--r-- root/root 40596 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/netty-transport-native-epoll-4.1.119.Final-linux-x86_64.jar
-rw-r--r-- root/root 42285 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/netty-transport-native-epoll-4.1.119.Final-linux-aarch_64.jar
-rw-r--r-- root/root 36630 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/netty-transport-native-epoll-4.1.119.Final-linux-riscv64.jar
-rw-r--r-- root/root 25173 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/netty-transport-native-kqueue-4.1.119.Final-osx-x86_64.jar
-rw-r--r-- root/root 25741 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/netty-transport-native-kqueue-4.1.119.Final-osx-aarch_64.jar
-rw-r--r-- root/root 19629 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/netty-resolver-dns-native-macos-4.1.119.Final-osx-x86_64.jar
-rw-r--r-- root/root 19828 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/netty-resolver-dns-native-macos-4.1.119.Final-osx-aarch_64.jar
-rw-r--r-- root/root 5551591 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/hadoop-hdfs-client-3.4.1.jar
-rw-r--r-- root/root 1832290 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/hadoop-mapreduce-client-core-3.4.1.jar
-rw-r--r-- root/root 317416 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/hadoop-yarn-client-3.4.1.jar
-rw-r--r-- root/root 45602 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/websocket-client-9.4.53.v20231009.jar
-rw-r--r-- root/root 327897 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/jetty-client-9.4.53.v20231009.jar
-rw-r--r-- root/root 214599 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/websocket-common-9.4.53.v20231009.jar
-rw-r--r-- root/root 52192 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/websocket-api-9.4.53.v20231009.jar
-rw-r--r-- root/root 3829043 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/hadoop-yarn-api-3.4.1.jar
-rw-r--r-- root/root 707273 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/jline-3.9.0.jar
-rw-r--r-- root/root 2529413 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/hadoop-yarn-common-3.4.1.jar
-rw-r--r-- root/root 856934 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/guice-4.2.3.jar
-rw-r--r-- root/root 4467 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/aopalliance-1.0.jar
-rw-r--r-- root/root 16433 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/jackson-jaxrs-json-provider-2.12.7.jar
-rw-r--r-- root/root 35847 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/jackson-jaxrs-base-2.12.7.jar
-rw-r--r-- root/root 81553 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/guice-servlet-4.2.3.jar
-rw-r--r-- root/root 25470 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/hadoop-annotations-3.4.1.jar
-rw-r--r-- root/root 94192 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/hbase-endpoint-4.0.0-alpha-1-SNAPSHOT.jar
-rw-r--r-- root/root 446355 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/hbase-mapreduce-4.0.0-alpha-1-SNAPSHOT.jar
-rw-r--r-- root/root 233269 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/hbase-hadoop-compat-4.0.0-alpha-1-SNAPSHOT.jar
-rw-r--r-- root/root 248185 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/hbase-shell-4.0.0-alpha-1-SNAPSHOT.jar
-rw-r--r-- root/root 4022595 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/hbase-thrift-4.0.0-alpha-1-SNAPSHOT.jar
-rw-r--r-- root/root 305590 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/libthrift-0.14.1.jar
-rw-r--r-- root/root 479337 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/hbase-rest-4.0.0-alpha-1-SNAPSHOT.jar
-rw-r--r-- root/root 128076 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/jaxb-api-2.3.1.jar
-rw-r--r-- root/root 78030 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/javax.activation-1.2.0.jar
-rw-r--r-- root/root 78492 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/jackson-annotations-2.17.2.jar
-rw-r--r-- root/root 581927 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/jackson-core-2.17.2.jar
-rw-r--r-- root/root 1649454 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/jackson-databind-2.17.2.jar
-rw-r--r-- root/root 51421 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/hbase-shaded-jackson-jaxrs-json-provider-4.1.10.jar
-rw-r--r-- root/root 37122 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/jackson-module-jaxb-annotations-2.17.3.jar
-rw-r--r-- root/root 115638 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/jakarta.xml.bind-api-2.3.3.jar
-rw-r--r-- root/root 90184 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/jettison-1.5.4.jar
-rw-r--r-- root/root 110066 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/hadoop-auth-3.4.1.jar
-rw-r--r-- root/root 779369 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/nimbus-jose-jwt-9.37.2.jar
-rw-r--r-- root/root 4722 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/jcip-annotations-1.0-1.jar
-rw-r--r-- root/root 339439 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/curator-framework-5.7.1.jar
-rw-r--r-- root/root 36361 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/kerb-util-2.0.3.jar
-rw-r--r-- root/root 30190 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/kerby-config-2.0.3.jar
-rw-r--r-- root/root 115065 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/kerb-crypto-2.0.3.jar
-rw-r--r-- root/root 24969 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/hbase-external-blockcache-4.0.0-alpha-1-SNAPSHOT.jar
-rw-r--r-- root/root 473774 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/spymemcached-2.12.3.jar
-rw-r--r-- root/root 24135 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/hbase-metrics-api-4.0.0-alpha-1-SNAPSHOT.jar
-rw-r--r-- root/root 30984 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/hbase-metrics-4.0.0-alpha-1-SNAPSHOT.jar
-rw-r--r-- root/root 8361635 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/hbase-protocol-shaded-4.0.0-alpha-1-SNAPSHOT.jar
-rw-r--r-- root/root 26366 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/javax.annotation-api-1.2.jar
-rw-r--r-- root/root 62297 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/hbase-resource-bundle-4.0.0-alpha-1-SNAPSHOT.jar
-rw-r--r-- root/root 780321 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/httpclient-4.5.13.jar
-rw-r--r-- root/root 328593 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/httpcore-4.4.13.jar
-rw-r--r-- root/root 106429 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/hbase-asyncfs-4.0.0-alpha-1-SNAPSHOT.jar
-rw-r--r-- root/root 267139 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/hbase-backup-4.0.0-alpha-1-SNAPSHOT.jar
-rw-r--r-- root/root 245592 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/hbase-balancer-4.0.0-alpha-1-SNAPSHOT.jar
-rw-r--r-- root/root 443153 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/agrona-1.12.0.jar
-rw-r--r-- root/root 78440 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/hbase-replication-4.0.0-alpha-1-SNAPSHOT.jar
-rw-r--r-- root/root 131846 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/hbase-http-4.0.0-alpha-1-SNAPSHOT.jar
-rw-r--r-- root/root 2340216 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/hbase-shaded-jetty-4.1.10.jar
-rw-r--r-- root/root 3538928 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/hbase-shaded-jersey-4.1.10.jar
-rw-r--r-- root/root 25058 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/jakarta.annotation-api-1.3.5.jar
-rw-r--r-- root/root 91930 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/jakarta.validation-api-2.0.2.jar
-rw-r--r-- root/root 18140 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/jakarta.inject-2.6.1.jar
-rw-r--r-- root/root 794714 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/javassist-3.30.2-GA.jar
-rw-r--r-- root/root 111819 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/hbase-zookeeper-4.0.0-alpha-1-SNAPSHOT.jar
-rw-r--r-- root/root 2112099 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/snappy-java-1.1.10.4.jar
-rw-r--r-- root/root 58284 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/commons-cli-1.5.0.jar
-rw-r--r-- root/root 150058 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/hbase-hbtop-4.0.0-alpha-1-SNAPSHOT.jar
-rw-r--r-- root/root 33859 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/hbase-compression-aircompressor-4.0.0-alpha-1-SNAPSHOT.jar
-rw-r--r-- root/root 254937 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/aircompressor-0.27.jar
-rw-r--r-- root/root 20125 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/hbase-compression-brotli-4.0.0-alpha-1-SNAPSHOT.jar
-rw-r--r-- root/root 44739 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/brotli4j-1.11.0.jar
-rw-r--r-- root/root 3348 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/service-1.11.0.jar
-rw-r--r-- root/root 430779 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/native-linux-x86_64-1.11.0.jar
-rw-r--r-- root/root 19409 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/hbase-compression-lz4-4.0.0-alpha-1-SNAPSHOT.jar
-rw-r--r-- root/root 682804 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/lz4-java-1.8.0.jar
-rw-r--r-- root/root 19557 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/hbase-compression-snappy-4.0.0-alpha-1-SNAPSHOT.jar
-rw-r--r-- root/root 24056 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/hbase-compression-zstd-4.0.0-alpha-1-SNAPSHOT.jar
-rw-r--r-- root/root 5906781 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/zstd-jni-1.5.5-2.jar
-rw-r--r-- root/root 256178 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/hbase-diagnostics-4.0.0-alpha-1-SNAPSHOT.jar
-rw-r--r-- root/root 15391 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/hbase-logging-4.0.0-alpha-1-SNAPSHOT.jar
-rw-r--r-- root/root 322271 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/hbase-shaded-gson-4.1.10.jar
-rw-r--r-- root/root 33609531 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/ruby/jruby-complete-9.4.9.0.jar
-rw-r--r-- root/root 29229 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/client-facing-thirdparty/opentelemetry-semconv-1.15.0-alpha.jar
-rw-r--r-- root/root 41472 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/client-facing-thirdparty/slf4j-api-1.7.30.jar
-rw-r--r-- root/root 127628 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/client-facing-thirdparty/opentelemetry-api-1.15.0.jar
-rw-r--r-- root/root 61829 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/client-facing-thirdparty/commons-logging-1.2.jar
-rw-r--r-- root/root 45609 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/client-facing-thirdparty/opentelemetry-context-1.15.0.jar
-rw-r--r-- root/root 16537 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/client-facing-thirdparty/jcl-over-slf4j-1.7.30.jar
-rw-r--r-- root/root 4592 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/client-facing-thirdparty/jul-to-slf4j-1.7.30.jar
-rw-r--r-- root/root 302511 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/client-facing-thirdparty/log4j-api-2.17.2.jar
-rw-r--r-- root/root 1811089 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/client-facing-thirdparty/log4j-core-2.17.2.jar
-rw-r--r-- root/root 24248 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/client-facing-thirdparty/log4j-slf4j-impl-2.17.2.jar
-rw-r--r-- root/root 303443 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/client-facing-thirdparty/log4j-1.2-api-2.17.2.jar
-rw-r--r-- root/root 18245 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/client-facing-thirdparty/audience-annotations-0.15.0.jar
-rw-r--r-- root/root 66814203 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/shaded-clients/hbase-shaded-client-4.0.0-alpha-1-SNAPSHOT.jar
-rw-r--r-- root/root 33507333 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/shaded-clients/hbase-shaded-client-byo-hadoop-4.0.0-alpha-1-SNAPSHOT.jar
-rw-r--r-- root/root 55234459 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/shaded-clients/hbase-shaded-mapreduce-4.0.0-alpha-1-SNAPSHOT.jar
-rw-r--r-- root/root 208781 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/zkcli/jline-2.11.jar
-rw-r--r-- root/root 13821688 2020-01-22 16:10 hbase-4.0.0-alpha-1-SNAPSHOT/lib/trace/opentelemetry-javaagent-1.15.0.jar
# Also check client tar
$ tar --list -vf ./hbase-assembly/target/hbase-4.0.0-alpha-1-SNAPSHOT-client-bin.tar.gz | grep 'jar' | grep 'webjar'
<no results>

Check if hbase-server has any JavaScript / CSS files:

$ unzip -l hbase-server/target/hbase-server-4.0.0-alpha-1-SNAPSHOT.jar | grep '.js' 6107 2020-01-22 15:10 org/apache/hadoop/hbase/generated/master/footer_jsp.class
28907 2020-01-22 15:10 org/apache/hadoop/hbase/generated/master/hbck_jsp.class
10035 2020-01-22 15:10 org/apache/hadoop/hbase/generated/master/header_jsp.class
5702 2020-01-22 15:10 org/apache/hadoop/hbase/generated/master/master_jsp.class
13661 2020-01-22 15:10 org/apache/hadoop/hbase/generated/master/operationDetails_jsp.class
1486 2020-01-22 15:10 org/apache/hadoop/hbase/generated/master/procedures_jsp$1.class
836 2020-01-22 15:10 org/apache/hadoop/hbase/generated/master/procedures_jsp$2.class
18363 2020-01-22 15:10 org/apache/hadoop/hbase/generated/master/procedures_jsp.class
14157 2020-01-22 15:10 org/apache/hadoop/hbase/generated/master/processMaster_jsp.class
14662 2020-01-22 15:10 org/apache/hadoop/hbase/generated/master/quotas_jsp.class
5827 2020-01-22 15:10 org/apache/hadoop/hbase/generated/master/redirect_jsp.class
1716 2020-01-22 15:10 org/apache/hadoop/hbase/generated/master/rits_jsp$1.class
16455 2020-01-22 15:10 org/apache/hadoop/hbase/generated/master/rits_jsp.class
32132 2020-01-22 15:10 org/apache/hadoop/hbase/generated/master/rsgroup_jsp.class
14044 2020-01-22 15:10 org/apache/hadoop/hbase/generated/master/snapshot_jsp.class
14055 2020-01-22 15:10 org/apache/hadoop/hbase/generated/master/snapshotsStats_jsp.class
11650 2020-01-22 15:10 org/apache/hadoop/hbase/generated/master/startupProgress_jsp.class
71747 2020-01-22 15:10 org/apache/hadoop/hbase/generated/master/table_jsp.class
9482 2020-01-22 15:10 org/apache/hadoop/hbase/generated/master/tablesDetailed_jsp.class
9588 2020-01-22 15:10 org/apache/hadoop/hbase/generated/master/userSnapshots_jsp.class
7851 2020-01-22 15:10 org/apache/hadoop/hbase/generated/master/zk_jsp.class
6119 2020-01-22 15:10 org/apache/hadoop/hbase/generated/regionserver/footer_jsp.class
8715 2020-01-22 15:10 org/apache/hadoop/hbase/generated/regionserver/header_jsp.class
14647 2020-01-22 15:10 org/apache/hadoop/hbase/generated/regionserver/processRS_jsp.class
16056 2020-01-22 15:10 org/apache/hadoop/hbase/generated/regionserver/region_jsp.class
5728 2020-01-22 15:10 org/apache/hadoop/hbase/generated/regionserver/regionserver_jsp.class
16814 2020-01-22 15:10 org/apache/hadoop/hbase/generated/regionserver/rsOperationDetails_jsp.class
10143 2020-01-22 15:10 org/apache/hadoop/hbase/generated/regionserver/storeFile_jsp.class
$ unzip -l hbase-server/target/hbase-server-4.0.0-alpha-1-SNAPSHOT.jar | grep '.css'
<0 results>

Check if hbase-rest has any JavaScript / CSS files:

$ unzip -l hbase-rest/target/hbase-rest-4.0.0-alpha-1-SNAPSHOT.jar | grep '.js'
6103 2020-01-22 15:10 org/apache/hadoop/hbase/generated/rest/footer_jsp.class
8413 2020-01-22 15:10 org/apache/hadoop/hbase/generated/rest/header_jsp.class
14157 2020-01-22 15:10 org/apache/hadoop/hbase/generated/rest/processRest_jsp.class
9718 2020-01-22 15:10 org/apache/hadoop/hbase/generated/rest/rest_jsp.class
$ unzip -l hbase-rest/target/hbase-rest-4.0.0-alpha-1-SNAPSHOT.jar | grep '.css'
<0 results>

Check if hbase-thrift has any JavaScript / CSS files:

$ unzip -l hbase-thrift/target/hbase-thrift-4.0.0-alpha-1-SNAPSHOT.jar | grep '.js' 6107 2020-01-22 15:10 org/apache/hadoop/hbase/generated/thrift/footer_jsp.class
8253 2020-01-22 15:10 org/apache/hadoop/hbase/generated/thrift/header_jsp.class
11098 2020-01-22 15:10 org/apache/hadoop/hbase/generated/thrift/thrift_jsp.class
$ unzip -l hbase-thrift/target/hbase-thrift-4.0.0-alpha-1-SNAPSHOT.jar | grep '.css'
<0 results>

@ndimidukndimiduk left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I like this approach a lot better. I have just a couple questions/suggestions.

Comment threadhbase-rest/pom.xml
<resources>
<resource>
<directory>../hbase-server/src/main/resources/hbase-webapps/static</directory>
<directory>../hbase-server/target/hbase-webapps/static</directory>

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I know that this is how you found it, but does it make better sense to include an explicit dependency on the new webjars jar from hbase-rest? I doubt that we can remove the dependency on hbase-server, but it would be one fewer thing and make the dependency tree more obvious.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

Many thanks, I completely agree your point that here and now we will have and implicit dependency from hbase-rest to hbase-server which is not obvious from first look. Also agree that this is not the best and would be better to have an explicit dependency.

The problem is that if we directly add the webjars to the dependencies section of the hbase-rest pom.xml, then those webjars will be included (packaged) into the hbase-rest jar which - as far as I understand - we want to avoid.

Maybe we could duplicate the maven-dependency-plugin (and then the copy steps) usage also to hbase-rest but then this would introduce a lot of XML duplication.

Other solution could be to extract the downloading and extraction of the webjars to a separate sub-project and then hase-server, hbase-rest and hbase-thrift could depend on it.

But I'm not a Maven expert by an means so if you have any better ideas please feel free to propose them. :)

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

Created a new Jira to improve this: https://issues.apache.org/jira/browse/HBASE-29355

Comment threadhbase-server/pom.xml Outdated
Comment threadhbase-server/pom.xml Outdated
@Apache-HBase

This comment has been minimized.

@Apache-HBase

This comment has been minimized.

@PDavid
PDavidforce-pushed the HBASE-27802-js-programatically-2 branch from 91dc70b to c3d9af6CompareApril 16, 2025 15:05
@Apache-HBase

Copy link
Copy Markdown

🎊 +1 overall

VoteSubsystemRuntimeLogfileComment
+0 🆗reexec0m 29sDocker mode activated.
_ Prechecks _
+1 💚dupname0m 0sNo case conflicting files found.
+0 🆗codespell0m 0scodespell was not available.
+0 🆗detsecrets0m 0sdetect-secrets was not available.
+0 🆗jshint0m 0sjshint was not available.
+1 💚@author0m 0sThe patch does not contain any @author tags.
_ master Compile Tests _
+0 🆗mvndep0m 42sMaven dependency ordering for branch
+1 💚mvninstall3m 29smaster passed
+1 💚compile8m 7smaster passed
+1 💚spotless0m 46sbranch has no errors when running spotless:check.
_ Patch Compile Tests _
+0 🆗mvndep0m 15sMaven dependency ordering for patch
+1 💚mvninstall3m 6sthe patch passed
+1 💚compile8m 3sthe patch passed
+1 💚javac8m 3sthe patch passed
+1 💚blanks0m 0sThe patch has no blanks issues.
+1 💚xmllint0m 1sNo new issues.
+1 💚hadoopcheck11m 56sPatch does not cause any errors with Hadoop 3.3.6 3.4.0.
+1 💚spotless0m 43spatch has no errors when running spotless:check.
_ Other Tests _
+1 💚asflicense0m 36sThe patch does not generate ASF License warnings.
45m 54s
SubsystemReport/Notes
DockerClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6864/3/artifact/yetus-general-check/output/Dockerfile
GITHUB PR#6864
Optional Testsdupname asflicense javac codespell detsecrets xmllint hadoopcheck spotless compile jshint
unameLinux 83ccf45b7c95 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 toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / c3d9af6
Default JavaEclipse Adoptium-17.0.11+9
Max. process+thread count189 (vs. ulimit of 30000)
modulesC: hbase-server hbase-thrift hbase-rest . U: .
Console outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6864/3/console
versionsgit=2.34.1 maven=3.9.8 xmllint=20913
Powered byApache Yetus 0.15.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase

Copy link
Copy Markdown

🎊 +1 overall

VoteSubsystemRuntimeLogfileComment
+0 🆗reexec0m 30sDocker mode activated.
-0 ⚠️yetus0m 3sUnprocessed 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 🆗mvndep0m 43sMaven dependency ordering for branch
+1 💚mvninstall3m 23smaster passed
+1 💚compile2m 6smaster passed
+1 💚javadoc3m 15smaster passed
+1 💚shadedjars5m 54sbranch has no errors when building our shaded downstream artifacts.
_ Patch Compile Tests _
+0 🆗mvndep0m 15sMaven dependency ordering for patch
+1 💚mvninstall3m 2sthe patch passed
+1 💚compile2m 7sthe patch passed
+1 💚javac2m 7sthe patch passed
+1 💚javadoc3m 4sthe patch passed
+1 💚shadedjars5m 50spatch has no errors when building our shaded downstream artifacts.
_ Other Tests _
+1 💚unit284m 18sroot in the patch passed.
321m 45s
SubsystemReport/Notes
DockerClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6864/3/artifact/yetus-jdk17-hadoop3-check/output/Dockerfile
GITHUB PR#6864
Optional Testsjavac javadoc unit shadedjars compile
unameLinux e74bb76f2941 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 toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / c3d9af6
Default JavaEclipse Adoptium-17.0.11+9
Test Resultshttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6864/3/testReport/
Max. process+thread count8364 (vs. ulimit of 30000)
modulesC: hbase-server hbase-thrift hbase-rest . U: .
Console outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6864/3/console
versionsgit=2.34.1 maven=3.9.8
Powered byApache Yetus 0.15.0 https://yetus.apache.org

This message was automatically generated.

@PDavid
PDavid requested a review from ndimidukApril 17, 2025 06:37
@PDavid

Copy link
Copy Markdown
ContributorAuthor

Just rebased this on latest master branch - the PR build is now green.

@NihalJain

Copy link
Copy Markdown
Contributor

Just rebased this on latest master branch - the PR build is now green.

Thank you @PDavid. Hi @ndimiduk are we good on this?

@PDavid

Copy link
Copy Markdown
ContributorAuthor

Hi @ndimiduk,
What do you think, is this PR good or should we improve still?

@ndimiduk

Copy link
Copy Markdown
Member

Sorry for the delay.

Sure, let's try this. I still feel like there's a better way to manage this dependency more explicitly, but this is an improvement over what we had.

@PDavid

Copy link
Copy Markdown
ContributorAuthor

Many thanks for the reviews. @NihalJain and @ndimiduk. 👍

Maybe if you don't mind I'd merge this PR as is and open a followup Jira ticket to make the dependency more explicit. Is this an acceptable solution?

@ndimiduk

Copy link
Copy Markdown
Member

Many thanks for the reviews. @NihalJain and @ndimiduk. 👍

Maybe if you don't mind I'd merge this PR as is and open a followup Jira ticket to make the dependency more explicit. Is this an acceptable solution?

I'm fine with that. Let me merge and start the backport process.

@ndimiduk
ndimiduk merged commit 2f9d9fc into apache:masterMay 21, 2025
@ndimiduk

Copy link
Copy Markdown
Member

Okay let me see how backports go

@ndimiduk

Copy link
Copy Markdown
Member

Oof, yeah, not event to branch-3 does it apply obviously. Do you mind handling the backports @PDavid ?

@PDavid

Copy link
Copy Markdown
ContributorAuthor

Oof, yeah, not event to branch-3 does it apply obviously. Do you mind handling the backports @PDavid ?

Many thanks for merging this @ndimiduk and also thanks for looking into the backports. 🙏

Of course I'll handle the backports and I'll PR-s for them.

@PDavid
PDavid deleted the HBASE-27802-js-programatically-2 branch May 22, 2025 07:47
@PDavid

Copy link
Copy Markdown
ContributorAuthor

OK, found a small issue with this patch: The popovers ("Metrics" menu) were not working on the UI. Created an addendum PR here: #7018

(I'll include the addendum fix in the backport PR-s.)

PDavid added a commit to PDavid/hbase that referenced this pull request May 22, 2025
…e#6864)
Signed-off-by: Nick Dimiduk <ndimiduk@apache.org>
Signed-off-by: Nihal Jain <nihaljain@apache.org>
(cherry picked from commit 2f9d9fc)
PDavid added a commit to PDavid/hbase that referenced this pull request May 22, 2025
…e#6864)
Signed-off-by: Nick Dimiduk <ndimiduk@apache.org>
Signed-off-by: Nihal Jain <nihaljain@apache.org>
(cherry picked from commit 2f9d9fc)
PDavid added a commit to PDavid/hbase that referenced this pull request May 23, 2025
…e#6864)
Signed-off-by: Nick Dimiduk <ndimiduk@apache.org>
Signed-off-by: Nihal Jain <nihaljain@apache.org>
(cherry picked from commit 2f9d9fc)
PDavid added a commit to PDavid/hbase that referenced this pull request May 23, 2025
…e#6864)
Signed-off-by: Nick Dimiduk <ndimiduk@apache.org>
Signed-off-by: Nihal Jain <nihaljain@apache.org>
(cherry picked from commit 2f9d9fc)
PDavid added a commit to PDavid/hbase that referenced this pull request May 25, 2025
- HBASE-28388 Avoid index based field sorting in tablesorter apache#6779
- HBASE-27802 Manage static javascript resources programatically apache#6864
ndimiduk pushed a commit that referenced this pull request May 26, 2025
* HBASE-27802 Manage static javascript resources programatically (#6864)
Signed-off-by: Nick Dimiduk <ndimiduk@apache.org>
Signed-off-by: Nihal Jain <nihaljain@apache.org>
(cherry picked from commit 2f9d9fc)
* HBASE-27802 Manage static javascript resources programatically (addendum: Fix not working popovers on UI)
Popovers were not working on the UI and the following JS error was logged to browser console:
```
Uncaught TypeError: i.createPopper is not a function
```
This is because popper.js was not available on the page for Bootstrap.
Solution: We use bootstrap.bundle.min.js instead which includes both popper.js and Bootstrap.
---------
Signed-off-by: Nick Dimiduk <ndimiduk@apache.org>
Signed-off-by: Nihal Jain <nihaljain@apache.org>
@PDavid

Copy link
Copy Markdown
ContributorAuthor

Hi @ndimiduk and @NihalJain,

I see, you already found but just for the record here are the backport PR-s here:

These backport PR-s already includes the fix (addendum PR) #7018

NihalJain pushed a commit that referenced this pull request May 27, 2025
* HBASE-27802 Manage static javascript resources programatically (#6864)
Signed-off-by: Nick Dimiduk <ndimiduk@apache.org>
Signed-off-by: Nihal Jain <nihaljain@apache.org>
(cherry picked from commit 2f9d9fc)
* HBASE-27802 Manage static javascript resources programatically (addendum: Fix not working popovers on UI)
Popovers were not working on the UI and the following JS error was logged to browser console:
```
Uncaught TypeError: i.createPopper is not a function
```
This is because popper.js was not available on the page for Bootstrap.
Solution: We use bootstrap.bundle.min.js instead which includes both popper.js and Bootstrap.
---------
Signed-off-by: Nick Dimiduk <ndimiduk@apache.org>
Signed-off-by: Nihal Jain <nihaljain@apache.org>
NihalJain pushed a commit that referenced this pull request May 27, 2025
* HBASE-27802 Manage static javascript resources programatically (#6864)
Signed-off-by: Nick Dimiduk <ndimiduk@apache.org>
Signed-off-by: Nihal Jain <nihaljain@apache.org>
(cherry picked from commit 2f9d9fc)
* HBASE-27802 Fix not working popovers on UI
Popovers were not working on the UI and the following JS error was logged to browser console:
```
Uncaught TypeError: i.createPopper is not a function
```
This is because popper.js was not available on the page for Bootstrap.
Solution: We use bootstrap.bundle.min.js instead which includes both popper.js and Bootstrap.
---------
Signed-off-by: Nick Dimiduk <ndimiduk@apache.org>
Signed-off-by: Nihal Jain <nihaljain@apache.org>
NihalJain pushed a commit that referenced this pull request May 27, 2025
* HBASE-27802 Manage static javascript resources programatically (#6864)
Signed-off-by: Nick Dimiduk <ndimiduk@apache.org>
Signed-off-by: Nihal Jain <nihaljain@apache.org>
(cherry picked from commit 2f9d9fc)
* HBASE-27802 Manage static javascript resources programatically (addendum: Fix not working popovers on UI)
Popovers were not working on the UI and the following JS error was logged to browser console:
```
Uncaught TypeError: i.createPopper is not a function
```
This is because popper.js was not available on the page for Bootstrap.
Solution: We use bootstrap.bundle.min.js instead which includes both popper.js and Bootstrap.
---------
Signed-off-by: Nick Dimiduk <ndimiduk@apache.org>
Signed-off-by: Nihal Jain <nihaljain@apache.org>
mokai87 pushed a commit to mokai87/hbase that referenced this pull request Aug 7, 2025
…e#7033)
* HBASE-27802 Manage static javascript resources programatically (apache#6864)
Signed-off-by: Nick Dimiduk <ndimiduk@apache.org>
Signed-off-by: Nihal Jain <nihaljain@apache.org>
(cherry picked from commit 2f9d9fc)
* HBASE-27802 Manage static javascript resources programatically (addendum: Fix not working popovers on UI)
Popovers were not working on the UI and the following JS error was logged to browser console:
```
Uncaught TypeError: i.createPopper is not a function
```
This is because popper.js was not available on the page for Bootstrap.
Solution: We use bootstrap.bundle.min.js instead which includes both popper.js and Bootstrap.
---------
Signed-off-by: Nick Dimiduk <ndimiduk@apache.org>
Signed-off-by: Nihal Jain <nihaljain@apache.org>
PDavid added a commit to PDavid/hbase that referenced this pull request Aug 15, 2025
- HBASE-28388 Avoid index based field sorting in tablesorter apache#6779
- HBASE-27802 Manage static javascript resources programatically apache#6864
PDavid added a commit to PDavid/hbase that referenced this pull request Sep 15, 2025
- HBASE-28388 Avoid index based field sorting in tablesorter apache#6779
- HBASE-27802 Manage static javascript resources programatically apache#6864
PDavid added a commit to PDavid/hbase that referenced this pull request Sep 30, 2025
- HBASE-28388 Avoid index based field sorting in tablesorter apache#6779
- HBASE-27802 Manage static javascript resources programatically apache#6864
Sign up for freeto 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.

4 participants

@PDavid@Apache-HBase@NihalJain@ndimiduk