Repository: apache/hbase-thirdparty
Pull request #132: HBASE-28885 [hbase-thirdparty] Bump hbase.stable.version to 2.5.10 in…
Author: login: NihalJain
Created: 2025-04-24T17:14:00Z | Merged: 2025-04-30T06:07:07Z

… hbase-noop-htrace
* Also move to log4j2 to remove transitive dependency `log4j:log4j`


Diff:
diff --git a/hbase-noop-htrace/pom.xml b/hbase-noop-htrace/pom.xml
index ae98fca..d0e733e 100644
--- a/hbase-noop-htrace/pom.xml
+++ b/hbase-noop-htrace/pom.xml
@@ -36,9 +36,10 @@
     <!-- This library is meant to work with whatever HBase and Hadoop combos we still list
          as recommended. The version here is what we'll test out of the box if you run mvn test
       -->
-    <hbase.stable.version>2.4.17</hbase.stable.version>
+    <hbase.stable.version>2.5.11</hbase.stable.version>
     <!-- should match the slf4j-api version used in the above hbase -->
     <slf4j.version>1.7.33</slf4j.version>
+    <log4j2.version>2.17.2</log4j2.version>
     <!-- These maybe need to match the main repo -->
     <maven.checkstyle.version>3.1.0</maven.checkstyle.version>
     <checkstyle.version>8.29</checkstyle.version>
@@ -68,10 +69,22 @@
     <!-- TODO why does hbase-shaded testing-util need this but not declare it? -->
     <dependency>
       <groupId>org.slf4j</groupId>
-      <artifactId>slf4j-log4j12</artifactId>
+      <artifactId>slf4j-api</artifactId>
       <version>${slf4j.version}</version>
       <scope>test</scope>
     </dependency>
+    <dependency>
+      <groupId>org.apache.logging.log4j</groupId>
+      <artifactId>log4j-slf4j-impl</artifactId>
+      <version>${log4j2.version}</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.logging.log4j</groupId>
+      <artifactId>log4j-1.2-api</artifactId>
+      <version>${log4j2.version}</version>
+      <scope>test</scope>
+    </dependency>
     <dependency>
       <groupId>org.mockito</groupId>
       <artifactId>mockito-all</artifactId>
