This is an automated email from the ASF dual-hosted git repository.

kgyrtkirk pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/druid.git


The following commit(s) were added to refs/heads/master by this push:
     new 691ea3c1a72 Bump jackson to 2.18.4 and fabric8 to 7.2.0 (#18013)
691ea3c1a72 is described below

commit 691ea3c1a7289cbdbea0d7a45ae65f4dd057ac3c
Author: Lucas Capistrant <[email protected]>
AuthorDate: Thu Jun 19 03:06:02 2025 -0500

    Bump jackson to 2.18.4 and fabric8 to 7.2.0 (#18013)
---
 extensions-contrib/aliyun-oss-extensions/pom.xml   |  6 +++
 extensions-contrib/ddsketch/pom.xml                |  6 +++
 .../druid-deltalake-extensions/pom.xml             |  2 +-
 extensions-contrib/tdigestsketch/pom.xml           | 12 +++++
 extensions-core/datasketches/pom.xml               |  6 +++
 extensions-core/druid-catalog/pom.xml              |  6 +++
 .../kubernetes-overlord-extensions/pom.xml         | 22 ++-------
 extensions-core/multi-stage-query/pom.xml          |  6 +++
 extensions-core/testing-tools/pom.xml              |  6 +++
 indexing-service/pom.xml                           |  6 +++
 integration-tests/pom.xml                          |  6 +++
 licenses.yaml                                      | 53 ++++++++++++++++------
 pom.xml                                            |  7 ++-
 .../java/org/apache/druid/jackson/JodaStuff.java   |  3 +-
 .../druid/jackson/DefaultObjectMapperTest.java     | 14 ++++++
 quidem-ut/pom.xml                                  |  6 +++
 server/pom.xml                                     | 12 +++++
 services/pom.xml                                   |  6 +++
 18 files changed, 148 insertions(+), 37 deletions(-)

diff --git a/extensions-contrib/aliyun-oss-extensions/pom.xml 
b/extensions-contrib/aliyun-oss-extensions/pom.xml
index ac79e63df55..7d280355bf2 100644
--- a/extensions-contrib/aliyun-oss-extensions/pom.xml
+++ b/extensions-contrib/aliyun-oss-extensions/pom.xml
@@ -43,6 +43,12 @@
             <groupId>com.aliyun.oss</groupId>
             <artifactId>aliyun-sdk-oss</artifactId>
             <version>3.11.3</version>
+            <exclusions>
+                <exclusion>
+                    <groupId>javax.xml.bind</groupId>
+                    <artifactId>jaxb-api</artifactId>
+                </exclusion>
+            </exclusions>
         </dependency>
         
         <dependency>
diff --git a/extensions-contrib/ddsketch/pom.xml 
b/extensions-contrib/ddsketch/pom.xml
index a2a5925135a..cb44cfaf92c 100644
--- a/extensions-contrib/ddsketch/pom.xml
+++ b/extensions-contrib/ddsketch/pom.xml
@@ -88,6 +88,12 @@
       <groupId>com.fasterxml.jackson.jaxrs</groupId>
       <artifactId>jackson-jaxrs-json-provider</artifactId>
       <scope>provided</scope>
+      <exclusions>
+        <exclusion>
+          <groupId>javax.xml.bind</groupId>
+          <artifactId>jaxb-api</artifactId>
+        </exclusion>
+      </exclusions>
     </dependency>
     <dependency>
       <groupId>com.fasterxml.jackson.jaxrs</groupId>
diff --git a/extensions-contrib/druid-deltalake-extensions/pom.xml 
b/extensions-contrib/druid-deltalake-extensions/pom.xml
index 635d1a3b6ab..282039fc198 100644
--- a/extensions-contrib/druid-deltalake-extensions/pom.xml
+++ b/extensions-contrib/druid-deltalake-extensions/pom.xml
@@ -96,7 +96,7 @@
     <dependency>
       <groupId>com.fasterxml.jackson.core</groupId>
       <artifactId>jackson-databind</artifactId>
-      <version>2.12.7.1</version>
+      <version>${jackson.version}</version>
     </dependency>
     <dependency>
       <groupId>it.unimi.dsi</groupId>
diff --git a/extensions-contrib/tdigestsketch/pom.xml 
b/extensions-contrib/tdigestsketch/pom.xml
index b7ba250613e..efd101ecec6 100644
--- a/extensions-contrib/tdigestsketch/pom.xml
+++ b/extensions-contrib/tdigestsketch/pom.xml
@@ -84,11 +84,23 @@
       <groupId>com.fasterxml.jackson.jaxrs</groupId>
       <artifactId>jackson-jaxrs-json-provider</artifactId>
       <scope>provided</scope>
+      <exclusions>
+        <exclusion>
+          <groupId>javax.xml.bind</groupId>
+          <artifactId>jaxb-api</artifactId>
+        </exclusion>
+      </exclusions>
     </dependency>
     <dependency>
       <groupId>com.fasterxml.jackson.jaxrs</groupId>
       <artifactId>jackson-jaxrs-smile-provider</artifactId>
       <scope>provided</scope>
+      <exclusions>
+        <exclusion>
+          <groupId>javax.xml.bind</groupId>
+          <artifactId>jaxb-api</artifactId>
+        </exclusion>
+      </exclusions>
     </dependency>
     <dependency>
       <groupId>it.unimi.dsi</groupId>
diff --git a/extensions-core/datasketches/pom.xml 
b/extensions-core/datasketches/pom.xml
index 919e5e8d820..f6afcfab74e 100644
--- a/extensions-core/datasketches/pom.xml
+++ b/extensions-core/datasketches/pom.xml
@@ -137,6 +137,12 @@
       <groupId>com.fasterxml.jackson.jaxrs</groupId>
       <artifactId>jackson-jaxrs-json-provider</artifactId>
       <scope>provided</scope>
+      <exclusions>
+        <exclusion>
+          <groupId>javax.xml.bind</groupId>
+          <artifactId>jaxb-api</artifactId>
+        </exclusion>
+      </exclusions>
     </dependency>
     <dependency>
       <groupId>com.fasterxml.jackson.jaxrs</groupId>
diff --git a/extensions-core/druid-catalog/pom.xml 
b/extensions-core/druid-catalog/pom.xml
index c854e97055d..0ad27d295c6 100644
--- a/extensions-core/druid-catalog/pom.xml
+++ b/extensions-core/druid-catalog/pom.xml
@@ -129,6 +129,12 @@
             <groupId>com.fasterxml.jackson.jaxrs</groupId>
             <artifactId>jackson-jaxrs-smile-provider</artifactId>
             <scope>provided</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>javax.xml.bind</groupId>
+                    <artifactId>jaxb-api</artifactId>
+                </exclusion>
+            </exclusions>
         </dependency>
         <dependency>
             <groupId>javax.ws.rs</groupId>
diff --git a/extensions-core/kubernetes-overlord-extensions/pom.xml 
b/extensions-core/kubernetes-overlord-extensions/pom.xml
index 80e61cec9ee..ec731a59034 100644
--- a/extensions-core/kubernetes-overlord-extensions/pom.xml
+++ b/extensions-core/kubernetes-overlord-extensions/pom.xml
@@ -35,25 +35,9 @@
   </parent>
 
   <properties>
-    <!-- fabric8 6.13.2+ is incompatible with jackson 2.12
-       ~ due to fix for 
https://github.com/fabric8io/kubernetes-client/issues/6110.
-       ~ GoIntegerDeserializer uses a _parseInteger method that does not exist 
in 2.12 (introduced in 2.14) -->
-    <fabric8.version>6.13.1</fabric8.version>
+    <fabric8.version>7.2.0</fabric8.version>
   </properties>
 
-  <dependencyManagement>
-      <dependencies>
-            <!-- snakeyaml explicitly pinned to version 1.33 as it is
-             a transitive dependency of 
com.fasterxml.jackson.dataformat:jackson-dataformat-yaml 2.12.7
-             please remove this pin, after updating jackson-dataform-yaml to 
version > 2.14.3  / 2.15.0 -->
-          <dependency>
-              <groupId>org.yaml</groupId>
-              <artifactId>snakeyaml</artifactId>
-              <version>1.33</version>
-          </dependency>
-      </dependencies>
-  </dependencyManagement>
-
   <dependencies>
     <dependency>
       <groupId>org.apache.druid</groupId>
@@ -155,7 +139,7 @@
     <dependency>
       <groupId>io.vertx</groupId>
       <artifactId>vertx-core</artifactId>
-      <version>4.5.8</version>
+      <version>4.5.14</version>
     </dependency>
     <dependency>
       <groupId>javax.ws.rs</groupId>
@@ -198,7 +182,7 @@
     <dependency>
       <groupId>io.fabric8</groupId>
       <artifactId>mockwebserver</artifactId>
-      <version>0.2.2</version>
+      <version>${fabric8.version}</version>
       <scope>test</scope>
     </dependency>
     <dependency>
diff --git a/extensions-core/multi-stage-query/pom.xml 
b/extensions-core/multi-stage-query/pom.xml
index 77f18c78f62..7c9607a6301 100644
--- a/extensions-core/multi-stage-query/pom.xml
+++ b/extensions-core/multi-stage-query/pom.xml
@@ -140,6 +140,12 @@
             <groupId>com.fasterxml.jackson.jaxrs</groupId>
             <artifactId>jackson-jaxrs-smile-provider</artifactId>
             <scope>provided</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>javax.xml.bind</groupId>
+                    <artifactId>jaxb-api</artifactId>
+                </exclusion>
+            </exclusions>
         </dependency>
         <dependency>
             <groupId>javax.ws.rs</groupId>
diff --git a/extensions-core/testing-tools/pom.xml 
b/extensions-core/testing-tools/pom.xml
index 2042b8033b5..aec558b3f38 100644
--- a/extensions-core/testing-tools/pom.xml
+++ b/extensions-core/testing-tools/pom.xml
@@ -114,6 +114,12 @@
       <groupId>com.fasterxml.jackson.jaxrs</groupId>
       <artifactId>jackson-jaxrs-json-provider</artifactId>
       <scope>provided</scope>
+      <exclusions>
+        <exclusion>
+          <groupId>javax.xml.bind</groupId>
+          <artifactId>jaxb-api</artifactId>
+        </exclusion>
+      </exclusions>
     </dependency>
     <dependency>
       <groupId>com.fasterxml.jackson.jaxrs</groupId>
diff --git a/indexing-service/pom.xml b/indexing-service/pom.xml
index da30e431e8f..b99de223c42 100644
--- a/indexing-service/pom.xml
+++ b/indexing-service/pom.xml
@@ -153,6 +153,12 @@
         <dependency>
             <groupId>com.fasterxml.jackson.jaxrs</groupId>
             <artifactId>jackson-jaxrs-smile-provider</artifactId>
+            <exclusions>
+                <exclusion>
+                    <groupId>javax.xml.bind</groupId>
+                    <artifactId>jaxb-api</artifactId>
+                </exclusion>
+            </exclusions>
         </dependency>
         <dependency>
             <groupId>com.google.errorprone</groupId>
diff --git a/integration-tests/pom.xml b/integration-tests/pom.xml
index f54e88c9304..d9d53fff0cf 100644
--- a/integration-tests/pom.xml
+++ b/integration-tests/pom.xml
@@ -307,6 +307,12 @@
         <dependency>
             <groupId>com.fasterxml.jackson.jaxrs</groupId>
             <artifactId>jackson-jaxrs-smile-provider</artifactId>
+            <exclusions>
+                <exclusion>
+                    <groupId>javax.xml.bind</groupId>
+                    <artifactId>jaxb-api</artifactId>
+                </exclusion>
+            </exclusions>
         </dependency>
         <dependency>
             <groupId>com.google.guava</groupId>
diff --git a/licenses.yaml b/licenses.yaml
index 0ecc3cf2899..3ee7f3ca3e9 100644
--- a/licenses.yaml
+++ b/licenses.yaml
@@ -223,10 +223,40 @@ name: Jackson
 license_category: binary
 module: java-core
 license_name: Apache License version 2.0
-version: 2.12.7
+version: 2.18.4.1
 libraries:
-  - com.fasterxml.jackson.core: jackson-annotations
   - com.fasterxml.jackson.core: jackson-core
+notice: |
+  # Jackson JSON processor
+
+  Jackson is a high-performance, Free/Open Source JSON processing library.
+  It was originally written by Tatu Saloranta ([email protected]), and has
+  been in development since 2007.
+  It is currently developed by a community of developers, as well as supported
+  commercially by FasterXML.com.
+
+  ## Licensing
+
+  Jackson core and extension components may licensed under different licenses.
+  To find the details that apply to this artifact see the accompanying LICENSE 
file.
+  For more information, including possible other licensing options, contact
+  FasterXML.com (http://fasterxml.com).
+
+  ## Credits
+
+  A list of contributors may be found from CREDITS file, which is included
+  in some artifacts (usually source distributions); but is always available
+  from the source code management (SCM) system project uses.
+
+---
+
+name: Jackson
+license_category: binary
+module: java-core
+license_name: Apache License version 2.0
+version: 2.18.4
+libraries:
+  - com.fasterxml.jackson.core: jackson-annotations
   - com.fasterxml.jackson.dataformat: jackson-dataformat-cbor
   - com.fasterxml.jackson.dataformat: jackson-dataformat-smile
   - com.fasterxml.jackson.dataformat: jackson-dataformat-xml
@@ -264,29 +294,24 @@ notice: |
 
 name: Jackson
 license_category: binary
-module: java-core
+module: extensions-contrib/druid-deltalake-extensions
 license_name: Apache License version 2.0
-version: 2.12.7.1
+version: 2.18.4
 libraries:
   - com.fasterxml.jackson.core: jackson-databind
 notice: |
   # Jackson JSON processor
-
   Jackson is a high-performance, Free/Open Source JSON processing library.
   It was originally written by Tatu Saloranta ([email protected]), and has
   been in development since 2007.
   It is currently developed by a community of developers, as well as supported
   commercially by FasterXML.com.
-
   ## Licensing
-
   Jackson core and extension components may licensed under different licenses.
   To find the details that apply to this artifact see the accompanying LICENSE 
file.
   For more information, including possible other licensing options, contact
   FasterXML.com (http://fasterxml.com).
-
   ## Credits
-
   A list of contributors may be found from CREDITS file, which is included
   in some artifacts (usually source distributions); but is always available
   from the source code management (SCM) system project uses.
@@ -855,7 +880,7 @@ name: kubernetes fabric java client
 license_category: binary
 module: extensions-core/kubernetes-overlord-extensions
 license_name: Apache License version 2.0
-version: 6.13.1
+version: 7.2.0
 libraries:
   - io.fabric8: kubernetes-client-api
   - io.fabric8: kubernetes-model-batch
@@ -887,7 +912,7 @@ name: vertx
 license_category: binary
 module: extensions-core/kubernetes-overlord-extensions
 license_name: Apache License version 2.0
-version: 4.5.8
+version: 4.5.14
 libraries:
   - io.vertx: vertx-auth-common
   - io.vertx: vertx-core
@@ -1064,7 +1089,7 @@ name: org.snakeyaml snakeyaml-engine
 license_category: binary
 module: extensions-core/druid-kubernetes-overlord-extensions
 license_name: Apache License version 2.0
-version: 2.7
+version: 2.9
 libraries:
   - org.snakeyaml: snakeyaml-engine
 
@@ -1074,7 +1099,7 @@ name: org.yaml snakeyaml
 license_category: binary
 module: extensions-core/druid-kubernetes-overlord-extensions
 license_name: Apache License version 2.0
-version: 1.33
+version: 2.3
 libraries:
   - org.yaml: snakeyaml
 
@@ -2859,7 +2884,7 @@ libraries:
 ---
 
 name: Jackson Dataformat Yaml
-version: 2.12.7
+version: 2.18.4
 license_category: binary
 module: extensions/druid-avro-extensions
 license_name: Apache License version 2.0
diff --git a/pom.xml b/pom.xml
index 2179ca91a1c..d75291bc2ed 100644
--- a/pom.xml
+++ b/pom.xml
@@ -100,7 +100,8 @@
         <hamcrest.version>1.3</hamcrest.version>
         <jetty.version>9.4.57.v20241219</jetty.version>
         <jersey.version>1.19.4</jersey.version>
-        <jackson.version>2.12.7.20221012</jackson.version>
+        <jackson.core.version>2.18.4.1</jackson.core.version>
+        <jackson.version>2.18.4</jackson.version>
         <codehaus.jackson.version>1.9.13</codehaus.jackson.version>
         <log4j.version>2.22.1</log4j.version>
         <mysql.version>8.2.0</mysql.version>
@@ -615,7 +616,7 @@
             <dependency>
                 <groupId>com.fasterxml.jackson</groupId>
                 <artifactId>jackson-bom</artifactId>
-                <version>${jackson.version}</version>
+                <version>${jackson.core.version}</version>
                 <scope>import</scope>
                 <type>pom</type>
             </dependency>
@@ -1701,6 +1702,8 @@
                                     <excludes>
                                         <!--LGPL licenced library-->
                                         
<exclude>com.google.code.findbugs:annotations</exclude>
+                                        <!-- See 
https://github.com/apache/druid/pull/17370 -->
+                                        
<exclude>javax.xml.bind:jaxb-api</exclude>
                                     </excludes>
                                 </bannedDependencies>
                             </rules>
diff --git a/processing/src/main/java/org/apache/druid/jackson/JodaStuff.java 
b/processing/src/main/java/org/apache/druid/jackson/JodaStuff.java
index 573af0a0828..ae89d90bb04 100644
--- a/processing/src/main/java/org/apache/druid/jackson/JodaStuff.java
+++ b/processing/src/main/java/org/apache/druid/jackson/JodaStuff.java
@@ -117,7 +117,8 @@ class JodaStuff
         // make sure to preserve time zone information when parsing timestamps
         return DateTimes.ISO_DATE_OR_TIME_WITH_OFFSET.parse(str);
       }
-      throw ctxt.mappingException(getValueClass());
+      ctxt.reportWrongTokenException(handledType(), 
JsonToken.VALUE_NUMBER_INT, "expected int or string token");
+      return null; // unreachable ... required for compiler, but 
ctxt.reportWrongTokenException always throws
     }
   }
 }
