From 2508ae99ffc0e323fed42c1cc7501e6677747ad9 Mon Sep 17 00:00:00 2001 From: David Turner Date: Wed, 24 Jul 2024 09:01:54 +0100 Subject: [PATCH 1/2] Upgrade Azure SDK Also simplify how versions are declared in `build.gradle` and align Jackson/Netty versions with the rest of ES. --- gradle/verification-metadata.xml | 106 ++++++++---------- modules/repository-azure/build.gradle | 74 +++++------- .../azure/AzureRepositoryPlugin.java | 7 +- 3 files changed, 82 insertions(+), 105 deletions(-) diff --git a/gradle/verification-metadata.xml b/gradle/verification-metadata.xml index 5e26d96c4ca17..e5fd9f124b444 100644 --- a/gradle/verification-metadata.xml +++ b/gradle/verification-metadata.xml @@ -119,29 +119,39 @@ - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + + + + + + + + + + + @@ -271,11 +281,6 @@ - - - - - @@ -296,11 +301,6 @@ - - - - - @@ -341,14 +341,9 @@ - - - - - - - - + + + @@ -361,14 +356,9 @@ - - - - - - - - + + + @@ -386,14 +376,9 @@ - - - - - - - - + + + @@ -1471,19 +1456,19 @@ - - - + + + - - - + + + - - - + + + @@ -1501,6 +1486,11 @@ + + + + + diff --git a/modules/repository-azure/build.gradle b/modules/repository-azure/build.gradle index d093816acd45f..5e1c294c1a30e 100644 --- a/modules/repository-azure/build.gradle +++ b/modules/repository-azure/build.gradle @@ -17,65 +17,51 @@ esplugin { } versions << [ - 'azure': '12.20.1', - 'azureCommon': '12.19.1', - 'azureCore': '1.34.0', - 'azureCoreHttpNetty': '1.12.7', - 'azureJackson': '2.15.4', - 'azureJacksonDatabind': '2.13.4.2', - 'azureAvro': '12.5.3', - - 'jakartaActivation': '1.2.1', - 'jakartaXMLBind': '2.3.2', - 'stax2API': '4.2.1', - 'woodstox': '6.4.0', - - 'reactorNetty': '1.0.39', - 'reactorCore': '3.4.34', - 'reactiveStreams': '1.0.4', + 'azureReactorNetty': '1.0.45', ] dependencies { - api "com.azure:azure-storage-blob:${versions.azure}" - api "com.azure:azure-storage-common:${versions.azureCommon}" - api "com.azure:azure-core-http-netty:${versions.azureCoreHttpNetty}" - api "com.azure:azure-core:${versions.azureCore}" - // jackson - api "com.fasterxml.jackson.core:jackson-core:${versions.azureJackson}" - api "com.fasterxml.jackson.core:jackson-databind:${versions.azureJacksonDatabind}" - api "com.fasterxml.jackson.core:jackson-annotations:${versions.azureJackson}" - - // jackson xml - api "com.fasterxml.jackson.dataformat:jackson-dataformat-xml:${versions.azureJackson}" - api "com.fasterxml.jackson.datatype:jackson-datatype-jsr310:${versions.azureJackson}" - api "com.fasterxml.jackson.module:jackson-module-jaxb-annotations:${versions.azureJackson}" - api "jakarta.activation:jakarta.activation-api:${versions.jakartaActivation}" - // The SDK uses javax.xml bindings - api "jakarta.xml.bind:jakarta.xml.bind-api:${versions.jakartaXMLBind}" - api "org.codehaus.woodstox:stax2-api:${versions.stax2API}" - api "com.fasterxml.woodstox:woodstox-core:${versions.woodstox}" - - // netty + // Microsoft + api "com.azure:azure-core-http-netty:1.15.1" + api "com.azure:azure-core:1.50.0" + api "com.azure:azure-json:1.1.0" + api "com.azure:azure-storage-blob:12.26.1" + api "com.azure:azure-storage-common:12.26.0" + api "com.azure:azure-storage-internal-avro:12.11.1" + api "com.azure:azure-xml:1.0.0" + + // 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.dataformat:jackson-dataformat-xml:${versions.jackson}" + api "com.fasterxml.jackson.datatype:jackson-datatype-jsr310:${versions.jackson}" + api "com.fasterxml.jackson.module:jackson-module-jaxb-annotations:${versions.jackson}" + + // Netty api "io.netty:netty-codec-dns:${versions.netty}" api "io.netty:netty-codec-http2:${versions.netty}" api "io.netty:netty-codec-socks:${versions.netty}" api "io.netty:netty-handler-proxy:${versions.netty}" api "io.netty:netty-resolver-dns:${versions.netty}" - // reactor - 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}" + // Reactor + api "io.projectreactor.netty:reactor-netty-core:${versions.azureReactorNetty}" + api "io.projectreactor.netty:reactor-netty-http:${versions.azureReactorNetty}" + api "io.projectreactor:reactor-core:3.4.38" + api "org.reactivestreams:reactive-streams:1.0.4" + + // Others + api "com.fasterxml.woodstox:woodstox-core:6.4.0" + api "jakarta.activation:jakarta.activation-api:1.2.1" + api "jakarta.xml.bind:jakarta.xml.bind-api:2.3.3" + api "org.codehaus.woodstox:stax2-api:4.2.1" implementation project(":modules:transport-netty4") implementation("org.slf4j:slf4j-api:${versions.slf4j}") runtimeOnly "org.slf4j:slf4j-nop:${versions.slf4j}" // runtimeOnly("org.apache.logging.log4j:log4j-slf4j-impl:${versions.log4j}") https://github.com/elastic/elasticsearch/issues/93714 - - runtimeOnly "com.azure:azure-storage-internal-avro:${versions.azureAvro}" - testImplementation project(':test:fixtures:azure-fixture') yamlRestTestImplementation project(':test:fixtures:azure-fixture') } diff --git a/modules/repository-azure/src/main/java/org/elasticsearch/repositories/azure/AzureRepositoryPlugin.java b/modules/repository-azure/src/main/java/org/elasticsearch/repositories/azure/AzureRepositoryPlugin.java index 73d969ee31b19..f6b1c2775926c 100644 --- a/modules/repository-azure/src/main/java/org/elasticsearch/repositories/azure/AzureRepositoryPlugin.java +++ b/modules/repository-azure/src/main/java/org/elasticsearch/repositories/azure/AzureRepositoryPlugin.java @@ -27,6 +27,8 @@ import org.elasticsearch.threadpool.ScalingExecutorBuilder; import org.elasticsearch.xcontent.NamedXContentRegistry; +import java.security.AccessController; +import java.security.PrivilegedAction; import java.util.Arrays; import java.util.Collection; import java.util.Collections; @@ -42,9 +44,8 @@ public class AzureRepositoryPlugin extends Plugin implements RepositoryPlugin, R public static final String NETTY_EVENT_LOOP_THREAD_POOL_NAME = "azure_event_loop"; static { - // Trigger static initialization with the plugin class loader - // so we have access to the proper xml parser - JacksonAdapter.createDefaultSerializerAdapter(); + // Trigger static initialization with the plugin class loader so we have access to the proper xml parser + AccessController.doPrivileged((PrivilegedAction) JacksonAdapter::createDefaultSerializerAdapter); } // protected for testing From c7baedb6944148209a47877622d96d5a45f1fd15 Mon Sep 17 00:00:00 2001 From: David Turner Date: Wed, 24 Jul 2024 09:39:26 +0100 Subject: [PATCH 2/2] Update docs/changelog/111225.yaml --- docs/changelog/111225.yaml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 docs/changelog/111225.yaml diff --git a/docs/changelog/111225.yaml b/docs/changelog/111225.yaml new file mode 100644 index 0000000000000..bcd344847cfd2 --- /dev/null +++ b/docs/changelog/111225.yaml @@ -0,0 +1,5 @@ +pr: 111225 +summary: Upgrade Azure SDK +area: Snapshot/Restore +type: upgrade +issues: []