From bf4b06b26d9b9ea40d20d793fa6d734e949c6828 Mon Sep 17 00:00:00 2001
From: "release-please[bot]"
<55107282+release-please[bot]@users.noreply.github.com>
Date: Tue, 6 May 2025 13:50:41 -0400
Subject: [PATCH 01/10] chore(main): release 2.52.3-SNAPSHOT (#3090)
Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
---
gapic-google-cloud-storage-v2/pom.xml | 4 ++--
google-cloud-storage-bom/pom.xml | 16 ++++++++--------
google-cloud-storage-control/pom.xml | 4 ++--
google-cloud-storage/pom.xml | 4 ++--
grpc-google-cloud-storage-control-v2/pom.xml | 4 ++--
grpc-google-cloud-storage-v2/pom.xml | 4 ++--
pom.xml | 16 ++++++++--------
proto-google-cloud-storage-control-v2/pom.xml | 4 ++--
proto-google-cloud-storage-v2/pom.xml | 4 ++--
samples/snapshot/pom.xml | 6 +++---
storage-shared-benchmarking/pom.xml | 4 ++--
versions.txt | 14 +++++++-------
12 files changed, 42 insertions(+), 42 deletions(-)
diff --git a/gapic-google-cloud-storage-v2/pom.xml b/gapic-google-cloud-storage-v2/pom.xml
index 53150f4394..50e9a768a6 100644
--- a/gapic-google-cloud-storage-v2/pom.xml
+++ b/gapic-google-cloud-storage-v2/pom.xml
@@ -4,13 +4,13 @@
4.0.0
com.google.api.grpc
gapic-google-cloud-storage-v2
- 2.52.2
+ 2.52.3-SNAPSHOT
gapic-google-cloud-storage-v2
GRPC library for gapic-google-cloud-storage-v2
com.google.cloud
google-cloud-storage-parent
- 2.52.2
+ 2.52.3-SNAPSHOT
diff --git a/google-cloud-storage-bom/pom.xml b/google-cloud-storage-bom/pom.xml
index d92011e4d7..8fb43dcdae 100644
--- a/google-cloud-storage-bom/pom.xml
+++ b/google-cloud-storage-bom/pom.xml
@@ -19,7 +19,7 @@
4.0.0
com.google.cloud
google-cloud-storage-bom
- 2.52.2
+ 2.52.3-SNAPSHOT
pom
com.google.cloud
@@ -69,37 +69,37 @@
com.google.cloud
google-cloud-storage
- 2.52.2
+ 2.52.3-SNAPSHOT
com.google.api.grpc
gapic-google-cloud-storage-v2
- 2.52.2
+ 2.52.3-SNAPSHOT
com.google.api.grpc
grpc-google-cloud-storage-v2
- 2.52.2
+ 2.52.3-SNAPSHOT
com.google.api.grpc
proto-google-cloud-storage-v2
- 2.52.2
+ 2.52.3-SNAPSHOT
com.google.cloud
google-cloud-storage-control
- 2.52.2
+ 2.52.3-SNAPSHOT
com.google.api.grpc
grpc-google-cloud-storage-control-v2
- 2.52.2
+ 2.52.3-SNAPSHOT
com.google.api.grpc
proto-google-cloud-storage-control-v2
- 2.52.2
+ 2.52.3-SNAPSHOT
diff --git a/google-cloud-storage-control/pom.xml b/google-cloud-storage-control/pom.xml
index 0870f4628d..265d580074 100644
--- a/google-cloud-storage-control/pom.xml
+++ b/google-cloud-storage-control/pom.xml
@@ -5,13 +5,13 @@
4.0.0
com.google.cloud
google-cloud-storage-control
- 2.52.2
+ 2.52.3-SNAPSHOT
google-cloud-storage-control
GRPC library for google-cloud-storage-control
com.google.cloud
google-cloud-storage-parent
- 2.52.2
+ 2.52.3-SNAPSHOT
diff --git a/google-cloud-storage/pom.xml b/google-cloud-storage/pom.xml
index ea68c60a09..52f966a983 100644
--- a/google-cloud-storage/pom.xml
+++ b/google-cloud-storage/pom.xml
@@ -2,7 +2,7 @@
4.0.0
google-cloud-storage
- 2.52.2
+ 2.52.3-SNAPSHOT
jar
Google Cloud Storage
https://github.com/googleapis/java-storage
@@ -12,7 +12,7 @@
com.google.cloud
google-cloud-storage-parent
- 2.52.2
+ 2.52.3-SNAPSHOT
google-cloud-storage
diff --git a/grpc-google-cloud-storage-control-v2/pom.xml b/grpc-google-cloud-storage-control-v2/pom.xml
index 391ab159b8..46e0b834d3 100644
--- a/grpc-google-cloud-storage-control-v2/pom.xml
+++ b/grpc-google-cloud-storage-control-v2/pom.xml
@@ -4,13 +4,13 @@
4.0.0
com.google.api.grpc
grpc-google-cloud-storage-control-v2
- 2.52.2
+ 2.52.3-SNAPSHOT
grpc-google-cloud-storage-control-v2
GRPC library for google-cloud-storage
com.google.cloud
google-cloud-storage-parent
- 2.52.2
+ 2.52.3-SNAPSHOT
diff --git a/grpc-google-cloud-storage-v2/pom.xml b/grpc-google-cloud-storage-v2/pom.xml
index 264dd02eae..7d39c62c9e 100644
--- a/grpc-google-cloud-storage-v2/pom.xml
+++ b/grpc-google-cloud-storage-v2/pom.xml
@@ -4,13 +4,13 @@
4.0.0
com.google.api.grpc
grpc-google-cloud-storage-v2
- 2.52.2
+ 2.52.3-SNAPSHOT
grpc-google-cloud-storage-v2
GRPC library for grpc-google-cloud-storage-v2
com.google.cloud
google-cloud-storage-parent
- 2.52.2
+ 2.52.3-SNAPSHOT
diff --git a/pom.xml b/pom.xml
index c0f3437a32..13430911f0 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,7 +4,7 @@
com.google.cloud
google-cloud-storage-parent
pom
- 2.52.2
+ 2.52.3-SNAPSHOT
Storage Parent
https://github.com/googleapis/java-storage
@@ -82,7 +82,7 @@
com.google.cloud
google-cloud-storage
- 2.52.2
+ 2.52.3-SNAPSHOT
com.google.apis
@@ -104,32 +104,32 @@
com.google.api.grpc
proto-google-cloud-storage-v2
- 2.52.2
+ 2.52.3-SNAPSHOT
com.google.api.grpc
grpc-google-cloud-storage-v2
- 2.52.2
+ 2.52.3-SNAPSHOT
com.google.api.grpc
gapic-google-cloud-storage-v2
- 2.52.2
+ 2.52.3-SNAPSHOT
com.google.api.grpc
grpc-google-cloud-storage-control-v2
- 2.52.2
+ 2.52.3-SNAPSHOT
com.google.api.grpc
proto-google-cloud-storage-control-v2
- 2.52.2
+ 2.52.3-SNAPSHOT
com.google.cloud
google-cloud-storage-control
- 2.52.2
+ 2.52.3-SNAPSHOT
com.google.cloud
diff --git a/proto-google-cloud-storage-control-v2/pom.xml b/proto-google-cloud-storage-control-v2/pom.xml
index 1777c386e4..8e08e538b2 100644
--- a/proto-google-cloud-storage-control-v2/pom.xml
+++ b/proto-google-cloud-storage-control-v2/pom.xml
@@ -4,13 +4,13 @@
4.0.0
com.google.api.grpc
proto-google-cloud-storage-control-v2
- 2.52.2
+ 2.52.3-SNAPSHOT
proto-google-cloud-storage-control-v2
Proto library for proto-google-cloud-storage-control-v2
com.google.cloud
google-cloud-storage-parent
- 2.52.2
+ 2.52.3-SNAPSHOT
diff --git a/proto-google-cloud-storage-v2/pom.xml b/proto-google-cloud-storage-v2/pom.xml
index e008067e7f..3db23defed 100644
--- a/proto-google-cloud-storage-v2/pom.xml
+++ b/proto-google-cloud-storage-v2/pom.xml
@@ -4,13 +4,13 @@
4.0.0
com.google.api.grpc
proto-google-cloud-storage-v2
- 2.52.2
+ 2.52.3-SNAPSHOT
proto-google-cloud-storage-v2
PROTO library for proto-google-cloud-storage-v2
com.google.cloud
google-cloud-storage-parent
- 2.52.2
+ 2.52.3-SNAPSHOT
diff --git a/samples/snapshot/pom.xml b/samples/snapshot/pom.xml
index 901ed9ddc6..9638a8ee7f 100644
--- a/samples/snapshot/pom.xml
+++ b/samples/snapshot/pom.xml
@@ -28,12 +28,12 @@
com.google.cloud
google-cloud-storage
- 2.52.2
+ 2.52.3-SNAPSHOT
com.google.cloud
google-cloud-storage-control
- 2.52.2
+ 2.52.3-SNAPSHOT
compile
@@ -64,7 +64,7 @@
com.google.cloud
google-cloud-storage
- 2.52.2
+ 2.52.3-SNAPSHOT
tests
test
diff --git a/storage-shared-benchmarking/pom.xml b/storage-shared-benchmarking/pom.xml
index a314aa64bc..8f5a2f924d 100644
--- a/storage-shared-benchmarking/pom.xml
+++ b/storage-shared-benchmarking/pom.xml
@@ -10,7 +10,7 @@
com.google.cloud
google-cloud-storage-parent
- 2.52.2
+ 2.52.3-SNAPSHOT
@@ -31,7 +31,7 @@
com.google.cloud
google-cloud-storage
- 2.52.2
+ 2.52.3-SNAPSHOT
tests
diff --git a/versions.txt b/versions.txt
index 67897c57e6..6bb5cdd33b 100644
--- a/versions.txt
+++ b/versions.txt
@@ -1,10 +1,10 @@
# Format:
# module:released-version:current-version
-google-cloud-storage:2.52.2:2.52.2
-gapic-google-cloud-storage-v2:2.52.2:2.52.2
-grpc-google-cloud-storage-v2:2.52.2:2.52.2
-proto-google-cloud-storage-v2:2.52.2:2.52.2
-google-cloud-storage-control:2.52.2:2.52.2
-proto-google-cloud-storage-control-v2:2.52.2:2.52.2
-grpc-google-cloud-storage-control-v2:2.52.2:2.52.2
+google-cloud-storage:2.52.2:2.52.3-SNAPSHOT
+gapic-google-cloud-storage-v2:2.52.2:2.52.3-SNAPSHOT
+grpc-google-cloud-storage-v2:2.52.2:2.52.3-SNAPSHOT
+proto-google-cloud-storage-v2:2.52.2:2.52.3-SNAPSHOT
+google-cloud-storage-control:2.52.2:2.52.3-SNAPSHOT
+proto-google-cloud-storage-control-v2:2.52.2:2.52.3-SNAPSHOT
+grpc-google-cloud-storage-control-v2:2.52.2:2.52.3-SNAPSHOT
From ae26fe1925032a33ad2e17bfe3370215eb80ce1f Mon Sep 17 00:00:00 2001
From: Mend Renovate
Date: Tue, 6 May 2025 21:09:21 +0200
Subject: [PATCH 02/10] build(deps): update dependency
com.google.cloud:sdk-platform-java-config to v3.47.0 (#3092)
---
.kokoro/presubmit/graalvm-native-a.cfg | 2 +-
.kokoro/presubmit/graalvm-native-b.cfg | 2 +-
.kokoro/presubmit/graalvm-native-c.cfg | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/.kokoro/presubmit/graalvm-native-a.cfg b/.kokoro/presubmit/graalvm-native-a.cfg
index d0c2952133..24e5053a5b 100644
--- a/.kokoro/presubmit/graalvm-native-a.cfg
+++ b/.kokoro/presubmit/graalvm-native-a.cfg
@@ -3,7 +3,7 @@
# Configure the docker image for kokoro-trampoline.
env_vars: {
key: "TRAMPOLINE_IMAGE"
- value: "gcr.io/cloud-devrel-public-resources/graalvm_sdk_platform_a:3.46.2" # {x-version-update:google-cloud-shared-dependencies:current}
+ value: "gcr.io/cloud-devrel-public-resources/graalvm_sdk_platform_a:3.47.0" # {x-version-update:google-cloud-shared-dependencies:current}
}
env_vars: {
diff --git a/.kokoro/presubmit/graalvm-native-b.cfg b/.kokoro/presubmit/graalvm-native-b.cfg
index 962c305ff7..ae35f6cb21 100644
--- a/.kokoro/presubmit/graalvm-native-b.cfg
+++ b/.kokoro/presubmit/graalvm-native-b.cfg
@@ -3,7 +3,7 @@
# Configure the docker image for kokoro-trampoline.
env_vars: {
key: "TRAMPOLINE_IMAGE"
- value: "gcr.io/cloud-devrel-public-resources/graalvm_sdk_platform_b:3.46.2" # {x-version-update:google-cloud-shared-dependencies:current}
+ value: "gcr.io/cloud-devrel-public-resources/graalvm_sdk_platform_b:3.47.0" # {x-version-update:google-cloud-shared-dependencies:current}
}
env_vars: {
diff --git a/.kokoro/presubmit/graalvm-native-c.cfg b/.kokoro/presubmit/graalvm-native-c.cfg
index 87b5dff65a..660f1ee7ea 100644
--- a/.kokoro/presubmit/graalvm-native-c.cfg
+++ b/.kokoro/presubmit/graalvm-native-c.cfg
@@ -3,7 +3,7 @@
# Configure the docker image for kokoro-trampoline.
env_vars: {
key: "TRAMPOLINE_IMAGE"
- value: "gcr.io/cloud-devrel-public-resources/graalvm_sdk_platform_c:3.46.2" # {x-version-update:google-cloud-shared-dependencies:current}
+ value: "gcr.io/cloud-devrel-public-resources/graalvm_sdk_platform_c:3.47.0" # {x-version-update:google-cloud-shared-dependencies:current}
}
env_vars: {
From fb7dbf5533527dd6c78b7c00e09c32863cd7747a Mon Sep 17 00:00:00 2001
From: Mend Renovate
Date: Tue, 6 May 2025 21:10:02 +0200
Subject: [PATCH 03/10] test(deps): update cross product test dependencies
(#3091)
---
google-cloud-storage/pom.xml | 2 +-
pom.xml | 2 +-
samples/install-without-bom/pom.xml | 2 +-
samples/snapshot/pom.xml | 2 +-
samples/snippets/pom.xml | 2 +-
5 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/google-cloud-storage/pom.xml b/google-cloud-storage/pom.xml
index 52f966a983..b295be0e35 100644
--- a/google-cloud-storage/pom.xml
+++ b/google-cloud-storage/pom.xml
@@ -16,7 +16,7 @@
google-cloud-storage
- 1.121.2
+ 1.121.3
diff --git a/pom.xml b/pom.xml
index 13430911f0..3fdea59cbb 100644
--- a/pom.xml
+++ b/pom.xml
@@ -92,7 +92,7 @@
com.google.cloud
google-cloud-pubsub
- 1.139.2
+ 1.139.3
test
diff --git a/samples/install-without-bom/pom.xml b/samples/install-without-bom/pom.xml
index 39a6acae58..d3a7092cb7 100644
--- a/samples/install-without-bom/pom.xml
+++ b/samples/install-without-bom/pom.xml
@@ -66,7 +66,7 @@
com.google.cloud
google-cloud-pubsub
- 1.139.2
+ 1.139.3
test
diff --git a/samples/snapshot/pom.xml b/samples/snapshot/pom.xml
index 9638a8ee7f..fd3ba86020 100644
--- a/samples/snapshot/pom.xml
+++ b/samples/snapshot/pom.xml
@@ -58,7 +58,7 @@
com.google.cloud
google-cloud-pubsub
- 1.139.2
+ 1.139.3
test
diff --git a/samples/snippets/pom.xml b/samples/snippets/pom.xml
index 5805f82216..8ebf26c463 100644
--- a/samples/snippets/pom.xml
+++ b/samples/snippets/pom.xml
@@ -76,7 +76,7 @@
com.google.cloud
google-cloud-pubsub
- 1.139.2
+ 1.139.3
test
From 05fa4780289f500f56c122047634b85dbf178bfd Mon Sep 17 00:00:00 2001
From: Mend Renovate
Date: Tue, 6 May 2025 21:51:40 +0200
Subject: [PATCH 04/10] chore(deps): update storage release dependencies to
v2.52.2 (#3093)
---
samples/install-without-bom/pom.xml | 6 +++---
samples/snippets/pom.xml | 2 +-
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/samples/install-without-bom/pom.xml b/samples/install-without-bom/pom.xml
index d3a7092cb7..0fd3d7e6de 100644
--- a/samples/install-without-bom/pom.xml
+++ b/samples/install-without-bom/pom.xml
@@ -30,12 +30,12 @@
com.google.cloud
google-cloud-storage
- 2.52.1
+ 2.52.2
com.google.cloud
google-cloud-storage-control
- 2.52.1
+ 2.52.2
@@ -72,7 +72,7 @@
com.google.cloud
google-cloud-storage
- 2.52.1
+ 2.52.2
tests
test
diff --git a/samples/snippets/pom.xml b/samples/snippets/pom.xml
index 8ebf26c463..0f01a0842c 100644
--- a/samples/snippets/pom.xml
+++ b/samples/snippets/pom.xml
@@ -93,7 +93,7 @@
com.google.cloud
google-cloud-storage
- 2.52.1
+ 2.52.2
tests
test
From 4fdb1d4ae22576f57d018e9d6d5c17e34d696c37 Mon Sep 17 00:00:00 2001
From: Mend Renovate
Date: Wed, 7 May 2025 17:59:02 +0200
Subject: [PATCH 05/10] test(deps): update cross product test dependencies
(#3095)
---
google-cloud-storage/pom.xml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/google-cloud-storage/pom.xml b/google-cloud-storage/pom.xml
index b295be0e35..f18ec00a65 100644
--- a/google-cloud-storage/pom.xml
+++ b/google-cloud-storage/pom.xml
@@ -239,14 +239,14 @@
com.google.api.grpc
proto-google-cloud-kms-v1
- 0.155.0
+ 0.156.0
test
com.google.cloud
google-cloud-kms
- 2.64.0
+ 2.65.0
test
From 10cd32d51aa061304b5b4d0d632a2eed694cd1d6 Mon Sep 17 00:00:00 2001
From: BenWhitehead
Date: Thu, 8 May 2025 11:35:32 -0400
Subject: [PATCH 06/10] fix: update grpc client side metrics detection to be
graceful when not running on gcp (#3097)
Refactor OpenTelemetryBootstrappingUtils to return a channel configurator function rather than mutating a passed in value.
Add ChannelConfigurator interface to make testing easier and to simplify composition with any existing channel configurator function present in the InstantiatingGrpcChannelProvider.
---
.../cloud/storage/GrpcStorageOptions.java | 15 ++-
.../OpenTelemetryBootstrappingUtils.java | 105 +++++++++++++-----
.../cloud/storage/ITGrpcMetricsTest.java | 9 +-
.../OpenTelemetryBootstrappingUtilsTest.java | 97 ++++++++++++++++
4 files changed, 189 insertions(+), 37 deletions(-)
create mode 100644 google-cloud-storage/src/test/java/com/google/cloud/storage/OpenTelemetryBootstrappingUtilsTest.java
diff --git a/google-cloud-storage/src/main/java/com/google/cloud/storage/GrpcStorageOptions.java b/google-cloud-storage/src/main/java/com/google/cloud/storage/GrpcStorageOptions.java
index 7d116e1688..0fe1737ddc 100644
--- a/google-cloud-storage/src/main/java/com/google/cloud/storage/GrpcStorageOptions.java
+++ b/google-cloud-storage/src/main/java/com/google/cloud/storage/GrpcStorageOptions.java
@@ -60,6 +60,7 @@
import com.google.cloud.spi.ServiceRpcFactory;
import com.google.cloud.storage.GrpcUtils.ZeroCopyBidiStreamingCallable;
import com.google.cloud.storage.Hasher.UncheckedChecksumMismatchException;
+import com.google.cloud.storage.OpenTelemetryBootstrappingUtils.ChannelConfigurator;
import com.google.cloud.storage.RetryContext.RetryContextProvider;
import com.google.cloud.storage.Retrying.DefaultRetrier;
import com.google.cloud.storage.Storage.BlobWriteOption;
@@ -332,12 +333,14 @@ private Tuple> resolveSettingsAndOpts() throw
}
if (enableGrpcClientMetrics) {
- OpenTelemetryBootstrappingUtils.enableGrpcMetrics(
- channelProviderBuilder,
- endpoint,
- this.getProjectId(),
- this.getUniverseDomain(),
- !grpcClientMetricsManuallyEnabled);
+ ChannelConfigurator channelConfigurator =
+ OpenTelemetryBootstrappingUtils.enableGrpcMetrics(
+ ChannelConfigurator.lift(channelProviderBuilder.getChannelConfigurator()),
+ endpoint,
+ this.getProjectId(),
+ this.getUniverseDomain(),
+ !grpcClientMetricsManuallyEnabled);
+ channelProviderBuilder.setChannelConfigurator(channelConfigurator);
}
builder.setTransportChannelProvider(channelProviderBuilder.build());
diff --git a/google-cloud-storage/src/main/java/com/google/cloud/storage/OpenTelemetryBootstrappingUtils.java b/google-cloud-storage/src/main/java/com/google/cloud/storage/OpenTelemetryBootstrappingUtils.java
index fd24ad0b12..b3eb4e90f2 100644
--- a/google-cloud-storage/src/main/java/com/google/cloud/storage/OpenTelemetryBootstrappingUtils.java
+++ b/google-cloud-storage/src/main/java/com/google/cloud/storage/OpenTelemetryBootstrappingUtils.java
@@ -17,7 +17,6 @@
package com.google.cloud.storage;
import com.google.api.core.ApiFunction;
-import com.google.api.gax.grpc.InstantiatingGrpcChannelProvider;
import com.google.api.gax.rpc.PermissionDeniedException;
import com.google.api.gax.rpc.UnavailableException;
import com.google.cloud.opentelemetry.metric.GoogleCloudMetricExporter;
@@ -59,6 +58,8 @@
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.logging.Logger;
import java.util.stream.Collectors;
+import org.checkerframework.checker.nullness.qual.NonNull;
+import org.checkerframework.checker.nullness.qual.Nullable;
final class OpenTelemetryBootstrappingUtils {
private static final Collection METRICS_TO_ENABLE =
@@ -88,15 +89,41 @@ final class OpenTelemetryBootstrappingUtils {
static final Logger log = Logger.getLogger(OpenTelemetryBootstrappingUtils.class.getName());
- static void enableGrpcMetrics(
- InstantiatingGrpcChannelProvider.Builder channelProviderBuilder,
+ @NonNull
+ static ChannelConfigurator enableGrpcMetrics(
+ @Nullable ChannelConfigurator channelConfigurator,
String endpoint,
- String projectId,
+ @Nullable String projectId,
String universeDomain,
boolean shouldSuppressExceptions) {
+ GCPResourceProvider resourceProvider = new GCPResourceProvider();
+ Attributes detectedAttributes = resourceProvider.getAttributes();
+
+ @Nullable String detectedProjectId =
+ detectedAttributes.get(AttributeKey.stringKey("cloud.account.id"));
+ if (projectId == null && detectedProjectId == null) {
+ log.warning(
+ "Unable to determine the Project ID in order to report metrics. No gRPC client metrics will be reported.");
+ return channelConfigurator != null ? channelConfigurator : ChannelConfigurator.identity();
+ }
+
+ String projectIdToUse = detectedProjectId == null ? projectId : detectedProjectId;
+ if (!projectIdToUse.equals(projectId)) {
+ log.warning(
+ "The Project ID configured for gRPC client metrics is "
+ + projectIdToUse
+ + ", but the Project ID of the storage client is "
+ + projectId
+ + ". Make sure that the service account in use has the required metric writing role "
+ + "(roles/monitoring.metricWriter) in the project "
+ + projectIdToUse
+ + ", or metrics will not be written.");
+ }
+
String metricServiceEndpoint = getCloudMonitoringEndpoint(endpoint, universeDomain);
SdkMeterProvider provider =
- createMeterProvider(metricServiceEndpoint, projectId, shouldSuppressExceptions);
+ createMeterProvider(
+ metricServiceEndpoint, projectIdToUse, detectedAttributes, shouldSuppressExceptions);
OpenTelemetrySdk openTelemetrySdk =
OpenTelemetrySdk.builder().setMeterProvider(provider).build();
@@ -106,16 +133,48 @@ static void enableGrpcMetrics(
.addOptionalLabel("grpc.lb.locality")
.enableMetrics(METRICS_TO_ENABLE)
.build();
- ApiFunction channelConfigurator =
- channelProviderBuilder.getChannelConfigurator();
- channelProviderBuilder.setChannelConfigurator(
+ ChannelConfigurator otelConfigurator =
b -> {
grpcOpenTelemetry.configureChannelBuilder(b);
- if (channelConfigurator != null) {
- return channelConfigurator.apply(b);
- }
return b;
- });
+ };
+ return otelConfigurator.andThen(channelConfigurator);
+ }
+
+ @SuppressWarnings("rawtypes") // ManagedChannelBuilder
+ @FunctionalInterface
+ interface ChannelConfigurator extends ApiFunction {
+ @NonNull
+ default ChannelConfigurator andThen(@Nullable ChannelConfigurator then) {
+ if (then == null) {
+ return this;
+ }
+ return b -> then.apply(this.apply(b));
+ }
+
+ static ChannelConfigurator identity() {
+ return IdentityChannelConfigurator.INSTANCE;
+ }
+
+ static ChannelConfigurator lift(
+ @Nullable ApiFunction f) {
+ if (f == null) {
+ return identity();
+ }
+ return f::apply;
+ }
+ }
+
+ @SuppressWarnings("rawtypes") // ManagedChannelBuilder
+ private static final class IdentityChannelConfigurator implements ChannelConfigurator {
+ private static final IdentityChannelConfigurator INSTANCE = new IdentityChannelConfigurator();
+
+ private IdentityChannelConfigurator() {}
+
+ @Override
+ public ManagedChannelBuilder apply(ManagedChannelBuilder input) {
+ return input;
+ }
}
@VisibleForTesting
@@ -147,24 +206,10 @@ static String getCloudMonitoringEndpoint(String endpoint, String universeDomain)
@VisibleForTesting
static SdkMeterProvider createMeterProvider(
- String metricServiceEndpoint, String projectId, boolean shouldSuppressExceptions) {
- GCPResourceProvider resourceProvider = new GCPResourceProvider();
- Attributes detectedAttributes = resourceProvider.getAttributes();
-
- String detectedProjectId = detectedAttributes.get(AttributeKey.stringKey("cloud.account.id"));
- String projectIdToUse = detectedProjectId == null ? projectId : detectedProjectId;
-
- if (!projectIdToUse.equals(projectId)) {
- log.warning(
- "The Project ID configured for metrics is "
- + projectIdToUse
- + ", but the Project ID of the storage client is "
- + projectId
- + ". Make sure that the service account in use has the required metric writing role "
- + "(roles/monitoring.metricWriter) in the project "
- + projectIdToUse
- + ", or metrics will not be written.");
- }
+ String metricServiceEndpoint,
+ String projectIdToUse,
+ Attributes detectedAttributes,
+ boolean shouldSuppressExceptions) {
MonitoredResourceDescription monitoredResourceDescription =
new MonitoredResourceDescription(
diff --git a/google-cloud-storage/src/test/java/com/google/cloud/storage/ITGrpcMetricsTest.java b/google-cloud-storage/src/test/java/com/google/cloud/storage/ITGrpcMetricsTest.java
index 4c82054ff6..e71b9077dc 100644
--- a/google-cloud-storage/src/test/java/com/google/cloud/storage/ITGrpcMetricsTest.java
+++ b/google-cloud-storage/src/test/java/com/google/cloud/storage/ITGrpcMetricsTest.java
@@ -21,6 +21,8 @@
import com.google.cloud.storage.it.runner.StorageITRunner;
import com.google.cloud.storage.it.runner.annotations.Backend;
import com.google.cloud.storage.it.runner.annotations.SingleBackend;
+import io.opentelemetry.api.common.Attributes;
+import io.opentelemetry.contrib.gcp.resource.GCPResourceProvider;
import io.opentelemetry.sdk.metrics.SdkMeterProvider;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -36,9 +38,14 @@ public void testGrpcMetrics() {
"storage.googleapis.com:443", "storage.googleapis.com"))
.isEqualTo("monitoring.googleapis.com:443");
+ GCPResourceProvider resourceProvider = new GCPResourceProvider();
+ Attributes detectedAttributes = resourceProvider.getAttributes();
SdkMeterProvider provider =
OpenTelemetryBootstrappingUtils.createMeterProvider(
- "monitoring.googleapis.com:443", grpcStorageOptions.getProjectId(), false);
+ "monitoring.googleapis.com:443",
+ grpcStorageOptions.getProjectId(),
+ detectedAttributes,
+ false);
/*
* SDKMeterProvider doesn't expose the relevant fields we want to test, but they are present in
diff --git a/google-cloud-storage/src/test/java/com/google/cloud/storage/OpenTelemetryBootstrappingUtilsTest.java b/google-cloud-storage/src/test/java/com/google/cloud/storage/OpenTelemetryBootstrappingUtilsTest.java
new file mode 100644
index 0000000000..5e93c95a98
--- /dev/null
+++ b/google-cloud-storage/src/test/java/com/google/cloud/storage/OpenTelemetryBootstrappingUtilsTest.java
@@ -0,0 +1,97 @@
+/*
+ * Copyright 2025 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.google.cloud.storage;
+
+import static com.google.common.truth.Truth.assertThat;
+import static org.junit.Assume.assumeFalse;
+import static org.mockito.Mockito.mock;
+
+import com.google.cloud.storage.OpenTelemetryBootstrappingUtils.ChannelConfigurator;
+import io.grpc.ManagedChannelBuilder;
+import java.util.concurrent.atomic.AtomicBoolean;
+import org.junit.Test;
+
+public final class OpenTelemetryBootstrappingUtilsTest {
+
+ @Test
+ public void noErrorIfNotRunningOnGcp() {
+ assumeFalse("Skipping because running on GCP", TestUtils.isOnComputeEngine());
+
+ ChannelConfigurator cc = ChannelConfigurator.identity();
+
+ String endpoint = "storage.googleapis.com:443";
+ String projectId = null;
+ String universeDomain = null;
+ ChannelConfigurator actual =
+ OpenTelemetryBootstrappingUtils.enableGrpcMetrics(
+ cc, endpoint, projectId, universeDomain, true);
+
+ assertThat(actual).isSameInstanceAs(cc);
+ }
+
+ @SuppressWarnings("rawtypes") // ManagedChannelBuilder
+ @Test
+ public void channelConfigurator_andThen() {
+ ManagedChannelBuilder b1 = mock(ManagedChannelBuilder.class, "b1");
+ ManagedChannelBuilder b2 = mock(ManagedChannelBuilder.class, "b2");
+ ManagedChannelBuilder b3 = mock(ManagedChannelBuilder.class, "b2");
+
+ ChannelConfigurator cc1 =
+ b -> {
+ assertThat(b).isSameInstanceAs(b1);
+ return b2;
+ };
+ ChannelConfigurator cc2 =
+ b -> {
+ assertThat(b).isSameInstanceAs(b2);
+ return b3;
+ };
+
+ ChannelConfigurator cc3 = cc1.andThen(cc2);
+
+ ManagedChannelBuilder apply = cc3.apply(b1);
+ assertThat(apply).isSameInstanceAs(b3);
+ }
+
+ @Test
+ public void channelConfigurator_lift_nullToIdentity() {
+ ChannelConfigurator actual = ChannelConfigurator.lift(null);
+ assertThat(actual).isSameInstanceAs(ChannelConfigurator.identity());
+ }
+
+ @SuppressWarnings("rawtypes") // ManagedChannelBuilder
+ @Test
+ public void channelConfigurator_lift_plumbingWorks() {
+ ManagedChannelBuilder b1 = mock(ManagedChannelBuilder.class, "b1");
+ AtomicBoolean called = new AtomicBoolean(false);
+ ChannelConfigurator lifted =
+ ChannelConfigurator.lift(
+ b -> {
+ called.compareAndSet(false, true);
+ return b;
+ });
+ ManagedChannelBuilder actual = lifted.apply(b1);
+ assertThat(actual).isSameInstanceAs(b1);
+ assertThat(called.get()).isTrue();
+ }
+
+ @Test
+ public void channelConfigurator_andThen_nullsafe() {
+ ChannelConfigurator actual = ChannelConfigurator.identity().andThen(null);
+ assertThat(actual).isSameInstanceAs(ChannelConfigurator.identity());
+ }
+}
From 3b53b942f31805c5291ca109b4f3e501fbc6fc0d Mon Sep 17 00:00:00 2001
From: Mend Renovate
Date: Mon, 19 May 2025 17:32:09 +0200
Subject: [PATCH 07/10] deps: update sdk-platform-java dependencies (#3102)
---
.github/workflows/hermetic_library_generation.yaml | 2 +-
.github/workflows/unmanaged_dependency_check.yaml | 2 +-
.kokoro/presubmit/graalvm-native-17.cfg | 2 +-
.kokoro/presubmit/graalvm-native-a.cfg | 2 +-
.kokoro/presubmit/graalvm-native-b.cfg | 2 +-
.kokoro/presubmit/graalvm-native-c.cfg | 2 +-
.kokoro/presubmit/graalvm-native.cfg | 2 +-
google-cloud-storage-bom/pom.xml | 2 +-
pom.xml | 2 +-
9 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/.github/workflows/hermetic_library_generation.yaml b/.github/workflows/hermetic_library_generation.yaml
index acb2753149..ea4c275a23 100644
--- a/.github/workflows/hermetic_library_generation.yaml
+++ b/.github/workflows/hermetic_library_generation.yaml
@@ -43,7 +43,7 @@ jobs:
with:
fetch-depth: 0
token: ${{ secrets.CLOUD_JAVA_BOT_TOKEN }}
- - uses: googleapis/sdk-platform-java/.github/scripts@v2.57.0
+ - uses: googleapis/sdk-platform-java/.github/scripts@v2.58.0
if: env.SHOULD_RUN == 'true'
with:
base_ref: ${{ github.base_ref }}
diff --git a/.github/workflows/unmanaged_dependency_check.yaml b/.github/workflows/unmanaged_dependency_check.yaml
index 0184514971..17daf44d4c 100644
--- a/.github/workflows/unmanaged_dependency_check.yaml
+++ b/.github/workflows/unmanaged_dependency_check.yaml
@@ -17,6 +17,6 @@ jobs:
# repository
.kokoro/build.sh
- name: Unmanaged dependency check
- uses: googleapis/sdk-platform-java/java-shared-dependencies/unmanaged-dependency-check@google-cloud-shared-dependencies/v3.47.0
+ uses: googleapis/sdk-platform-java/java-shared-dependencies/unmanaged-dependency-check@google-cloud-shared-dependencies/v3.48.0
with:
bom-path: google-cloud-storage-bom/pom.xml
diff --git a/.kokoro/presubmit/graalvm-native-17.cfg b/.kokoro/presubmit/graalvm-native-17.cfg
index 64a30e85fb..31ad4e8812 100644
--- a/.kokoro/presubmit/graalvm-native-17.cfg
+++ b/.kokoro/presubmit/graalvm-native-17.cfg
@@ -3,7 +3,7 @@
# Configure the docker image for kokoro-trampoline.
env_vars: {
key: "TRAMPOLINE_IMAGE"
- value: "gcr.io/cloud-devrel-public-resources/graalvm_sdk_platform_b:3.47.0"
+ value: "gcr.io/cloud-devrel-public-resources/graalvm_sdk_platform_b:3.48.0"
}
env_vars: {
diff --git a/.kokoro/presubmit/graalvm-native-a.cfg b/.kokoro/presubmit/graalvm-native-a.cfg
index 24e5053a5b..d72ed3f0e3 100644
--- a/.kokoro/presubmit/graalvm-native-a.cfg
+++ b/.kokoro/presubmit/graalvm-native-a.cfg
@@ -3,7 +3,7 @@
# Configure the docker image for kokoro-trampoline.
env_vars: {
key: "TRAMPOLINE_IMAGE"
- value: "gcr.io/cloud-devrel-public-resources/graalvm_sdk_platform_a:3.47.0" # {x-version-update:google-cloud-shared-dependencies:current}
+ value: "gcr.io/cloud-devrel-public-resources/graalvm_sdk_platform_a:3.48.0" # {x-version-update:google-cloud-shared-dependencies:current}
}
env_vars: {
diff --git a/.kokoro/presubmit/graalvm-native-b.cfg b/.kokoro/presubmit/graalvm-native-b.cfg
index ae35f6cb21..f2e296b847 100644
--- a/.kokoro/presubmit/graalvm-native-b.cfg
+++ b/.kokoro/presubmit/graalvm-native-b.cfg
@@ -3,7 +3,7 @@
# Configure the docker image for kokoro-trampoline.
env_vars: {
key: "TRAMPOLINE_IMAGE"
- value: "gcr.io/cloud-devrel-public-resources/graalvm_sdk_platform_b:3.47.0" # {x-version-update:google-cloud-shared-dependencies:current}
+ value: "gcr.io/cloud-devrel-public-resources/graalvm_sdk_platform_b:3.48.0" # {x-version-update:google-cloud-shared-dependencies:current}
}
env_vars: {
diff --git a/.kokoro/presubmit/graalvm-native-c.cfg b/.kokoro/presubmit/graalvm-native-c.cfg
index 660f1ee7ea..68512fbff5 100644
--- a/.kokoro/presubmit/graalvm-native-c.cfg
+++ b/.kokoro/presubmit/graalvm-native-c.cfg
@@ -3,7 +3,7 @@
# Configure the docker image for kokoro-trampoline.
env_vars: {
key: "TRAMPOLINE_IMAGE"
- value: "gcr.io/cloud-devrel-public-resources/graalvm_sdk_platform_c:3.47.0" # {x-version-update:google-cloud-shared-dependencies:current}
+ value: "gcr.io/cloud-devrel-public-resources/graalvm_sdk_platform_c:3.48.0" # {x-version-update:google-cloud-shared-dependencies:current}
}
env_vars: {
diff --git a/.kokoro/presubmit/graalvm-native.cfg b/.kokoro/presubmit/graalvm-native.cfg
index 27bca566d5..72d1a92f99 100644
--- a/.kokoro/presubmit/graalvm-native.cfg
+++ b/.kokoro/presubmit/graalvm-native.cfg
@@ -3,7 +3,7 @@
# Configure the docker image for kokoro-trampoline.
env_vars: {
key: "TRAMPOLINE_IMAGE"
- value: "gcr.io/cloud-devrel-public-resources/graalvm_sdk_platform_a:3.47.0"
+ value: "gcr.io/cloud-devrel-public-resources/graalvm_sdk_platform_a:3.48.0"
}
env_vars: {
diff --git a/google-cloud-storage-bom/pom.xml b/google-cloud-storage-bom/pom.xml
index 8fb43dcdae..f457880b5c 100644
--- a/google-cloud-storage-bom/pom.xml
+++ b/google-cloud-storage-bom/pom.xml
@@ -24,7 +24,7 @@
com.google.cloud
sdk-platform-java-config
- 3.47.0
+ 3.48.0
diff --git a/pom.xml b/pom.xml
index 3fdea59cbb..42d918084d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -14,7 +14,7 @@
com.google.cloud
sdk-platform-java-config
- 3.47.0
+ 3.48.0
From 1fd109094814bfb6270e10a3e4fd5ec4d20e7fba Mon Sep 17 00:00:00 2001
From: Mend Renovate
Date: Mon, 19 May 2025 17:41:11 +0200
Subject: [PATCH 08/10] deps: update dependency
com.google.apis:google-api-services-storage to v1-rev20250509-2.0.0 (#3103)
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index 42d918084d..4b85fce185 100644
--- a/pom.xml
+++ b/pom.xml
@@ -87,7 +87,7 @@
com.google.apis
google-api-services-storage
- v1-rev20250424-2.0.0
+ v1-rev20250509-2.0.0
com.google.cloud
From a451ab2a167734c06c367be7a557828c5675bc3d Mon Sep 17 00:00:00 2001
From: BenWhitehead
Date: Mon, 19 May 2025 13:12:22 -0400
Subject: [PATCH 09/10] test: update error message classifier for rapid bucket
creation failure (#3106)
---
.../cloud/storage/it/runner/registry/BucketInfoShim.java | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/google-cloud-storage/src/test/java/com/google/cloud/storage/it/runner/registry/BucketInfoShim.java b/google-cloud-storage/src/test/java/com/google/cloud/storage/it/runner/registry/BucketInfoShim.java
index e6ecb75a26..96fbd57ed9 100644
--- a/google-cloud-storage/src/test/java/com/google/cloud/storage/it/runner/registry/BucketInfoShim.java
+++ b/google-cloud-storage/src/test/java/com/google/cloud/storage/it/runner/registry/BucketInfoShim.java
@@ -54,7 +54,8 @@ public void start() {
createdBucket = s.create(bucketInfo).asBucketInfo();
} catch (StorageException se) {
String msg = se.getMessage();
- if (se.getCode() == 400 && msg.contains("not a valid zone in location")) {
+ if (se.getCode() == 400 && (msg.contains("not a valid zone in location"))
+ || msg.contains("custom placement config")) {
assumeTrue(
"Skipping test due to bucket setup unavailable in current zone. (" + msg + ")", false);
}
From 59896f562258a60125f7464ee69c7918d7be872b Mon Sep 17 00:00:00 2001
From: "release-please[bot]"
<55107282+release-please[bot]@users.noreply.github.com>
Date: Mon, 19 May 2025 13:19:14 -0400
Subject: [PATCH 10/10] chore(main): release 2.52.3 (#3098)
Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
---
CHANGELOG.md | 13 +++++++++++++
gapic-google-cloud-storage-v2/pom.xml | 4 ++--
google-cloud-storage-bom/pom.xml | 16 ++++++++--------
google-cloud-storage-control/pom.xml | 4 ++--
google-cloud-storage/pom.xml | 4 ++--
grpc-google-cloud-storage-control-v2/pom.xml | 4 ++--
grpc-google-cloud-storage-v2/pom.xml | 4 ++--
pom.xml | 16 ++++++++--------
proto-google-cloud-storage-control-v2/pom.xml | 4 ++--
proto-google-cloud-storage-v2/pom.xml | 4 ++--
samples/snapshot/pom.xml | 6 +++---
storage-shared-benchmarking/pom.xml | 4 ++--
versions.txt | 14 +++++++-------
13 files changed, 55 insertions(+), 42 deletions(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 6bc64a895a..c156efc1da 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,18 @@
# Changelog
+## [2.52.3](https://github.com/googleapis/java-storage/compare/v2.52.2...v2.52.3) (2025-05-19)
+
+
+### Bug Fixes
+
+* Update grpc client side metrics detection to be graceful when not running on gcp ([#3097](https://github.com/googleapis/java-storage/issues/3097)) ([10cd32d](https://github.com/googleapis/java-storage/commit/10cd32d51aa061304b5b4d0d632a2eed694cd1d6))
+
+
+### Dependencies
+
+* Update dependency com.google.apis:google-api-services-storage to v1-rev20250509-2.0.0 ([#3103](https://github.com/googleapis/java-storage/issues/3103)) ([1fd1090](https://github.com/googleapis/java-storage/commit/1fd109094814bfb6270e10a3e4fd5ec4d20e7fba))
+* Update sdk-platform-java dependencies ([#3102](https://github.com/googleapis/java-storage/issues/3102)) ([3b53b94](https://github.com/googleapis/java-storage/commit/3b53b942f31805c5291ca109b4f3e501fbc6fc0d))
+
## [2.52.2](https://github.com/googleapis/java-storage/compare/v2.52.1...v2.52.2) (2025-05-06)
diff --git a/gapic-google-cloud-storage-v2/pom.xml b/gapic-google-cloud-storage-v2/pom.xml
index 50e9a768a6..8b03e777fc 100644
--- a/gapic-google-cloud-storage-v2/pom.xml
+++ b/gapic-google-cloud-storage-v2/pom.xml
@@ -4,13 +4,13 @@
4.0.0
com.google.api.grpc
gapic-google-cloud-storage-v2
- 2.52.3-SNAPSHOT
+ 2.52.3
gapic-google-cloud-storage-v2
GRPC library for gapic-google-cloud-storage-v2
com.google.cloud
google-cloud-storage-parent
- 2.52.3-SNAPSHOT
+ 2.52.3
diff --git a/google-cloud-storage-bom/pom.xml b/google-cloud-storage-bom/pom.xml
index f457880b5c..90849cc68a 100644
--- a/google-cloud-storage-bom/pom.xml
+++ b/google-cloud-storage-bom/pom.xml
@@ -19,7 +19,7 @@
4.0.0
com.google.cloud
google-cloud-storage-bom
- 2.52.3-SNAPSHOT
+ 2.52.3
pom
com.google.cloud
@@ -69,37 +69,37 @@
com.google.cloud
google-cloud-storage
- 2.52.3-SNAPSHOT
+ 2.52.3
com.google.api.grpc
gapic-google-cloud-storage-v2
- 2.52.3-SNAPSHOT
+ 2.52.3
com.google.api.grpc
grpc-google-cloud-storage-v2
- 2.52.3-SNAPSHOT
+ 2.52.3
com.google.api.grpc
proto-google-cloud-storage-v2
- 2.52.3-SNAPSHOT
+ 2.52.3
com.google.cloud
google-cloud-storage-control
- 2.52.3-SNAPSHOT
+ 2.52.3
com.google.api.grpc
grpc-google-cloud-storage-control-v2
- 2.52.3-SNAPSHOT
+ 2.52.3
com.google.api.grpc
proto-google-cloud-storage-control-v2
- 2.52.3-SNAPSHOT
+ 2.52.3
diff --git a/google-cloud-storage-control/pom.xml b/google-cloud-storage-control/pom.xml
index 265d580074..c900ffebdf 100644
--- a/google-cloud-storage-control/pom.xml
+++ b/google-cloud-storage-control/pom.xml
@@ -5,13 +5,13 @@
4.0.0
com.google.cloud
google-cloud-storage-control
- 2.52.3-SNAPSHOT
+ 2.52.3
google-cloud-storage-control
GRPC library for google-cloud-storage-control
com.google.cloud
google-cloud-storage-parent
- 2.52.3-SNAPSHOT
+ 2.52.3
diff --git a/google-cloud-storage/pom.xml b/google-cloud-storage/pom.xml
index f18ec00a65..072333f422 100644
--- a/google-cloud-storage/pom.xml
+++ b/google-cloud-storage/pom.xml
@@ -2,7 +2,7 @@
4.0.0
google-cloud-storage
- 2.52.3-SNAPSHOT
+ 2.52.3
jar
Google Cloud Storage
https://github.com/googleapis/java-storage
@@ -12,7 +12,7 @@
com.google.cloud
google-cloud-storage-parent
- 2.52.3-SNAPSHOT
+ 2.52.3
google-cloud-storage
diff --git a/grpc-google-cloud-storage-control-v2/pom.xml b/grpc-google-cloud-storage-control-v2/pom.xml
index 46e0b834d3..0f9902988d 100644
--- a/grpc-google-cloud-storage-control-v2/pom.xml
+++ b/grpc-google-cloud-storage-control-v2/pom.xml
@@ -4,13 +4,13 @@
4.0.0
com.google.api.grpc
grpc-google-cloud-storage-control-v2
- 2.52.3-SNAPSHOT
+ 2.52.3
grpc-google-cloud-storage-control-v2
GRPC library for google-cloud-storage
com.google.cloud
google-cloud-storage-parent
- 2.52.3-SNAPSHOT
+ 2.52.3
diff --git a/grpc-google-cloud-storage-v2/pom.xml b/grpc-google-cloud-storage-v2/pom.xml
index 7d39c62c9e..a8e15cd49f 100644
--- a/grpc-google-cloud-storage-v2/pom.xml
+++ b/grpc-google-cloud-storage-v2/pom.xml
@@ -4,13 +4,13 @@
4.0.0
com.google.api.grpc
grpc-google-cloud-storage-v2
- 2.52.3-SNAPSHOT
+ 2.52.3
grpc-google-cloud-storage-v2
GRPC library for grpc-google-cloud-storage-v2
com.google.cloud
google-cloud-storage-parent
- 2.52.3-SNAPSHOT
+ 2.52.3
diff --git a/pom.xml b/pom.xml
index 4b85fce185..7f85bcb5d1 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,7 +4,7 @@
com.google.cloud
google-cloud-storage-parent
pom
- 2.52.3-SNAPSHOT
+ 2.52.3
Storage Parent
https://github.com/googleapis/java-storage
@@ -82,7 +82,7 @@
com.google.cloud
google-cloud-storage
- 2.52.3-SNAPSHOT
+ 2.52.3
com.google.apis
@@ -104,32 +104,32 @@
com.google.api.grpc
proto-google-cloud-storage-v2
- 2.52.3-SNAPSHOT
+ 2.52.3
com.google.api.grpc
grpc-google-cloud-storage-v2
- 2.52.3-SNAPSHOT
+ 2.52.3
com.google.api.grpc
gapic-google-cloud-storage-v2
- 2.52.3-SNAPSHOT
+ 2.52.3
com.google.api.grpc
grpc-google-cloud-storage-control-v2
- 2.52.3-SNAPSHOT
+ 2.52.3
com.google.api.grpc
proto-google-cloud-storage-control-v2
- 2.52.3-SNAPSHOT
+ 2.52.3
com.google.cloud
google-cloud-storage-control
- 2.52.3-SNAPSHOT
+ 2.52.3
com.google.cloud
diff --git a/proto-google-cloud-storage-control-v2/pom.xml b/proto-google-cloud-storage-control-v2/pom.xml
index 8e08e538b2..993f3f4849 100644
--- a/proto-google-cloud-storage-control-v2/pom.xml
+++ b/proto-google-cloud-storage-control-v2/pom.xml
@@ -4,13 +4,13 @@
4.0.0
com.google.api.grpc
proto-google-cloud-storage-control-v2
- 2.52.3-SNAPSHOT
+ 2.52.3
proto-google-cloud-storage-control-v2
Proto library for proto-google-cloud-storage-control-v2
com.google.cloud
google-cloud-storage-parent
- 2.52.3-SNAPSHOT
+ 2.52.3
diff --git a/proto-google-cloud-storage-v2/pom.xml b/proto-google-cloud-storage-v2/pom.xml
index 3db23defed..43c5ed9c02 100644
--- a/proto-google-cloud-storage-v2/pom.xml
+++ b/proto-google-cloud-storage-v2/pom.xml
@@ -4,13 +4,13 @@
4.0.0
com.google.api.grpc
proto-google-cloud-storage-v2
- 2.52.3-SNAPSHOT
+ 2.52.3
proto-google-cloud-storage-v2
PROTO library for proto-google-cloud-storage-v2
com.google.cloud
google-cloud-storage-parent
- 2.52.3-SNAPSHOT
+ 2.52.3
diff --git a/samples/snapshot/pom.xml b/samples/snapshot/pom.xml
index fd3ba86020..20796494fb 100644
--- a/samples/snapshot/pom.xml
+++ b/samples/snapshot/pom.xml
@@ -28,12 +28,12 @@
com.google.cloud
google-cloud-storage
- 2.52.3-SNAPSHOT
+ 2.52.3
com.google.cloud
google-cloud-storage-control
- 2.52.3-SNAPSHOT
+ 2.52.3
compile
@@ -64,7 +64,7 @@
com.google.cloud
google-cloud-storage
- 2.52.3-SNAPSHOT
+ 2.52.3
tests
test
diff --git a/storage-shared-benchmarking/pom.xml b/storage-shared-benchmarking/pom.xml
index 8f5a2f924d..1fde6135ae 100644
--- a/storage-shared-benchmarking/pom.xml
+++ b/storage-shared-benchmarking/pom.xml
@@ -10,7 +10,7 @@
com.google.cloud
google-cloud-storage-parent
- 2.52.3-SNAPSHOT
+ 2.52.3
@@ -31,7 +31,7 @@
com.google.cloud
google-cloud-storage
- 2.52.3-SNAPSHOT
+ 2.52.3
tests
diff --git a/versions.txt b/versions.txt
index 6bb5cdd33b..869aca8d55 100644
--- a/versions.txt
+++ b/versions.txt
@@ -1,10 +1,10 @@
# Format:
# module:released-version:current-version
-google-cloud-storage:2.52.2:2.52.3-SNAPSHOT
-gapic-google-cloud-storage-v2:2.52.2:2.52.3-SNAPSHOT
-grpc-google-cloud-storage-v2:2.52.2:2.52.3-SNAPSHOT
-proto-google-cloud-storage-v2:2.52.2:2.52.3-SNAPSHOT
-google-cloud-storage-control:2.52.2:2.52.3-SNAPSHOT
-proto-google-cloud-storage-control-v2:2.52.2:2.52.3-SNAPSHOT
-grpc-google-cloud-storage-control-v2:2.52.2:2.52.3-SNAPSHOT
+google-cloud-storage:2.52.3:2.52.3
+gapic-google-cloud-storage-v2:2.52.3:2.52.3
+grpc-google-cloud-storage-v2:2.52.3:2.52.3
+proto-google-cloud-storage-v2:2.52.3:2.52.3
+google-cloud-storage-control:2.52.3:2.52.3
+proto-google-cloud-storage-control-v2:2.52.3:2.52.3
+grpc-google-cloud-storage-control-v2:2.52.3:2.52.3