diff --git a/hbase-noop-htrace/src/test/resources/log4j2.properties b/hbase-noop-htrace/src/test/resources/log4j2.properties
new file mode 100644
index 0000000..5400351
--- /dev/null
+++ b/hbase-noop-htrace/src/test/resources/log4j2.properties
@@ -0,0 +1,137 @@
+#/**
+# * 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.
+# */
+
+status = warn
+dest = err
+name = PropertiesConfig
+
+# Console appender
+appender.console.type = Console
+appender.console.target = SYSTEM_ERR
+appender.console.name = console
+appender.console.layout.type = PatternLayout
+appender.console.layout.pattern = %d{ISO8601} %-5p [%t] %c{2}: %.1000m%n
+
+# Daily Rolling File Appender
+appender.DRFA.type = RollingFile
+appender.DRFA.name = DRFA
+appender.DRFA.fileName = ${sys:hbase.log.dir:-.}/${sys:hbase.log.file:-hbase.log}
+appender.DRFA.filePattern = ${sys:hbase.log.dir:-.}/${sys:hbase.log.file:-hbase.log}.%d{yyyy-MM-dd}
+appender.DRFA.createOnDemand = true
+appender.DRFA.layout.type = PatternLayout
+appender.DRFA.layout.pattern = %d{ISO8601} %-5p [%t] %c{2}: %.1000m%n
+appender.DRFA.policies.type = Policies
+appender.DRFA.policies.time.type = TimeBasedTriggeringPolicy
+appender.DRFA.policies.time.interval = 1
+appender.DRFA.policies.time.modulate = true
+appender.DRFA.policies.size.type = SizeBasedTriggeringPolicy
+appender.DRFA.policies.size.size = ${sys:hbase.log.maxfilesize:-256MB}
+appender.DRFA.strategy.type = DefaultRolloverStrategy
+appender.DRFA.strategy.max = ${sys:hbase.log.maxbackupindex:-20}
+
+# Rolling File Appender
+appender.RFA.type = RollingFile
+appender.RFA.name = RFA
+appender.RFA.fileName = ${sys:hbase.log.dir:-.}/${sys:hbase.log.file:-hbase.log}
+appender.RFA.filePattern = ${sys:hbase.log.dir:-.}/${sys:hbase.log.file:-hbase.log}.%i
+appender.RFA.createOnDemand = true
+appender.RFA.layout.type = PatternLayout
+appender.RFA.layout.pattern = %d{ISO8601} %-5p [%t] %c{2}: %.1000m%n
+appender.RFA.policies.type = Policies
+appender.RFA.policies.size.type = SizeBasedTriggeringPolicy
+appender.RFA.policies.size.size = ${sys:hbase.log.maxfilesize:-256MB}
+appender.RFA.strategy.type = DefaultRolloverStrategy
+appender.RFA.strategy.max = ${sys:hbase.log.maxbackupindex:-20}
+
+# Security Audit Appender
+appender.RFAS.type = RollingFile
+appender.RFAS.name = RFAS
+appender.RFAS.fileName = ${sys:hbase.log.dir:-.}/${sys:hbase.security.log.file:-SecurityAuth.audit}
+appender.RFAS.filePattern = ${sys:hbase.log.dir:-.}/${sys:hbase.security.log.file:-SecurityAuth.audit}.%i
+appender.RFAS.createOnDemand = true
+appender.RFAS.layout.type = PatternLayout
+appender.RFAS.layout.pattern = %d{ISO8601} %-5p [%t] %c{2}: %.1000m%n
+appender.RFAS.policies.type = Policies
+appender.RFAS.policies.size.type = SizeBasedTriggeringPolicy
+appender.RFAS.policies.size.size = ${sys:hbase.security.log.maxfilesize:-256MB}
+appender.RFAS.strategy.type = DefaultRolloverStrategy
+appender.RFAS.strategy.max = ${sys:hbase.security.log.maxbackupindex:-20}
+
+# Http Access Log RFA, uncomment this if you want an http access.log
+# appender.AccessRFA.type = RollingFile
+# appender.AccessRFA.name = AccessRFA
+# appender.AccessRFA.fileName = /var/log/hbase/access.log
+# appender.AccessRFA.filePattern = /var/log/hbase/access.log.%i
+# appender.AccessRFA.createOnDemand = true
+# appender.AccessRFA.layout.type = PatternLayout
+# appender.AccessRFA.layout.pattern = %m%n
+# appender.AccessRFA.policies.type = Policies
+# appender.AccessRFA.policies.size.type = SizeBasedTriggeringPolicy
+# appender.AccessRFA.policies.size.size = 200MB
+# appender.AccessRFA.strategy.type = DefaultRolloverStrategy
+# appender.AccessRFA.strategy.max = 10
+
+# Null Appender
+appender.NullAppender.type = Null
+appender.NullAppender.name = NullAppender
+
+rootLogger = ${sys:hbase.root.logger:-INFO,console}
+
+logger.SecurityLogger.name = SecurityLogger
+logger.SecurityLogger = ${sys:hbase.security.logger:-INFO,console}
+logger.SecurityLogger.additivity = false
+
+# Custom Logging levels
+# logger.zookeeper.name = org.apache.zookeeper
+# logger.zookeeper.level = ERROR
+
+# logger.FSNamesystem.name = org.apache.hadoop.fs.FSNamesystem
+# logger.FSNamesystem.level = DEBUG
+
+# logger.hbase.name = org.apache.hadoop.hbase
+# logger.hbase.level = DEBUG
+
+# logger.META.name = org.apache.hadoop.hbase.META
+# logger.META.level = DEBUG
+
+# Make these two classes below DEBUG to see more zk debug.
+# logger.ZKUtil.name = org.apache.hadoop.hbase.zookeeper.ZKUtil
+# logger.ZKUtil.level = DEBUG
+
+# logger.ZKWatcher.name = org.apache.hadoop.hbase.zookeeper.ZKWatcher
+# logger.ZKWatcher.level = DEBUG
+
+# logger.dfs.name = org.apache.hadoop.dfs
+# logger.dfs.level = DEBUG
+
+# Prevent metrics subsystem start/stop messages (HBASE-17722)
+logger.MetricsConfig.name = org.apache.hadoop.metrics2.impl.MetricsConfig
+logger.MetricsConfig.level = WARN
+
+logger.MetricsSinkAdapte.name = org.apache.hadoop.metrics2.impl.MetricsSinkAdapter
+logger.MetricsSinkAdapte.level = WARN
+
+logger.MetricsSystemImpl.name = org.apache.hadoop.metrics2.impl.MetricsSystemImpl
+logger.MetricsSystemImpl.level = WARN
+
+# Disable request log by default, you can enable this by changing the appender
+logger.http.name = http.requests
+logger.http.additivity = false
+logger.http = INFO,NullAppender
+# Replace the above with this configuration if you want an http access.log
+# logger.http = INFO,AccessRFA
\ No newline at end of file


