HIVE-29439: Upgrade SLF4J to 2.0.13 #6306
Draft
+137
−48
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.



What changes were proposed in this pull request?
I've upgraded the logging infrastructure from SLF4J 1.7.x to 2.0.13.
Since SLF4J 2.x moves from static binding to a ServiceLoader architecture, I realigned the bridges to prevent "silent" logging failures. Key changes include:
Updating slf4j-api, slf4j-reload4j, and jcl-over-slf4j to 2.0.13 across the root, standalone-metastore, and storage-api.
Switching the Log4j2 bridge to log4j-slf4j2-impl (2.24.3) to ensure Hive's internal metrics and timing systems can communicate with the new API.
Why are the changes needed?
Security: Resolves several CVEs associated with the older 1.7.x line.
Stability: Modernizes the logging backend and fixes "NOP" (No-Operation) logger errors that were causing metrics and audit logs to be dropped silently.
Does this PR introduce any user-facing change?
No. This is a backend dependency and architectural alignment.
How was this patch tested?
Dependency Audit: Verified via mvn dependency:tree that all modules have converged on 2.0.13 with no legacy 1.7.x bindings remaining.
Unit Tests: Confirmed that logging-dependent tests (e.g., TestAtlasLoadTask, TestHiveRemote, and TestOperationLogManager) are passing, specifically verifying that metrics and API timing strings are correctly captured.
Build Integrity: Passed a clean local build to ensure no compilation regressions in ql or service modules.