Sfoglia il codice sorgente

Revert "Upgrade to Jackson 2.10.3 and GeoIP2 to 2.13.1 (#53523)"

This reverts commit 7bc75f48

Signed-off-by: Mark Vieira <portugee@gmail.com>
Mark Vieira 5 anni fa
parent
commit
060b4eed59
49 ha cambiato i file con 59 aggiunte e 59 eliminazioni
  1. 6 2
      buildSrc/version.properties
  2. 0 1
      client/sniffer/licenses/jackson-core-2.10.3.jar.sha1
  3. 1 0
      client/sniffer/licenses/jackson-core-2.8.11.jar.sha1
  4. 0 1
      libs/x-content/build.gradle
  5. 0 1
      libs/x-content/licenses/jackson-core-2.10.3.jar.sha1
  6. 1 0
      libs/x-content/licenses/jackson-core-2.8.11.jar.sha1
  7. 0 1
      libs/x-content/licenses/jackson-dataformat-cbor-2.10.3.jar.sha1
  8. 1 0
      libs/x-content/licenses/jackson-dataformat-cbor-2.8.11.jar.sha1
  9. 0 1
      libs/x-content/licenses/jackson-dataformat-smile-2.10.3.jar.sha1
  10. 1 0
      libs/x-content/licenses/jackson-dataformat-smile-2.8.11.jar.sha1
  11. 0 1
      libs/x-content/licenses/jackson-dataformat-yaml-2.10.3.jar.sha1
  12. 1 0
      libs/x-content/licenses/jackson-dataformat-yaml-2.8.11.jar.sha1
  13. 1 0
      libs/x-content/licenses/snakeyaml-1.17.jar.sha1
  14. 0 1
      libs/x-content/licenses/snakeyaml-1.24.jar.sha1
  15. 8 11
      libs/x-content/src/test/java/org/elasticsearch/common/xcontent/XContentParserTests.java
  16. 2 7
      modules/ingest-common/src/test/java/org/elasticsearch/ingest/common/JsonProcessorTests.java
  17. 6 4
      modules/ingest-geoip/build.gradle
  18. 0 1
      modules/ingest-geoip/licenses/geoip2-2.13.1.jar.sha1
  19. 1 0
      modules/ingest-geoip/licenses/geoip2-2.9.0.jar.sha1
  20. 0 1
      modules/ingest-geoip/licenses/jackson-annotations-2.10.3.jar.sha1
  21. 1 0
      modules/ingest-geoip/licenses/jackson-annotations-2.8.11.jar.sha1
  22. 0 1
      modules/ingest-geoip/licenses/jackson-databind-2.10.3.jar.sha1
  23. 1 0
      modules/ingest-geoip/licenses/jackson-databind-2.8.11.6.jar.sha1
  24. 1 0
      modules/ingest-geoip/licenses/maxmind-db-1.2.2.jar.sha1
  25. 0 1
      modules/ingest-geoip/licenses/maxmind-db-1.3.1.jar.sha1
  26. 1 1
      plugins/discovery-ec2/build.gradle
  27. 0 1
      plugins/discovery-ec2/licenses/jackson-annotations-2.10.3.jar.sha1
  28. 1 0
      plugins/discovery-ec2/licenses/jackson-annotations-2.8.11.jar.sha1
  29. 0 1
      plugins/discovery-ec2/licenses/jackson-databind-2.10.3.jar.sha1
  30. 1 0
      plugins/discovery-ec2/licenses/jackson-databind-2.8.11.6.jar.sha1
  31. 1 1
      plugins/repository-s3/build.gradle
  32. 0 1
      plugins/repository-s3/licenses/jackson-annotations-2.10.3.jar.sha1
  33. 1 0
      plugins/repository-s3/licenses/jackson-annotations-2.8.11.jar.sha1
  34. 0 1
      plugins/repository-s3/licenses/jackson-databind-2.10.3.jar.sha1
  35. 1 0
      plugins/repository-s3/licenses/jackson-databind-2.8.11.6.jar.sha1
  36. 10 1
      server/src/test/java/org/elasticsearch/common/xcontent/XContentParserUtilsTests.java
  37. 4 4
      server/src/test/java/org/elasticsearch/index/IndexingSlowLogTests.java
  38. 0 5
      x-pack/plugin/sql/jdbc/build.gradle
  39. 0 1
      x-pack/plugin/sql/jdbc/licenses/jackson-core-2.10.3.jar.sha1
  40. 1 0
      x-pack/plugin/sql/jdbc/licenses/jackson-core-2.8.11.jar.sha1
  41. 0 1
      x-pack/plugin/sql/jdbc/licenses/jackson-dataformat-cbor-2.10.3.jar.sha1
  42. 1 0
      x-pack/plugin/sql/jdbc/licenses/jackson-dataformat-cbor-2.8.11.jar.sha1
  43. 0 1
      x-pack/plugin/sql/sql-action/licenses/jackson-core-2.10.3.jar.sha1
  44. 1 0
      x-pack/plugin/sql/sql-action/licenses/jackson-core-2.8.11.jar.sha1
  45. 0 1
      x-pack/plugin/sql/sql-client/licenses/jackson-core-2.10.3.jar.sha1
  46. 1 0
      x-pack/plugin/sql/sql-client/licenses/jackson-core-2.8.11.jar.sha1
  47. 2 3
      x-pack/plugin/sql/sql-client/src/test/java/org/elasticsearch/xpack/sql/client/RemoteFailureTests.java
  48. 0 1
      x-pack/plugin/sql/sql-proto/licenses/jackson-core-2.10.3.jar.sha1
  49. 1 0
      x-pack/plugin/sql/sql-proto/licenses/jackson-core-2.8.11.jar.sha1