Reviews:
user: login: NihalJain
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-04-24T17:21:04Z
user: login: ndimiduk
state: APPROVED
author_association: MEMBER
submitted_at: 2025-04-25T09:09:13Z
user: login: NihalJain
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-04-25T09:51:41Z

Review comments:
diff_hunk: @@ -0,0 +1,137 @@
+#/**
path: hbase-noop-htrace/src/test/resources/log4j2.properties
user: login: NihalJain
body: Copied from https://github.com/apache/hbase/blob/master/conf/log4j2.properties
created_at: 2025-04-24T17:21:04Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,137 @@
+#/**
path: hbase-noop-htrace/src/test/resources/log4j2.properties
user: login: ndimiduk
body: Seems fine. I only wonder if we have an existing config that is tuned for a test environment.
created_at: 2025-04-25T09:09:10Z
author_association: MEMBER
diff_hunk: @@ -0,0 +1,137 @@
+#/**
path: hbase-noop-htrace/src/test/resources/log4j2.properties
user: login: NihalJain
body: There is another one at https://github.com/apache/hbase/blob/master/hbase-logging/src/test/resources/log4j2.properties Not sure if this is also tuned for a test environment though 
created_at: 2025-04-25T09:51:40Z
author_association: CONTRIBUTOR

PR comments:
user: login: NihalJain
created_at: 2025-04-24T17:14:39Z
body: Unfortunately log4j:log4j is banned in my org and hence I can't build code for that module, hence switched to log4j2!
author_association: CONTRIBUTOR
user: login: NihalJain
created_at: 2025-04-24T17:25:16Z
body: Before:
```
[INFO] -----------< org.apache.hbase.thirdparty:hbase-noop-htrace >------------
[INFO] Building Apache HBase Drop-in noop HTrace replacement 4.1.11-SNAPSHOT [10/11]
[INFO]   from hbase-noop-htrace/pom.xml
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] 
[INFO] --- dependency:3.6.0:tree (default-cli) @ hbase-noop-htrace ---
[INFO] org.apache.hbase.thirdparty:hbase-noop-htrace:jar:4.1.11-SNAPSHOT
[INFO] +- junit:junit:jar:4.13.2:test
[INFO] |  \- org.hamcrest:hamcrest-core:jar:1.3:test
[INFO] +- org.apache.hbase:hbase-shaded-testing-util:jar:2.4.17:test
[INFO] |  +- commons-logging:commons-logging:jar:1.2:test
[INFO] |  +- org.slf4j:slf4j-api:jar:1.7.33:test
[INFO] |  +- jakarta.annotation:jakarta.annotation-api:jar:1.3.5:test
[INFO] |  +- jakarta.validation:jakarta.validation-api:jar:2.0.2:test
[INFO] |  +- org.glassfish.hk2.external:jakarta.inject:jar:2.6.1:test
[INFO] |  +- org.javassist:javassist:jar:3.25.0-GA:test
[INFO] |  \- org.apache.yetus:audience-annotations:jar:0.13.0:test
[INFO] +- org.slf4j:slf4j-log4j12:jar:1.7.33:test
[INFO] |  \- log4j:log4j:jar:1.2.17:test
[INFO] \- org.mockito:mockito-all:jar:1.8.5:test
```