diff --git 
a/processing/src/test/java/org/apache/druid/jackson/DefaultObjectMapperTest.java
 
b/processing/src/test/java/org/apache/druid/jackson/DefaultObjectMapperTest.java
index 92c8a2cb298..ae461d26c2a 100644
--- 
a/processing/src/test/java/org/apache/druid/jackson/DefaultObjectMapperTest.java
+++ 
b/processing/src/test/java/org/apache/druid/jackson/DefaultObjectMapperTest.java
@@ -56,6 +56,20 @@ public class DefaultObjectMapperTest
     final DateTime time = DateTimes.nowUtc();
 
     Assert.assertEquals(StringUtils.format("\"%s\"", time), 
mapper.writeValueAsString(time));
+
+    // string token
+    Assert.assertEquals(time, mapper.readValue(StringUtils.format("\"%s\"", 
time), DateTime.class));
+
+    // int token
+    DateTime result = mapper.readValue("1717267200000", DateTime.class);
+    Assert.assertEquals(DateTimes.utc(1717267200000L), result);
+
+    // unexpected token
+    String badString = "{\"dateTime\": true}";
+    Exception ex = Assert.assertThrows(Exception.class, () -> {
+      mapper.readValue(badString, DateTime.class);
+    });
+    Assert.assertTrue(ex.getMessage().contains("expected int or string 
token"));
   }
 
   @Test
diff --git a/quidem-ut/pom.xml b/quidem-ut/pom.xml
index c8d50c0d796..5cab737337f 100644
--- a/quidem-ut/pom.xml
+++ b/quidem-ut/pom.xml
@@ -286,6 +286,12 @@
         <dependency>
             <groupId>com.fasterxml.jackson.jaxrs</groupId>
             <artifactId>jackson-jaxrs-smile-provider</artifactId>
+            <exclusions>
+                <exclusion>
+                    <groupId>javax.xml.bind</groupId>
+                    <artifactId>jaxb-api</artifactId>
+                </exclusion>
+            </exclusions>
         </dependency>
         <dependency>
             <groupId>com.google.guava</groupId>
diff --git a/server/pom.xml b/server/pom.xml
index 5de233b3705..285e51ee7ed 100644
--- a/server/pom.xml
+++ b/server/pom.xml
@@ -90,10 +90,22 @@
         <dependency>
             <groupId>com.fasterxml.jackson.jaxrs</groupId>
             <artifactId>jackson-jaxrs-json-provider</artifactId>
+            <exclusions>
+                <exclusion>
+                    <groupId>javax.xml.bind</groupId>
+                    <artifactId>jaxb-api</artifactId>
+                </exclusion>
+            </exclusions>
         </dependency>
         <dependency>
             <groupId>com.fasterxml.jackson.jaxrs</groupId>
             <artifactId>jackson-jaxrs-smile-provider</artifactId>
+            <exclusions>
+                <exclusion>
+                    <groupId>javax.xml.bind</groupId>
+                    <artifactId>jaxb-api</artifactId>
+                </exclusion>
+            </exclusions>
         </dependency>
         <dependency>
             <groupId>com.fasterxml.jackson.dataformat</groupId>
diff --git a/services/pom.xml b/services/pom.xml
index fad8933fb2c..6df89ecb44f 100644
--- a/services/pom.xml
+++ b/services/pom.xml
@@ -124,6 +124,12 @@
         <dependency>
             <groupId>com.fasterxml.jackson.jaxrs</groupId>
             <artifactId>jackson-jaxrs-smile-provider</artifactId>
+            <exclusions>
+                <exclusion>
+                    <groupId>javax.xml.bind</groupId>
+                    <artifactId>jaxb-api</artifactId>
+                </exclusion>
+            </exclusions>
         </dependency>
         <dependency>
             <groupId>com.fasterxml.jackson.dataformat</groupId>


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to