Browse Source

Revert "Upgrade Azure SDK and Jackson (#72833) (#72995)" (#73837)

The recent upgrade of the Azure SDK has caused a few test failures that
have been difficult to debug and do not yet have a fix. In particular, a
change to the netty reactor resolving
(https://github.com/reactor/reactor-netty/issues/1655). We need to wait
for a fix for that issue, so this reverts commit
6c4c4a0ecbc140b6dbb37df77c8282ffa63e4891.

relates #73493
Ryan Ernst 4 years ago
parent
commit
f98b374cf6
70 changed files with 124 additions and 114 deletions
  1. 1 1
      build-tools-internal/src/main/groovy/elasticsearch.ide.gradle
  2. 2 2
      build-tools-internal/version.properties
  3. 1 0
      client/sniffer/licenses/jackson-core-2.10.4.jar.sha1
  4. 0 1
      client/sniffer/licenses/jackson-core-2.12.2.jar.sha1
  5. 1 0
      libs/x-content/licenses/jackson-core-2.10.4.jar.sha1
  6. 0 1
      libs/x-content/licenses/jackson-core-2.12.2.jar.sha1
  7. 1 0
      libs/x-content/licenses/jackson-dataformat-cbor-2.10.4.jar.sha1
  8. 0 1
      libs/x-content/licenses/jackson-dataformat-cbor-2.12.2.jar.sha1
  9. 1 0
      libs/x-content/licenses/jackson-dataformat-smile-2.10.4.jar.sha1
  10. 0 1
      libs/x-content/licenses/jackson-dataformat-smile-2.12.2.jar.sha1
  11. 1 0
      libs/x-content/licenses/jackson-dataformat-yaml-2.10.4.jar.sha1
  12. 0 1
      libs/x-content/licenses/jackson-dataformat-yaml-2.12.2.jar.sha1
  13. 1 0
      libs/x-content/licenses/snakeyaml-1.26.jar.sha1
  14. 0 1
      libs/x-content/licenses/snakeyaml-1.27.jar.sha1
  15. 1 0
      modules/ingest-geoip/licenses/jackson-annotations-2.10.4.jar.sha1
  16. 0 1
      modules/ingest-geoip/licenses/jackson-annotations-2.12.2.jar.sha1
  17. 1 0
      modules/ingest-geoip/licenses/jackson-databind-2.10.4.jar.sha1
  18. 0 1
      modules/ingest-geoip/licenses/jackson-databind-2.12.2.jar.sha1
  19. 1 0
      plugins/discovery-ec2/licenses/jackson-annotations-2.10.4.jar.sha1
  20. 0 1
      plugins/discovery-ec2/licenses/jackson-annotations-2.12.2.jar.sha1
  21. 1 0
      plugins/discovery-ec2/licenses/jackson-databind-2.10.4.jar.sha1
  22. 0 1
      plugins/discovery-ec2/licenses/jackson-databind-2.12.2.jar.sha1
  23. 47 0
      plugins/repository-azure/azure-storage-blob/build.gradle
  24. 32 38
      plugins/repository-azure/build.gradle
  25. 1 0
      plugins/repository-azure/licenses/azure-core-1.10.0.jar.sha1
  26. 0 1
      plugins/repository-azure/licenses/azure-core-1.16.0.jar.sha1
  27. 1 0
      plugins/repository-azure/licenses/azure-core-http-netty-1.6.3.jar.sha1
  28. 0 1
      plugins/repository-azure/licenses/azure-core-http-netty-1.9.1.jar.sha1
  29. 0 1
      plugins/repository-azure/licenses/azure-storage-blob-12.11.1.jar.sha1
  30. 0 1
      plugins/repository-azure/licenses/azure-storage-common-12.11.1.jar.sha1
  31. 1 0
      plugins/repository-azure/licenses/azure-storage-common-12.9.0.jar.sha1
  32. 0 1
      plugins/repository-azure/licenses/azure-storage-internal-avro-12.0.4.jar.sha1
  33. 1 0
      plugins/repository-azure/licenses/jackson-annotations-2.10.4.jar.sha1
  34. 0 1
      plugins/repository-azure/licenses/jackson-annotations-2.12.2.jar.sha1
  35. 1 0
      plugins/repository-azure/licenses/jackson-databind-2.10.4.jar.sha1
  36. 0 1
      plugins/repository-azure/licenses/jackson-databind-2.12.2.jar.sha1
  37. 1 0
      plugins/repository-azure/licenses/jackson-dataformat-xml-2.10.4.jar.sha1
  38. 0 1
      plugins/repository-azure/licenses/jackson-dataformat-xml-2.12.2.jar.sha1
  39. 1 0
      plugins/repository-azure/licenses/jackson-datatype-jsr310-2.10.4.jar.sha1
  40. 0 1
      plugins/repository-azure/licenses/jackson-datatype-jsr310-2.12.2.jar.sha1
  41. 1 0
      plugins/repository-azure/licenses/jackson-module-jaxb-annotations-2.10.4.jar.sha1
  42. 0 1
      plugins/repository-azure/licenses/jackson-module-jaxb-annotations-2.12.2.jar.sha1
  43. 0 1
      plugins/repository-azure/licenses/netty-codec-dns-4.1.63.Final.jar.sha1
  44. 0 1
      plugins/repository-azure/licenses/netty-resolver-dns-4.1.63.Final.jar.sha1
  45. 0 1
      plugins/repository-azure/licenses/netty-transport-native-unix-common-4.1.63.Final.jar.sha1
  46. 1 0
      plugins/repository-azure/licenses/reactor-core-3.3.10.RELEASE.jar.sha1
  47. 0 1
      plugins/repository-azure/licenses/reactor-core-3.4.5.jar.sha1
  48. 1 0
      plugins/repository-azure/licenses/reactor-netty-0.9.12.RELEASE.jar.sha1
  49. 0 1
      plugins/repository-azure/licenses/reactor-netty-1.0.6.jar.sha1
  50. 0 1
      plugins/repository-azure/licenses/reactor-netty-core-1.0.6.jar.sha1
  51. 0 1
      plugins/repository-azure/licenses/reactor-netty-http-1.0.6.jar.sha1
  52. 1 0
      plugins/repository-azure/licenses/woodstox-core-6.0.2.jar.sha1
  53. 0 1
      plugins/repository-azure/licenses/woodstox-core-6.2.4.jar.sha1
  54. 14 20
      plugins/repository-azure/src/main/java/org/elasticsearch/repositories/azure/AzureClientProvider.java
  55. 0 13
      plugins/repository-azure/src/main/java/org/elasticsearch/repositories/azure/AzureRepositoryPlugin.java
  56. 0 5
      plugins/repository-azure/src/main/plugin-metadata/plugin-security.policy
  57. 1 0
      plugins/repository-s3/licenses/jackson-annotations-2.10.4.jar.sha1
  58. 0 1
      plugins/repository-s3/licenses/jackson-annotations-2.12.2.jar.sha1
  59. 1 0
      plugins/repository-s3/licenses/jackson-databind-2.10.4.jar.sha1
  60. 0 1
      plugins/repository-s3/licenses/jackson-databind-2.12.2.jar.sha1
  61. 1 0
      x-pack/plugin/sql/jdbc/licenses/jackson-core-2.10.4.jar.sha1
  62. 0 1
      x-pack/plugin/sql/jdbc/licenses/jackson-core-2.12.2.jar.sha1
  63. 1 0
      x-pack/plugin/sql/jdbc/licenses/jackson-dataformat-cbor-2.10.4.jar.sha1
  64. 0 1
      x-pack/plugin/sql/jdbc/licenses/jackson-dataformat-cbor-2.12.2.jar.sha1
  65. 1 0
      x-pack/plugin/sql/sql-action/licenses/jackson-core-2.10.4.jar.sha1
  66. 0 1
      x-pack/plugin/sql/sql-action/licenses/jackson-core-2.12.2.jar.sha1
  67. 1 0
      x-pack/plugin/sql/sql-client/licenses/jackson-core-2.10.4.jar.sha1
  68. 0 1
      x-pack/plugin/sql/sql-client/licenses/jackson-core-2.12.2.jar.sha1
  69. 1 0
      x-pack/plugin/sql/sql-proto/licenses/jackson-core-2.10.4.jar.sha1
  70. 0 1
      x-pack/plugin/sql/sql-proto/licenses/jackson-core-2.12.2.jar.sha1

+ 1 - 1
build-tools-internal/src/main/groovy/elasticsearch.ide.gradle

@@ -88,7 +88,7 @@ if (System.getProperty('idea.active') == 'true') {
   tasks.register('buildDependencyArtifacts') {
     group = 'ide'
     description = 'Builds artifacts needed as dependency for IDE modules'
-    dependsOn ':client:rest-high-level:shadowJar', ':plugins:repository-hdfs:hadoop-common:shadowJar'
+    dependsOn ':client:rest-high-level:shadowJar', ':plugins:repository-hdfs:hadoop-common:shadowJar', ':plugins:repository-azure:azure-storage-blob:shadowJar'
   }
 
   idea {

+ 2 - 2
build-tools-internal/version.properties

@@ -9,8 +9,8 @@ checkstyle = 8.42
 # optional dependencies
 spatial4j         = 0.7
 jts               = 1.15.0
-jackson           = 2.12.2
-snakeyaml         = 1.27
+jackson           = 2.10.4
+snakeyaml         = 1.26
 icu4j             = 62.1
 supercsv          = 2.4.0
 # when updating log4j, please update also docs/java-api/index.asciidoc

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

@@ -0,0 +1 @@
+8796585e716440d6dd5128b30359932a9eb74d0d

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

@@ -1 +0,0 @@
-8df50138521d05561a308ec2799cc8dda20c06df

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

@@ -0,0 +1 @@
+8796585e716440d6dd5128b30359932a9eb74d0d

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

@@ -1 +0,0 @@
-8df50138521d05561a308ec2799cc8dda20c06df

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

@@ -0,0 +1 @@
+c854bb2d46138198cb5d4aae86ef6c04b8bc1e70

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

@@ -1 +0,0 @@
-71866a16d9678d8d7718baea0a28c7d0e1a67360

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

@@ -0,0 +1 @@
+c872c2e224cfdcc5481037d477f5890f05c001b4

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

@@ -1 +0,0 @@
-110be3a2ac0acf51e68967669db47ca9a507e057

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

@@ -0,0 +1 @@
+8a7f3c6b640bd89214807af6d8160b4b3b16af93

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

@@ -1 +0,0 @@
-8c549fb29f390f6fd0c20cf0a1d83f7e38dc7ffb

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

@@ -0,0 +1 @@
+a78a8747147d2c5807683e76ec2b633e95c14fe9

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

@@ -1 +0,0 @@
-359d62567480b07a679dc643f82fc926b100eed5

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

@@ -0,0 +1 @@
+6ae6028aff033f194c9710ad87c224ccaadeed6c

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

@@ -1 +0,0 @@
-0a770cc4c0a1fb0bfd8a150a6a0004e42bc99fca

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

@@ -0,0 +1 @@
+76e9152e93d4cf052f93a64596f633ba5b1c8ed9

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

@@ -1 +0,0 @@
-5f9d79e09ebf5d54a46e9f4543924cf7ae7654e0

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

@@ -0,0 +1 @@
+6ae6028aff033f194c9710ad87c224ccaadeed6c

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

@@ -1 +0,0 @@
-0a770cc4c0a1fb0bfd8a150a6a0004e42bc99fca

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

@@ -0,0 +1 @@
+76e9152e93d4cf052f93a64596f633ba5b1c8ed9

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

@@ -1 +0,0 @@
-5f9d79e09ebf5d54a46e9f4543924cf7ae7654e0

+ 47 - 0
plugins/repository-azure/azure-storage-blob/build.gradle

@@ -0,0 +1,47 @@
+import org.elasticsearch.gradle.internal.JavaClassPublicifier;
+
+apply plugin: 'elasticsearch.java'
+apply plugin: 'com.github.johnrengelman.shadow'
+
+configurations {
+  originalJar {
+    transitive = false
+  }
+}
+
+dependencies {
+  originalJar "com.azure:azure-storage-blob:${project.parent.versions.azure}"
+  implementation "com.azure:azure-storage-blob:${project.parent.versions.azure}"
+}
+
+// We have to rewrite the service classes to make them public to avoid
+// granting the permission "java.lang.reflect.ReflectPermission" "newProxyInPackage"
+// to this plugin.
+//
+// There are plans to make those public in the azure sdk side, but in the meanwhile
+// we just do this workaround
+// https://github.com/Azure/azure-sdk-for-java/issues/12829#issuecomment-736755543
+List<String> classesToRewrite = ['com/azure/storage/blob/implementation/AppendBlobsImpl$AppendBlobsService.class',
+                                 'com/azure/storage/blob/implementation/BlobsImpl$BlobsService.class',
+                                 'com/azure/storage/blob/implementation/BlockBlobsImpl$BlockBlobsService.class',
+                                 'com/azure/storage/blob/implementation/ContainersImpl$ContainersService.class',
+                                 'com/azure/storage/blob/implementation/DirectorysImpl$DirectorysService.class',
+                                 'com/azure/storage/blob/implementation/PageBlobsImpl$PageBlobsService.class',
+                                 'com/azure/storage/blob/implementation/ServicesImpl$ServicesService.class']
+
+tasks.register('extractClientClasses', Copy).configure {
+  from({ zipTree(configurations.originalJar.singleFile) }) {
+    include "com/azure/storage/blob/implementation/**"
+  }
+  into project.file('build/original')
+}
+
+def modifiedOutput = project.layout.buildDirectory.dir('modified')
+def makePublic = tasks.register('makeClientClassesPublic', JavaClassPublicifier) {
+  dependsOn 'extractClientClasses'
+  classFiles = classesToRewrite
+  inputDir = project.layout.buildDirectory.dir('original')
+  outputDir = modifiedOutput
+}
+
+sourceSets.main.output.dir(modifiedOutput, builtBy: makePublic)

+ 32 - 38
plugins/repository-azure/build.gradle

@@ -22,35 +22,38 @@ esplugin {
 }
 
 versions << [
-  'azure': '12.11.1',
-  'azureCore': '1.16.0',
-  'azureCoreHttpNetty': '1.9.1',
-  'azureAvro': '12.0.4',
+  'azure': '12.9.0',
+  'azureCore': '1.10.0',
+  'azureCoreHttpNetty': '1.6.3',
 
   'jakartaActivation': '1.2.1',
   'jakartaXMLBind': '2.3.2',
   'stax2API': '4.2',
-  'woodstox': '6.2.4',
+  'woodstox': '6.0.2',
 
-  'azureNetty': '4.1.63.Final',
-  'reactorNetty': '1.0.6',
-  'reactorCore': '3.4.5',
+  'reactorNetty': '0.9.12.RELEASE',
+  'reactorCore': '3.3.10.RELEASE',
   'reactiveStreams': '1.0.3',
 ]
 
 dependencies {
+  api project(path: 'azure-storage-blob', configuration: 'shadow')
+  if (isEclipse) {
+    /*
+     * Eclipse can't pick up the shadow dependency so we point it at *something*
+     * so it can compile things.
+     */
+    api project(path: 'azure-storage-blob')
+  }
   api "com.azure:azure-storage-common:${versions.azure}"
-  api "com.azure:azure-storage-blob:${versions.azure}"
   api "com.azure:azure-core-http-netty:${versions.azureCoreHttpNetty}"
   api "com.azure:azure-core:${versions.azureCore}"
-  api "com.azure:azure-storage-internal-avro:${versions.azureAvro}"
 
   // jackson
   api "com.fasterxml.jackson.core:jackson-core:${versions.jackson}"
   api "com.fasterxml.jackson.core:jackson-databind:${versions.jackson}"
   api "com.fasterxml.jackson.core:jackson-annotations:${versions.jackson}"
   api "com.fasterxml.jackson.core:jackson-databind:${versions.jackson}"
-  api "com.fasterxml.jackson:jackson-bom:${versions.jackson}"
 
   // jackson xml
   api "com.fasterxml.jackson.dataformat:jackson-dataformat-xml:${versions.jackson}"
@@ -62,24 +65,19 @@ dependencies {
   api "com.fasterxml.woodstox:woodstox-core:${versions.woodstox}"
 
   // netty
-  api "io.netty:netty-buffer:${versions.azureNetty}"
-  api "io.netty:netty-codec:${versions.azureNetty}"
-  api "io.netty:netty-codec-dns:${versions.azureNetty}"
-  api "io.netty:netty-codec-http:${versions.azureNetty}"
-  api "io.netty:netty-codec-http2:${versions.azureNetty}"
-  api "io.netty:netty-codec-socks:${versions.azureNetty}"
-  api "io.netty:netty-common:${versions.azureNetty}"
-  api "io.netty:netty-handler:${versions.azureNetty}"
-  api "io.netty:netty-handler-proxy:${versions.azureNetty}"
-  api "io.netty:netty-resolver:${versions.azureNetty}"
-  api "io.netty:netty-resolver-dns:${versions.azureNetty}"
-  api "io.netty:netty-transport:${versions.azureNetty}"
-  api "io.netty:netty-transport-native-unix-common:${versions.azureNetty}"
+  api "io.netty:netty-buffer:${versions.netty}"
+  api "io.netty:netty-codec-http:${versions.netty}"
+  api "io.netty:netty-codec-http2:${versions.netty}"
+  api "io.netty:netty-codec-socks:${versions.netty}"
+  api "io.netty:netty-codec:${versions.netty}"
+  api "io.netty:netty-common:${versions.netty}"
+  api "io.netty:netty-handler-proxy:${versions.netty}"
+  api "io.netty:netty-handler:${versions.netty}"
+  api "io.netty:netty-resolver:${versions.netty}"
+  api "io.netty:netty-transport:${versions.netty}"
 
   // reactor
   api "io.projectreactor.netty:reactor-netty:${versions.reactorNetty}"
-  api "io.projectreactor.netty:reactor-netty-core:${versions.reactorNetty}"
-  api "io.projectreactor.netty:reactor-netty-http:${versions.reactorNetty}"
   api "io.projectreactor:reactor-core:${versions.reactorCore}"
   api "org.reactivestreams:reactive-streams:${versions.reactiveStreams}"
 
@@ -109,7 +107,6 @@ tasks.named("dependencyLicenses").configure {
   mapping from: /netty-.*/, to: 'netty'
   mapping from: /jaxb-.*/, to: 'jaxb'
   mapping from: /stax-.*/, to: 'stax'
-  mapping from: /reactor-netty-.*/, to: 'reactor-netty'
   mapping from: /reactive-streams.*/, to: 'reactive-streams'
 }
 
@@ -253,23 +250,14 @@ tasks.named("thirdPartyAudit").configure {
     // it uses NIO
     'io.netty.channel.kqueue.KQueue',
     'io.netty.channel.kqueue.KQueueDatagramChannel',
-    'io.netty.channel.kqueue.KQueueDomainSocketChannel',
     'io.netty.channel.kqueue.KQueueEventLoopGroup',
-    'io.netty.channel.kqueue.KQueueServerDomainSocketChannel',
     'io.netty.channel.kqueue.KQueueServerSocketChannel',
     'io.netty.channel.kqueue.KQueueSocketChannel',
     'io.netty.channel.epoll.Epoll',
     'io.netty.channel.epoll.EpollDatagramChannel',
-    'io.netty.channel.epoll.EpollDomainSocketChannel',
     'io.netty.channel.epoll.EpollEventLoopGroup',
-    'io.netty.channel.epoll.EpollServerDomainSocketChannel',
     'io.netty.channel.epoll.EpollServerSocketChannel',
     'io.netty.channel.epoll.EpollSocketChannel',
-    'io.netty.incubator.channel.uring.IOUring',
-    'io.netty.incubator.channel.uring.IOUringDatagramChannel',
-    'io.netty.incubator.channel.uring.IOUringEventLoopGroup',
-    'io.netty.incubator.channel.uring.IOUringServerSocketChannel',
-    'io.netty.incubator.channel.uring.IOUringSocketChannel',
 
     // from reactor.netty.http.server.HttpServer (reactor-netty)
     'io.netty.handler.codec.haproxy.HAProxyMessage',
@@ -279,11 +267,13 @@ tasks.named("thirdPartyAudit").configure {
     'org.osgi.framework.BundleActivator',
     'org.osgi.framework.BundleContext',
 
+    // from com.ctc.wstx.shaded.msv_core.driver.textui.Driver (woodstox-core)
+    'com.sun.org.apache.xml.internal.resolver.Catalog',
+    'com.sun.org.apache.xml.internal.resolver.tools.CatalogResolver',
+
     'org.slf4j.impl.StaticLoggerBinder',
     'org.slf4j.impl.StaticMDCBinder',
     'org.slf4j.impl.StaticMarkerBinder',
-
-    'com.ctc.wstx.shaded.msv_core.driver.textui.Driver',
   )
 
   ignoreViolations(
@@ -309,7 +299,11 @@ tasks.named("thirdPartyAudit").configure {
     'javax.activation.MailcapCommandMap',
     'javax.activation.MimetypesFileTypeMap',
 
+    'reactor.core.publisher.MultiProducerRingBuffer',
+    'reactor.core.publisher.RingBufferFields',
     'reactor.core.publisher.Traces$SharedSecretsCallSiteSupplierFactory$TracingException',
+    'reactor.core.publisher.UnsafeSequence',
+    'reactor.core.publisher.UnsafeSupport'
   )
 }
 boolean useFixture = false

+ 1 - 0
plugins/repository-azure/licenses/azure-core-1.10.0.jar.sha1

@@ -0,0 +1 @@
+d5e1258ba153b5e27c90b7c9cad262e6fc171d24

+ 0 - 1
plugins/repository-azure/licenses/azure-core-1.16.0.jar.sha1

@@ -1 +0,0 @@
-4942bfa35a89a1fc9cabd18427a9b450d392215b

+ 1 - 0
plugins/repository-azure/licenses/azure-core-http-netty-1.6.3.jar.sha1

@@ -0,0 +1 @@
+1c72bdc36faad65f53dd160becc38dd93a7356e2

+ 0 - 1
plugins/repository-azure/licenses/azure-core-http-netty-1.9.1.jar.sha1

@@ -1 +0,0 @@
-b78134e2715eaef150ae3786806ff640bd0439ba

+ 0 - 1
plugins/repository-azure/licenses/azure-storage-blob-12.11.1.jar.sha1

@@ -1 +0,0 @@
-ac89edaa19ee481c832970e944af16b3b772881a

+ 0 - 1
plugins/repository-azure/licenses/azure-storage-common-12.11.1.jar.sha1

@@ -1 +0,0 @@
-61b336d02e1d8839d68db47d884574fe41535e04

+ 1 - 0
plugins/repository-azure/licenses/azure-storage-common-12.9.0.jar.sha1

@@ -0,0 +1 @@
+42d0439a676e51bb1dea809c60e8a925bb07477c

+ 0 - 1
plugins/repository-azure/licenses/azure-storage-internal-avro-12.0.4.jar.sha1

@@ -1 +0,0 @@
-39733586ba04415ce64b186e17e1f8d9e28f2972

+ 1 - 0
plugins/repository-azure/licenses/jackson-annotations-2.10.4.jar.sha1

@@ -0,0 +1 @@
+6ae6028aff033f194c9710ad87c224ccaadeed6c

+ 0 - 1
plugins/repository-azure/licenses/jackson-annotations-2.12.2.jar.sha1

@@ -1 +0,0 @@
-0a770cc4c0a1fb0bfd8a150a6a0004e42bc99fca

+ 1 - 0
plugins/repository-azure/licenses/jackson-databind-2.10.4.jar.sha1

@@ -0,0 +1 @@
+76e9152e93d4cf052f93a64596f633ba5b1c8ed9

+ 0 - 1
plugins/repository-azure/licenses/jackson-databind-2.12.2.jar.sha1

@@ -1 +0,0 @@
-5f9d79e09ebf5d54a46e9f4543924cf7ae7654e0

+ 1 - 0
plugins/repository-azure/licenses/jackson-dataformat-xml-2.10.4.jar.sha1

@@ -0,0 +1 @@
+ffd80322264922e7edb6b35139ec1f2f55824156

+ 0 - 1
plugins/repository-azure/licenses/jackson-dataformat-xml-2.12.2.jar.sha1

@@ -1 +0,0 @@
-dac1d21b5fe602d492273d35eb28918a91fc5412

+ 1 - 0
plugins/repository-azure/licenses/jackson-datatype-jsr310-2.10.4.jar.sha1

@@ -0,0 +1 @@
+de00203e6fee3493c8978a0064a3dda2e8373545

+ 0 - 1
plugins/repository-azure/licenses/jackson-datatype-jsr310-2.12.2.jar.sha1

@@ -1 +0,0 @@
-00012e36d12f47b4648e2cfe0b12bdcc2c4649bf

+ 1 - 0
plugins/repository-azure/licenses/jackson-module-jaxb-annotations-2.10.4.jar.sha1

@@ -0,0 +1 @@
+68364602aed552c0dcfc5743b393bad95c85b009

+ 0 - 1
plugins/repository-azure/licenses/jackson-module-jaxb-annotations-2.12.2.jar.sha1

@@ -1 +0,0 @@
-f226bd0766b4e81493822e8c81eaa6cab27e589f

+ 0 - 1
plugins/repository-azure/licenses/netty-codec-dns-4.1.63.Final.jar.sha1

@@ -1 +0,0 @@
-91c445232b12e13bf6757579a39bab81e1233af5

+ 0 - 1
plugins/repository-azure/licenses/netty-resolver-dns-4.1.63.Final.jar.sha1

@@ -1 +0,0 @@
-f44dc8ed52ff8528a88c157879c9baffe464fa46

+ 0 - 1
plugins/repository-azure/licenses/netty-transport-native-unix-common-4.1.63.Final.jar.sha1

@@ -1 +0,0 @@
-85bd91382ec54b300ad3ff59efccbb4fccb22a88

+ 1 - 0
plugins/repository-azure/licenses/reactor-core-3.3.10.RELEASE.jar.sha1

@@ -0,0 +1 @@
+f5787f994a9a810c0986418232e06fcf4afc1216

+ 0 - 1
plugins/repository-azure/licenses/reactor-core-3.4.5.jar.sha1

@@ -1 +0,0 @@
-c8adeb48f74b16c2dfb4f06a880820b9eaed50cf

+ 1 - 0
plugins/repository-azure/licenses/reactor-netty-0.9.12.RELEASE.jar.sha1

@@ -0,0 +1 @@
+41022546d07f1499fb9d8617bba4a1a89d3549db

+ 0 - 1
plugins/repository-azure/licenses/reactor-netty-1.0.6.jar.sha1

@@ -1 +0,0 @@
-82e9508698715725c3e1882d3056cd3a743d6bfc

+ 0 - 1
plugins/repository-azure/licenses/reactor-netty-core-1.0.6.jar.sha1

@@ -1 +0,0 @@
-c24e7e989913d50c2ed592892e55ce1284364ac4

+ 0 - 1
plugins/repository-azure/licenses/reactor-netty-http-1.0.6.jar.sha1

@@ -1 +0,0 @@
-6a76dd233bdb1e6dc5364ae1b5c8627c2cb0288f

+ 1 - 0
plugins/repository-azure/licenses/woodstox-core-6.0.2.jar.sha1

@@ -0,0 +1 @@
+bbd163bbdb4d6340298b61a6789cc174fb589868

+ 0 - 1
plugins/repository-azure/licenses/woodstox-core-6.2.4.jar.sha1

@@ -1 +0,0 @@
-16b9f8ab972e67eb21872ea2c40046249d543989

+ 14 - 20
plugins/repository-azure/src/main/java/org/elasticsearch/repositories/azure/AzureClientProvider.java

@@ -28,7 +28,6 @@ import io.netty.buffer.PooledByteBufAllocator;
 import io.netty.channel.ChannelOption;
 import io.netty.channel.EventLoopGroup;
 import io.netty.channel.nio.NioEventLoopGroup;
-import io.netty.resolver.DefaultAddressResolverGroup;
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
 import org.elasticsearch.common.component.AbstractLifecycleComponent;
@@ -88,7 +87,6 @@ class AzureClientProvider extends AbstractLifecycleComponent {
     private final EventLoopGroup eventLoopGroup;
     private final ConnectionProvider connectionProvider;
     private final ByteBufAllocator byteBufAllocator;
-    private final reactor.netty.http.client.HttpClient nettyHttpClient;
     private final ClientLogger clientLogger = new ClientLogger(AzureClientProvider.class);
     private volatile boolean closed = false;
 
@@ -96,14 +94,12 @@ class AzureClientProvider extends AbstractLifecycleComponent {
                         String reactorExecutorName,
                         EventLoopGroup eventLoopGroup,
                         ConnectionProvider connectionProvider,
-                        ByteBufAllocator byteBufAllocator,
-                        reactor.netty.http.client.HttpClient nettyHttpClient) {
+                        ByteBufAllocator byteBufAllocator) {
         this.threadPool = threadPool;
         this.reactorExecutorName = reactorExecutorName;
         this.eventLoopGroup = eventLoopGroup;
         this.connectionProvider = connectionProvider;
         this.byteBufAllocator = byteBufAllocator;
-        this.nettyHttpClient = nettyHttpClient;
     }
 
     static int eventLoopThreadsFromSettings(Settings settings) {
@@ -121,7 +117,7 @@ class AzureClientProvider extends AbstractLifecycleComponent {
         final TimeValue openConnectionTimeout = OPEN_CONNECTION_TIMEOUT.get(settings);
         final TimeValue maxIdleTime = MAX_IDLE_TIME.get(settings);
 
-        ConnectionProvider connectionProvider =
+        ConnectionProvider provider =
             ConnectionProvider.builder("azure-sdk-connection-pool")
                 .maxConnections(MAX_OPEN_CONNECTIONS.get(settings))
                 .pendingAcquireMaxCount(PENDING_CONNECTION_QUEUE_SIZE) // This determines the max outstanding queued requests
@@ -131,22 +127,9 @@ class AzureClientProvider extends AbstractLifecycleComponent {
 
         ByteBufAllocator pooledByteBufAllocator = createByteBufAllocator();
 
-        reactor.netty.http.client.HttpClient nettyHttpClient = reactor.netty.http.client.HttpClient.create(connectionProvider)
-                .runOn(eventLoopGroup)
-                .option(ChannelOption.ALLOCATOR, pooledByteBufAllocator)
-                .resolver(DefaultAddressResolverGroup.INSTANCE)
-                .port(80)
-                .wiretap(false);
-
         // Just to verify that this executor exists
         threadPool.executor(REPOSITORY_THREAD_POOL_NAME);
-        return new AzureClientProvider(threadPool,
-            REPOSITORY_THREAD_POOL_NAME,
-            eventLoopGroup,
-            connectionProvider,
-            pooledByteBufAllocator,
-            nettyHttpClient
-        );
+        return new AzureClientProvider(threadPool, REPOSITORY_THREAD_POOL_NAME, eventLoopGroup, provider, pooledByteBufAllocator);
     }
 
     private static ByteBufAllocator createByteBufAllocator() {
@@ -177,6 +160,17 @@ class AzureClientProvider extends AbstractLifecycleComponent {
             throw new IllegalStateException("AzureClientProvider is already closed");
         }
 
+        reactor.netty.http.client.HttpClient nettyHttpClient = reactor.netty.http.client.HttpClient.create(connectionProvider);
+        nettyHttpClient = nettyHttpClient
+            .port(80)
+            .wiretap(false);
+
+        nettyHttpClient = nettyHttpClient.tcpConfiguration(tcpClient -> {
+            tcpClient = tcpClient.runOn(eventLoopGroup);
+            tcpClient = tcpClient.option(ChannelOption.ALLOCATOR, byteBufAllocator);
+            return tcpClient;
+        });
+
         final HttpClient httpClient = new NettyAsyncHttpClientBuilder(nettyHttpClient)
             .disableBufferCopy(true)
             .proxy(proxyOptions)

+ 0 - 13
plugins/repository-azure/src/main/java/org/elasticsearch/repositories/azure/AzureRepositoryPlugin.java

@@ -34,8 +34,6 @@ import org.elasticsearch.threadpool.ScalingExecutorBuilder;
 import org.elasticsearch.threadpool.ThreadPool;
 import org.elasticsearch.watcher.ResourceWatcherService;
 
-import java.security.AccessController;
-import java.security.PrivilegedAction;
 import java.util.Arrays;
 import java.util.Collection;
 import java.util.Collections;
@@ -55,17 +53,6 @@ public class AzureRepositoryPlugin extends Plugin implements RepositoryPlugin, R
         // Trigger static initialization with the plugin class loader
         // so we have access to the proper xml parser
         JacksonAdapter.createDefaultSerializerAdapter();
-
-        // Even though we don't use it, we need to force static init
-        // of the default resolver which reads /etc/hosts so it doesn't init later
-        AccessController.doPrivileged((PrivilegedAction<Void>) () -> {
-            try {
-                Class.forName("io.netty.resolver.HostsFileEntriesResolver");
-            } catch (Exception e) {
-                throw new RuntimeException(e);
-            }
-            return null;
-        });
     }
 
     // protected for testing

+ 0 - 5
plugins/repository-azure/src/main/plugin-metadata/plugin-security.policy

@@ -14,9 +14,4 @@ grant {
   // Used by jackson bean deserialization
   permission java.lang.RuntimePermission "accessDeclaredMembers";
   permission java.lang.reflect.ReflectPermission "suppressAccessChecks";
-  // needed by netty dns resolver
-  permission java.io.FilePermission "/etc/hosts", "read";
-  permission java.io.FilePermission "/etc/resolv.conf", "read";
-  permission java.io.FilePermission "/etc/resolver", "read";
-  permission java.io.FilePermission "/etc/resolver/-", "read";
 };

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

@@ -0,0 +1 @@
+6ae6028aff033f194c9710ad87c224ccaadeed6c

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

@@ -1 +0,0 @@
-0a770cc4c0a1fb0bfd8a150a6a0004e42bc99fca

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

@@ -0,0 +1 @@
+76e9152e93d4cf052f93a64596f633ba5b1c8ed9

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

@@ -1 +0,0 @@
-5f9d79e09ebf5d54a46e9f4543924cf7ae7654e0

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

@@ -0,0 +1 @@
+8796585e716440d6dd5128b30359932a9eb74d0d

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

@@ -1 +0,0 @@
-8df50138521d05561a308ec2799cc8dda20c06df

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

@@ -0,0 +1 @@
+c854bb2d46138198cb5d4aae86ef6c04b8bc1e70

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

@@ -1 +0,0 @@
-71866a16d9678d8d7718baea0a28c7d0e1a67360

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

@@ -0,0 +1 @@
+8796585e716440d6dd5128b30359932a9eb74d0d

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

@@ -1 +0,0 @@
-8df50138521d05561a308ec2799cc8dda20c06df

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

@@ -0,0 +1 @@
+8796585e716440d6dd5128b30359932a9eb74d0d

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

@@ -1 +0,0 @@
-8df50138521d05561a308ec2799cc8dda20c06df

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

@@ -0,0 +1 @@
+8796585e716440d6dd5128b30359932a9eb74d0d

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

@@ -1 +0,0 @@
-8df50138521d05561a308ec2799cc8dda20c06df