After:
```
[INFO] -----------< org.apache.hbase.thirdparty:hbase-noop-htrace >------------
[INFO] Building Apache HBase Drop-in noop HTrace replacement 4.1.11-SNAPSHOT [10/11]
[INFO]   from hbase-noop-htrace/pom.xml
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] 
[INFO] --- dependency:3.6.0:tree (default-cli) @ hbase-noop-htrace ---
[INFO] org.apache.hbase.thirdparty:hbase-noop-htrace:jar:4.1.11-SNAPSHOT
[INFO] +- junit:junit:jar:4.13.2:test
[INFO] |  \- org.hamcrest:hamcrest-core:jar:1.3:test
[INFO] +- org.apache.hbase:hbase-shaded-testing-util:jar:2.5.11:test
[INFO] |  +- io.opentelemetry:opentelemetry-api:jar:1.15.0:test
[INFO] |  +- io.opentelemetry:opentelemetry-context:jar:1.15.0:test
[INFO] |  +- io.opentelemetry:opentelemetry-semconv:jar:1.15.0-alpha:test
[INFO] |  +- jakarta.annotation:jakarta.annotation-api:jar:1.3.5:test
[INFO] |  +- jakarta.validation:jakarta.validation-api:jar:2.0.2:test
[INFO] |  +- org.glassfish.hk2.external:jakarta.inject:jar:2.6.1:test
[INFO] |  +- org.javassist:javassist:jar:3.29.2-GA:test
[INFO] |  +- com.github.stephenc.findbugs:findbugs-annotations:jar:1.3.9-1:test
[INFO] |  +- commons-logging:commons-logging:jar:1.2:test
[INFO] |  \- org.apache.yetus:audience-annotations:jar:0.13.0:test
[INFO] +- org.slf4j:slf4j-api:jar:1.7.33:test
[INFO] +- org.apache.logging.log4j:log4j-slf4j-impl:jar:2.17.2:test
[INFO] |  +- org.apache.logging.log4j:log4j-api:jar:2.17.2:test
[INFO] |  \- org.apache.logging.log4j:log4j-core:jar:2.17.2:test
[INFO] +- org.apache.logging.log4j:log4j-1.2-api:jar:2.17.2:test
[INFO] \- org.mockito:mockito-all:jar:1.8.5:test
[INFO] 
```
author_association: CONTRIBUTOR
user: login: Apache-HBase
created_at: 2025-04-24T17:33:42Z
body: :broken_heart: **-1 overall**






| Vote | Subsystem | Runtime | Comment |
|:----:|----------:|--------:|:--------|
| +0 :ok: |  reexec  |  16m  0s |  Docker mode activated.  |
||| _ Prechecks _ |
| +1 :green_heart: |  dupname  |   0m  0s |  No case conflicting files found.  |
| +1 :green_heart: |  @author  |   0m  0s |  The patch does not contain any @author tags.  |
| +1 :green_heart: |  test4tests  |   0m  0s |  The patch appears to include 1 new or modified test files.  |
||| _ master Compile Tests _ |
| -1 :x: |  mvninstall  |   0m 18s |  root in master failed.  |
| -1 :x: |  compile  |   0m 18s |  hbase-noop-htrace in master failed.  |
| -1 :x: |  javadoc  |   0m 17s |  hbase-noop-htrace in master failed.  |
||| _ Patch Compile Tests _ |
| -1 :x: |  mvninstall  |   0m 17s |  hbase-noop-htrace in the patch failed.  |
| -1 :x: |  compile  |   0m 18s |  hbase-noop-htrace in the patch failed.  |
| -1 :x: |  javac  |   0m 18s |  hbase-noop-htrace in the patch failed.  |
| +1 :green_heart: |  whitespace  |   0m  0s |  The patch has no whitespace issues.  |
| +1 :green_heart: |  xml  |   0m  1s |  The patch has no ill-formed XML file.  |
| -1 :x: |  javadoc  |   0m 18s |  hbase-noop-htrace in the patch failed.  |
||| _ Other Tests _ |
| -1 :x: |  unit  |   0m 18s |  hbase-noop-htrace in the patch failed.  |
| +0 :ok: |  asflicense  |   0m 17s |  ASF License check generated no output?  |
|  |   |  18m 46s |   |


