geyanggang commented on code in PR #10585:
URL: https://github.com/apache/gravitino/pull/10585#discussion_r3025748705


##########
catalogs/hive-metastore3-libs/build.gradle.kts:
##########
@@ -27,6 +27,18 @@ plugins {
 
 // Note: exclusion lists here are intentionally kept in sync with 
hive-metastore2-libs/build.gradle.kts.
 // Guava and Logback are excluded because they are provided by the Gravitino 
runtime classpath.
+
+// Force jackson-databind to the project-wide version to replace the outdated 
transitive version
+// pulled in via hive-metastore → hive-serde → hive-common.
+val jacksonVersion = libs.versions.jackson.get()
+configurations.all {
+  resolutionStrategy.force(
+    "com.fasterxml.jackson.core:jackson-databind:$jacksonVersion",
+    "com.fasterxml.jackson.core:jackson-core:$jacksonVersion",
+    "com.fasterxml.jackson.core:jackson-annotations:$jacksonVersion"

Review Comment:
   Updated the approach — switched from `resolutionStrategy.force` to exclude. 
After deeper analysis, `com.fasterxml.jackson.core` is not loaded at runtime in 
Gravitino's code path. The two classes in hive-common that reference it 
(`CodahaleMetrics$JsonFileReporter` and `StatsSetupConst$ColumnStatsAccurate`) 
are Hive server-side components; HiveMetaStoreClient never triggers their 
loading. Excluding is cleaner and safer.



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

Reply via email to