+ 6 - 2
buildSrc/version.properties

@@ -7,8 +7,12 @@ bundled_jdk = 13.0.2+8
 # optional dependencies
 spatial4j         = 0.7
 jts               = 1.15.0
-jackson           = 2.10.3
-snakeyaml         = 1.24
+# note that ingest-geoip has a hard-coded version; if you modify this version,
+# you should also inspect that version to see if it can be advanced along with
+# the com.maxmind.geoip2:geoip2 dependency
+jackson           = 2.8.11
+jacksondatabind   = 2.8.11.6
+snakeyaml         = 1.17
 icu4j             = 62.1
 supercsv          = 2.4.0
 # when updating log4j, please update also docs/java-api/index.asciidoc

+ 0 - 1
client/sniffer/licenses/jackson-core-2.10.3.jar.sha1

@@ -1 +0,0 @@
-f7ee7b55c7d292ac72fbaa7648c089f069c938d2

+ 1 - 0
client/sniffer/licenses/jackson-core-2.8.11.jar.sha1

@@ -0,0 +1 @@
+876ead1db19f0c9e79c9789273a3ef8c6fd6c29b

+ 0 - 1
libs/x-content/build.gradle

@@ -49,7 +49,6 @@ forbiddenApisMain {
 thirdPartyAudit.ignoreMissingClasses(
   // from com.fasterxml.jackson.dataformat.yaml.YAMLMapper (jackson-dataformat-yaml)
   'com.fasterxml.jackson.databind.ObjectMapper',
-  'com.fasterxml.jackson.databind.cfg.MapperBuilder'
 )
 
 dependencyLicenses {

+ 0 - 1
libs/x-content/licenses/jackson-core-2.10.3.jar.sha1

@@ -1 +0,0 @@
-f7ee7b55c7d292ac72fbaa7648c089f069c938d2

+ 1 - 0
libs/x-content/licenses/jackson-core-2.8.11.jar.sha1

@@ -0,0 +1 @@
+876ead1db19f0c9e79c9789273a3ef8c6fd6c29b

+ 0 - 1
libs/x-content/licenses/jackson-dataformat-cbor-2.10.3.jar.sha1

@@ -1 +0,0 @@
-1ba01fef9c3b7ed388d91e71dc733b315c7374cd

+ 1 - 0
libs/x-content/licenses/jackson-dataformat-cbor-2.8.11.jar.sha1

@@ -0,0 +1 @@
+8b9826e16c3366764bfb7ad7362554f0471046c3

+ 0 - 1
libs/x-content/licenses/jackson-dataformat-smile-2.10.3.jar.sha1

@@ -1 +0,0 @@
-ff397547ff168e77279a1cd549e2ca4923c991aa

+ 1 - 0
libs/x-content/licenses/jackson-dataformat-smile-2.8.11.jar.sha1

@@ -0,0 +1 @@
+d9d1c49c5d9d5e46e2aee55f3cdd119286fe0fc1

+ 0 - 1
libs/x-content/licenses/jackson-dataformat-yaml-2.10.3.jar.sha1

@@ -1 +0,0 @@
-4dc1a172812d9da27c1afd6a08f4f12aad7b14dd

+ 1 - 0
libs/x-content/licenses/jackson-dataformat-yaml-2.8.11.jar.sha1

@@ -0,0 +1 @@
+2e77c6ff7342cd61ab1ae7cb14ed16aebfc8a72a

+ 1 - 0
libs/x-content/licenses/snakeyaml-1.17.jar.sha1

@@ -0,0 +1 @@
+7a27ea250c5130b2922b86dea63cbb1cc10a660c

+ 0 - 1
libs/x-content/licenses/snakeyaml-1.24.jar.sha1

@@ -1 +0,0 @@
-13a9c0d6776483c3876e3ff9384f9bb55b17001b

+ 8 - 11
libs/x-content/src/test/java/org/elasticsearch/common/xcontent/XContentParserTests.java

@@ -78,17 +78,14 @@ public class XContentParserTests extends ESTestCase {
 
             assertEquals(value, number.floatValue(), 0.0f);
 
-            switch (xContentType) {
-                case CBOR:
-                case SMILE:
-                    assertThat(number, instanceOf(Float.class));
-                    break;
-                case JSON:
-                case YAML:
-                    assertThat(number, instanceOf(Double.class));
-                    break;
-                default:
-                    throw new AssertionError("unexpected x-content type [" + xContentType + "]");
+            if (xContentType == XContentType.CBOR) {
+                // CBOR parses back a float
+                assertTrue(number instanceof Float);
+            } else {
+                // JSON, YAML and SMILE parses back the float value as a double
+                // This will change for SMILE in Jackson 2.9 where all binary based
+                // formats will return a float
+                assertTrue(number instanceof Double);
             }
         }
     }

+ 2 - 7
modules/ingest-common/src/test/java/org/elasticsearch/ingest/common/JsonProcessorTests.java

@@ -65,7 +65,7 @@ public class JsonProcessorTests extends ESTestCase {
 
         Exception exception = expectThrows(IllegalArgumentException.class, () -> jsonProcessor.execute(ingestDocument));
         assertThat(exception.getCause().getMessage(), containsString("Unrecognized token 'blah': " +
-            "was expecting (JSON String, Number, Array, Object or token 'null', 'true' or 'false')"));
+            "was expecting ('true', 'false' or 'null')"));
     }
 
     public void testByteArray() {
@@ -75,12 +75,7 @@ public class JsonProcessorTests extends ESTestCase {
         IngestDocument ingestDocument = RandomDocumentPicks.randomIngestDocument(random(), document);
 
         Exception exception = expectThrows(IllegalArgumentException.class, () -> jsonProcessor.execute(ingestDocument));
-        assertThat(
-            exception.getCause().getMessage(),
-            containsString(
-                "Unrecognized token 'B': was expecting (JSON String, Number, Array, Object or token 'null', 'true' or 'false')"
-            )
-        );
+        assertThat(exception.getCause().getMessage(), containsString("Unrecognized token 'B': was expecting ('true', 'false' or 'null')"));
     }
 
     public void testNull() throws Exception {

+ 6 - 4
modules/ingest-geoip/build.gradle

@@ -25,11 +25,13 @@ esplugin {
 }
 
 dependencies {
-  compile('com.maxmind.geoip2:geoip2:2.13.1')
+  // Upgrade to 2.10.0 or higher when jackson-core gets upgraded to 2.9.x. Blocked by #27032
+  compile('com.maxmind.geoip2:geoip2:2.9.0')
   // geoip2 dependencies:
-  compile("com.fasterxml.jackson.core:jackson-annotations:${versions.jackson}")
-  compile("com.fasterxml.jackson.core:jackson-databind:${versions.jackson}")
-  compile('com.maxmind.db:maxmind-db:1.3.1')
+  // do not hardcode this to the version in version.properties, it needs to be upgraded separately with geoip2
+  compile("com.fasterxml.jackson.core:jackson-annotations:2.8.11")
+  compile("com.fasterxml.jackson.core:jackson-databind:2.8.11.6")
+  compile('com.maxmind.db:maxmind-db:1.2.2')
 
   testCompile 'org.elasticsearch:geolite2-databases:20191119'
 }

+ 0 - 1
modules/ingest-geoip/licenses/geoip2-2.13.1.jar.sha1

@@ -1 +0,0 @@
-f27d1a49d5a29dd4a7ac5006ce2eb16b8b9bb888

+ 1 - 0
modules/ingest-geoip/licenses/geoip2-2.9.0.jar.sha1

@@ -0,0 +1 @@
+c12b463a2c10824225c0b27952c49b464cb0e4c6

+ 0 - 1
modules/ingest-geoip/licenses/jackson-annotations-2.10.3.jar.sha1

@@ -1 +0,0 @@
-0f63b3b1da563767d04d2e4d3fc1ae0cdeffebe7

+ 1 - 0
modules/ingest-geoip/licenses/jackson-annotations-2.8.11.jar.sha1

@@ -0,0 +1 @@
+391de20b4e29cb3fb07d2454ace64be2c82ac91f

+ 0 - 1
modules/ingest-geoip/licenses/jackson-databind-2.10.3.jar.sha1

@@ -1 +0,0 @@
-aae92628b5447fa25af79871ca98668da6edd439

+ 1 - 0
modules/ingest-geoip/licenses/jackson-databind-2.8.11.6.jar.sha1

@@ -0,0 +1 @@
+35753201d0cdb1dbe998ab289bca1180b68d4368

+ 1 - 0
modules/ingest-geoip/licenses/maxmind-db-1.2.2.jar.sha1

@@ -0,0 +1 @@
+78c22a03de1e222b0751855aff7bb6e6db5569e5

+ 0 - 1
modules/ingest-geoip/licenses/maxmind-db-1.3.1.jar.sha1

@@ -1 +0,0 @@
-211bca628225bc0f719051b16deb03a747d7a14f

+ 1 - 1
plugins/discovery-ec2/build.gradle

@@ -36,7 +36,7 @@ dependencies {
   compile "commons-logging:commons-logging:${versions.commonslogging}"
   compile "org.apache.logging.log4j:log4j-1.2-api:${versions.log4j}"
   compile "commons-codec:commons-codec:${versions.commonscodec}"
-  compile "com.fasterxml.jackson.core:jackson-databind:${versions.jackson}"
+  compile "com.fasterxml.jackson.core:jackson-databind:${versions.jacksondatabind}"
   compile "com.fasterxml.jackson.core:jackson-annotations:${versions.jackson}"
 }
 

+ 0 - 1
plugins/discovery-ec2/licenses/jackson-annotations-2.10.3.jar.sha1

@@ -1 +0,0 @@
-0f63b3b1da563767d04d2e4d3fc1ae0cdeffebe7

+ 1 - 0
plugins/discovery-ec2/licenses/jackson-annotations-2.8.11.jar.sha1

@@ -0,0 +1 @@
+391de20b4e29cb3fb07d2454ace64be2c82ac91f

+ 0 - 1
plugins/discovery-ec2/licenses/jackson-databind-2.10.3.jar.sha1

@@ -1 +0,0 @@
-aae92628b5447fa25af79871ca98668da6edd439

+ 1 - 0
plugins/discovery-ec2/licenses/jackson-databind-2.8.11.6.jar.sha1

@@ -0,0 +1 @@
+35753201d0cdb1dbe998ab289bca1180b68d4368

+ 1 - 1
plugins/repository-s3/build.gradle

@@ -43,7 +43,7 @@ dependencies {
   compile "org.apache.logging.log4j:log4j-1.2-api:${versions.log4j}"
   compile "commons-codec:commons-codec:${versions.commonscodec}"
   compile "com.fasterxml.jackson.core:jackson-core:${versions.jackson}"
-  compile "com.fasterxml.jackson.core:jackson-databind:${versions.jackson}"
+  compile "com.fasterxml.jackson.core:jackson-databind:${versions.jacksondatabind}"
   compile "com.fasterxml.jackson.core:jackson-annotations:${versions.jackson}"
   compile "com.fasterxml.jackson.dataformat:jackson-dataformat-cbor:${versions.jackson}"
   compile "joda-time:joda-time:${versions.joda}"

+ 0 - 1
plugins/repository-s3/licenses/jackson-annotations-2.10.3.jar.sha1

@@ -1 +0,0 @@
-0f63b3b1da563767d04d2e4d3fc1ae0cdeffebe7

+ 1 - 0
plugins/repository-s3/licenses/jackson-annotations-2.8.11.jar.sha1

@@ -0,0 +1 @@
+391de20b4e29cb3fb07d2454ace64be2c82ac91f

+ 0 - 1
plugins/repository-s3/licenses/jackson-databind-2.10.3.jar.sha1

@@ -1 +0,0 @@
-aae92628b5447fa25af79871ca98668da6edd439

+ 1 - 0
plugins/repository-s3/licenses/jackson-databind-2.8.11.6.jar.sha1

@@ -0,0 +1 @@
+35753201d0cdb1dbe998ab289bca1180b68d4368

+ 10 - 1
server/src/test/java/org/elasticsearch/common/xcontent/XContentParserUtilsTests.java

@@ -31,6 +31,7 @@ import org.elasticsearch.test.ESTestCase;
 
 import java.io.IOException;
 import java.util.ArrayList;
+import java.util.Base64;
 import java.util.List;
 import java.util.Map;
 
@@ -89,7 +90,15 @@ public class XContentParserUtilsTests extends ESTestCase {
 
     public void testStoredFieldsValueBinary() throws IOException {
         final byte[] value = randomUnicodeOfLength(scaledRandomIntBetween(10, 1000)).getBytes("UTF-8");
-        assertParseFieldsSimpleValue(value, (xcontentType, result) -> assertArrayEquals(value, ((BytesArray) result).array()));
+        assertParseFieldsSimpleValue(value, (xcontentType, result) -> {
+            if (xcontentType == XContentType.JSON || xcontentType == XContentType.YAML) {
+                //binary values will be parsed back and returned as base64 strings when reading from json and yaml
+                assertArrayEquals(value, Base64.getDecoder().decode((String) result));
+            } else {
+                //binary values will be parsed back and returned as BytesArray when reading from cbor and smile
+                assertArrayEquals(value, ((BytesArray) result).array());
+            }
+        });
     }
 
     public void testStoredFieldsValueNull() throws IOException {

+ 4 - 4
server/src/test/java/org/elasticsearch/index/IndexingSlowLogTests.java

@@ -103,13 +103,13 @@ public class IndexingSlowLogTests extends ESTestCase {
         final UncheckedIOException e = expectThrows(UncheckedIOException.class,
             () -> IndexingSlowLogMessage.of(index, doc, 10, true, 3));
         assertThat(e, hasToString(containsString("_failed_to_convert_[Unrecognized token 'invalid':"
-            + " was expecting (JSON String, Number, Array, Object or token 'null', 'true' or 'false')\\n"
-            + " at [Source: (org.elasticsearch.common.bytes.AbstractBytesReference$MarkSupportingStreamInputWrapper)")));
+            + " was expecting ('true', 'false' or 'null')\\n"
+            + " at [Source: org.elasticsearch.common.bytes.AbstractBytesReference$MarkSupportingStreamInputWrapper")));
         assertNotNull(e.getCause());
         assertThat(e.getCause(), instanceOf(JsonParseException.class));
         assertThat(e.getCause(), hasToString(containsString("Unrecognized token 'invalid':"
-                + " was expecting (JSON String, Number, Array, Object or token 'null', 'true' or 'false')\n"
-                + " at [Source: (org.elasticsearch.common.bytes.AbstractBytesReference$MarkSupportingStreamInputWrapper)")));
+                + " was expecting ('true', 'false' or 'null')\n"
+                + " at [Source: org.elasticsearch.common.bytes.AbstractBytesReference$MarkSupportingStreamInputWrapper")));
     }
 
     public void testReformatSetting() {

+ 0 - 5
x-pack/plugin/sql/jdbc/build.gradle

@@ -44,8 +44,3 @@ dependencyLicenses {
 shadowJar {
   relocate 'com.fasterxml', 'org.elasticsearch.fasterxml'
 }
-
-thirdPartyAudit.ignoreMissingClasses(
-  'com.fasterxml.jackson.databind.ObjectMapper',
-  'com.fasterxml.jackson.databind.cfg.MapperBuilder'
-)

+ 0 - 1
x-pack/plugin/sql/jdbc/licenses/jackson-core-2.10.3.jar.sha1

@@ -1 +0,0 @@
-f7ee7b55c7d292ac72fbaa7648c089f069c938d2

+ 1 - 0
x-pack/plugin/sql/jdbc/licenses/jackson-core-2.8.11.jar.sha1

@@ -0,0 +1 @@
+876ead1db19f0c9e79c9789273a3ef8c6fd6c29b

+ 0 - 1
x-pack/plugin/sql/jdbc/licenses/jackson-dataformat-cbor-2.10.3.jar.sha1

@@ -1 +0,0 @@
-1ba01fef9c3b7ed388d91e71dc733b315c7374cd

+ 1 - 0
x-pack/plugin/sql/jdbc/licenses/jackson-dataformat-cbor-2.8.11.jar.sha1

@@ -0,0 +1 @@
+8b9826e16c3366764bfb7ad7362554f0471046c3

+ 0 - 1
x-pack/plugin/sql/sql-action/licenses/jackson-core-2.10.3.jar.sha1

@@ -1 +0,0 @@
-f7ee7b55c7d292ac72fbaa7648c089f069c938d2

+ 1 - 0
x-pack/plugin/sql/sql-action/licenses/jackson-core-2.8.11.jar.sha1

@@ -0,0 +1 @@
+876ead1db19f0c9e79c9789273a3ef8c6fd6c29b

+ 0 - 1
x-pack/plugin/sql/sql-client/licenses/jackson-core-2.10.3.jar.sha1

@@ -1 +0,0 @@
-f7ee7b55c7d292ac72fbaa7648c089f069c938d2

+ 1 - 0
x-pack/plugin/sql/sql-client/licenses/jackson-core-2.8.11.jar.sha1

@@ -0,0 +1 @@
+876ead1db19f0c9e79c9789273a3ef8c6fd6c29b

+ 2 - 3
x-pack/plugin/sql/sql-client/src/test/java/org/elasticsearch/xpack/sql/client/RemoteFailureTests.java

@@ -92,8 +92,7 @@ public class RemoteFailureTests extends ESTestCase {
     public void testInvalidJson() {
         IOException e = expectThrows(IOException.class, () -> parse("invalid_json.txt"));
         assertEquals(
-            "Can't parse error from Elasticsearch [Unrecognized token 'I': "
-                + "was expecting (JSON String, Number, Array, Object or token 'null', 'true' or 'false')] "
+            "Can't parse error from Elasticsearch [Unrecognized token 'I': was expecting 'null', 'true', 'false' or NaN] "
                 + "at [line 1 col 1]. Response:\n"
                 + "I'm not json at all",
             e.getMessage());
@@ -119,7 +118,7 @@ public class RemoteFailureTests extends ESTestCase {
             }).streamInput()));
         assertThat(e.getMessage(),
             startsWith("Can't parse error from Elasticsearch [Unrecognized token 'ÿ': "
-                + "was expecting (JSON String, Number, Array, Object or token 'null', 'true' or 'false')] at [line 1 col 4]. Response:\n"));
+                + "was expecting ('true', 'false' or 'null')] at [line 1 col 1]. Response:\n"));
     }
 
     public void testTooBig() {

+ 0 - 1
x-pack/plugin/sql/sql-proto/licenses/jackson-core-2.10.3.jar.sha1

@@ -1 +0,0 @@
-f7ee7b55c7d292ac72fbaa7648c089f069c938d2

+ 1 - 0
x-pack/plugin/sql/sql-proto/licenses/jackson-core-2.8.11.jar.sha1

@@ -0,0 +1 @@
+876ead1db19f0c9e79c9789273a3ef8c6fd6c29b