| Subsystem | Report/Notes |
|----------:|:-------------|
| Docker | ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-Thirdparty-PreCommit/job/PR-132/1/artifact/yetus-precommit-check/output/Dockerfile |
| GITHUB PR | https://github.com/apache/hbase-thirdparty/pull/132 |
| Optional Tests | dupname asflicense javac javadoc unit xml compile |
| uname | Linux 999e7230f1da 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 |
| git revision | master / 5bb7b54 |
| Default Java | Temurin-1.8.0_442-b06 |
| mvninstall | https://ci-hbase.apache.org/job/HBase-Thirdparty-PreCommit/job/PR-132/1/artifact/yetus-precommit-check/output/branch-mvninstall-root.txt |
| compile | https://ci-hbase.apache.org/job/HBase-Thirdparty-PreCommit/job/PR-132/1/artifact/yetus-precommit-check/output/branch-compile-hbase-noop-htrace.txt |
| javadoc | https://ci-hbase.apache.org/job/HBase-Thirdparty-PreCommit/job/PR-132/1/artifact/yetus-precommit-check/output/branch-javadoc-hbase-noop-htrace.txt |
| mvninstall | https://ci-hbase.apache.org/job/HBase-Thirdparty-PreCommit/job/PR-132/1/artifact/yetus-precommit-check/output/patch-mvninstall-hbase-noop-htrace.txt |
| compile | https://ci-hbase.apache.org/job/HBase-Thirdparty-PreCommit/job/PR-132/1/artifact/yetus-precommit-check/output/patch-compile-hbase-noop-htrace.txt |
| javac | https://ci-hbase.apache.org/job/HBase-Thirdparty-PreCommit/job/PR-132/1/artifact/yetus-precommit-check/output/patch-compile-hbase-noop-htrace.txt |
| javadoc | https://ci-hbase.apache.org/job/HBase-Thirdparty-PreCommit/job/PR-132/1/artifact/yetus-precommit-check/output/patch-javadoc-hbase-noop-htrace.txt |
| unit | https://ci-hbase.apache.org/job/HBase-Thirdparty-PreCommit/job/PR-132/1/artifact/yetus-precommit-check/output/patch-unit-hbase-noop-htrace.txt |
|  Test Results | https://ci-hbase.apache.org/job/HBase-Thirdparty-PreCommit/job/PR-132/1/testReport/ |
| Max. process+thread count | 27 (vs. ulimit of 1000) |
| modules | C: hbase-noop-htrace U: hbase-noop-htrace |
| Console output | https://ci-hbase.apache.org/job/HBase-Thirdparty-PreCommit/job/PR-132/1/console |
| versions | git=2.43.0 maven=3.9.9 |
| Powered by | Apache Yetus 0.12.0 https://yetus.apache.org |


This message was automatically generated.


author_association: NONE
user: login: Apache-HBase
created_at: 2025-04-24T18:38:21Z
body: :confetti_ball: **+1 overall**






| Vote | Subsystem | Runtime | Comment |
|:----:|----------:|--------:|:--------|
| +0 :ok: |  reexec  |   1m 16s |  Docker mode activated.  |
||| _ Prechecks _ |
| +1 :green_heart: |  dupname  |   0m  0s |  No case conflicting files found.  |
| +1 :green_heart: |  @author  |   0m  0s |  The patch does not contain any @author tags.  |
| +1 :green_heart: |  test4tests  |   0m  0s |  The patch appears to include 1 new or modified test files.  |
||| _ master Compile Tests _ |
| +1 :green_heart: |  mvninstall  |   0m 51s |  master passed  |
| +1 :green_heart: |  compile  |   0m  6s |  master passed  |
| +1 :green_heart: |  javadoc  |   0m  7s |  master passed  |
||| _ Patch Compile Tests _ |
| +1 :green_heart: |  mvninstall  |   0m 16s |  the patch passed  |
| +1 :green_heart: |  compile  |   0m  7s |  the patch passed  |
| +1 :green_heart: |  javac  |   0m  7s |  the patch passed  |
| +1 :green_heart: |  whitespace  |   0m  0s |  The patch has no whitespace issues.  |
| +1 :green_heart: |  xml  |   0m  0s |  The patch has no ill-formed XML file.  |
| +1 :green_heart: |  javadoc  |   0m  6s |  the patch passed  |
||| _ Other Tests _ |
| +1 :green_heart: |  unit  |   0m 41s |  hbase-noop-htrace in the patch passed.  |
| +1 :green_heart: |  asflicense  |   0m  7s |  The patch does not generate ASF License warnings.  |
|  |   |   3m 49s |   |


| Subsystem | Report/Notes |
|----------:|:-------------|
| Docker | ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-Thirdparty-PreCommit/job/PR-132/2/artifact/yetus-precommit-check/output/Dockerfile |
| GITHUB PR | https://github.com/apache/hbase-thirdparty/pull/132 |
| Optional Tests | dupname asflicense javac javadoc unit xml compile |
| uname | Linux b5b2a3b91689 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 |
| git revision | master / 5bb7b54 |
| Default Java | Temurin-1.8.0_442-b06 |
|  Test Results | https://ci-hbase.apache.org/job/HBase-Thirdparty-PreCommit/job/PR-132/2/testReport/ |
| Max. process+thread count | 396 (vs. ulimit of 1000) |
| modules | C: hbase-noop-htrace U: hbase-noop-htrace |
| Console output | https://ci-hbase.apache.org/job/HBase-Thirdparty-PreCommit/job/PR-132/2/console |
| versions | git=2.43.0 maven=3.9.9 |
| Powered by | Apache Yetus 0.12.0 https://yetus.apache.org |


This message was automatically generated.


author_association: NONE