diff --git a/extensions-contrib/aliyun-oss-extensions/pom.xml b/extensions-contrib/aliyun-oss-extensions/pom.xml index ac79e63df556..7d280355bf22 100644 --- a/extensions-contrib/aliyun-oss-extensions/pom.xml +++ b/extensions-contrib/aliyun-oss-extensions/pom.xml @@ -43,6 +43,12 @@ com.aliyun.oss aliyun-sdk-oss 3.11.3 + + + javax.xml.bind + jaxb-api + + diff --git a/extensions-contrib/ddsketch/pom.xml b/extensions-contrib/ddsketch/pom.xml index a2a5925135a4..cb44cfaf92cf 100644 --- a/extensions-contrib/ddsketch/pom.xml +++ b/extensions-contrib/ddsketch/pom.xml @@ -88,6 +88,12 @@ com.fasterxml.jackson.jaxrs jackson-jaxrs-json-provider provided + + + javax.xml.bind + jaxb-api + + com.fasterxml.jackson.jaxrs diff --git a/extensions-contrib/druid-deltalake-extensions/pom.xml b/extensions-contrib/druid-deltalake-extensions/pom.xml index 635d1a3b6abf..282039fc1981 100644 --- a/extensions-contrib/druid-deltalake-extensions/pom.xml +++ b/extensions-contrib/druid-deltalake-extensions/pom.xml @@ -96,7 +96,7 @@ com.fasterxml.jackson.core jackson-databind - 2.12.7.1 + ${jackson.version} it.unimi.dsi diff --git a/extensions-contrib/tdigestsketch/pom.xml b/extensions-contrib/tdigestsketch/pom.xml index b7ba250613ef..efd101ecec63 100644 --- a/extensions-contrib/tdigestsketch/pom.xml +++ b/extensions-contrib/tdigestsketch/pom.xml @@ -84,11 +84,23 @@ com.fasterxml.jackson.jaxrs jackson-jaxrs-json-provider provided + + + javax.xml.bind + jaxb-api + + com.fasterxml.jackson.jaxrs jackson-jaxrs-smile-provider provided + + + javax.xml.bind + jaxb-api + + it.unimi.dsi diff --git a/extensions-core/datasketches/pom.xml b/extensions-core/datasketches/pom.xml index 919e5e8d8209..f6afcfab74ea 100644 --- a/extensions-core/datasketches/pom.xml +++ b/extensions-core/datasketches/pom.xml @@ -137,6 +137,12 @@ com.fasterxml.jackson.jaxrs jackson-jaxrs-json-provider provided + + + javax.xml.bind + jaxb-api + + com.fasterxml.jackson.jaxrs diff --git a/extensions-core/druid-catalog/pom.xml b/extensions-core/druid-catalog/pom.xml index c854e97055db..0ad27d295c69 100644 --- a/extensions-core/druid-catalog/pom.xml +++ b/extensions-core/druid-catalog/pom.xml @@ -129,6 +129,12 @@ com.fasterxml.jackson.jaxrs jackson-jaxrs-smile-provider provided + + + javax.xml.bind + jaxb-api + + javax.ws.rs diff --git a/extensions-core/kubernetes-overlord-extensions/pom.xml b/extensions-core/kubernetes-overlord-extensions/pom.xml index 80e61cec9ee6..ec731a590349 100644 --- a/extensions-core/kubernetes-overlord-extensions/pom.xml +++ b/extensions-core/kubernetes-overlord-extensions/pom.xml @@ -35,25 +35,9 @@ - - 6.13.1 + 7.2.0 - - - - - org.yaml - snakeyaml - 1.33 - - - - org.apache.druid @@ -155,7 +139,7 @@ io.vertx vertx-core - 4.5.8 + 4.5.14 javax.ws.rs @@ -198,7 +182,7 @@ io.fabric8 mockwebserver - 0.2.2 + ${fabric8.version} test diff --git a/extensions-core/multi-stage-query/pom.xml b/extensions-core/multi-stage-query/pom.xml index bc26993c072b..e514f00bbf1d 100644 --- a/extensions-core/multi-stage-query/pom.xml +++ b/extensions-core/multi-stage-query/pom.xml @@ -140,6 +140,12 @@ com.fasterxml.jackson.jaxrs jackson-jaxrs-smile-provider provided + + + javax.xml.bind + jaxb-api + + javax.ws.rs diff --git a/extensions-core/testing-tools/pom.xml b/extensions-core/testing-tools/pom.xml index 2042b8033b5b..aec558b3f38d 100644 --- a/extensions-core/testing-tools/pom.xml +++ b/extensions-core/testing-tools/pom.xml @@ -114,6 +114,12 @@ com.fasterxml.jackson.jaxrs jackson-jaxrs-json-provider provided + + + javax.xml.bind + jaxb-api + + com.fasterxml.jackson.jaxrs diff --git a/indexing-service/pom.xml b/indexing-service/pom.xml index 5c722530acf8..8a875c6dfcb8 100644 --- a/indexing-service/pom.xml +++ b/indexing-service/pom.xml @@ -153,6 +153,12 @@ com.fasterxml.jackson.jaxrs jackson-jaxrs-smile-provider + + + javax.xml.bind + jaxb-api + + com.google.errorprone diff --git a/integration-tests/pom.xml b/integration-tests/pom.xml index f54e88c93044..d9d53fff0cf4 100644 --- a/integration-tests/pom.xml +++ b/integration-tests/pom.xml @@ -307,6 +307,12 @@ com.fasterxml.jackson.jaxrs jackson-jaxrs-smile-provider + + + javax.xml.bind + jaxb-api + + com.google.guava diff --git a/licenses.yaml b/licenses.yaml index 9509f442d24d..83c034e4be8b 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 (tatu.saloranta@iki.fi), 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 (tatu.saloranta@iki.fi), 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 68ee72ef2e30..983cd6f49081 100644 --- a/pom.xml +++ b/pom.xml @@ -100,7 +100,8 @@ 1.3 9.4.57.v20241219 1.19.4 - 2.12.7.20221012 + 2.18.4.1 + 2.18.4 1.9.13 2.22.1 8.2.0 @@ -615,7 +616,7 @@ com.fasterxml.jackson jackson-bom - ${jackson.version} + ${jackson.core.version} import pom @@ -1702,6 +1703,8 @@ com.google.code.findbugs:annotations + + javax.xml.bind:jaxb-api 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 573af0a0828c..ae89d90bb044 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 @@ public DateTime deserialize(JsonParser jp, DeserializationContext ctxt) throws I // 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 92c8a2cb2989..ae461d26c2a7 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 void testDateTime() throws Exception 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 c8d50c0d7969..5cab737337f0 100644 --- a/quidem-ut/pom.xml +++ b/quidem-ut/pom.xml @@ -286,6 +286,12 @@ com.fasterxml.jackson.jaxrs jackson-jaxrs-smile-provider + + + javax.xml.bind + jaxb-api + + com.google.guava diff --git a/server/pom.xml b/server/pom.xml index 5de233b37059..285e51ee7ed5 100644 --- a/server/pom.xml +++ b/server/pom.xml @@ -90,10 +90,22 @@ com.fasterxml.jackson.jaxrs jackson-jaxrs-json-provider + + + javax.xml.bind + jaxb-api + + com.fasterxml.jackson.jaxrs jackson-jaxrs-smile-provider + + + javax.xml.bind + jaxb-api + + com.fasterxml.jackson.dataformat diff --git a/services/pom.xml b/services/pom.xml index 570e48da1669..43a82aa8f5c0 100644 --- a/services/pom.xml +++ b/services/pom.xml @@ -124,6 +124,12 @@ com.fasterxml.jackson.jaxrs jackson-jaxrs-smile-provider + + + javax.xml.bind + jaxb-api + + com.opencsv