From 05eb879f97edbf88a59e384a210da636dda5b411 Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Thu, 12 Oct 2023 20:00:23 +0000 Subject: [PATCH 01/14] chore(main): release 2.28.1-SNAPSHOT (#1957) :robot: I have created a release *beep* *boop* --- ### Updating meta-information for bleeding-edge SNAPSHOT release. --- This PR was generated with [Release Please](https://togithub.com/googleapis/release-please). See [documentation](https://togithub.com/googleapis/release-please#release-please). --- google-cloud-bigtable-bom/pom.xml | 18 +++++++++--------- google-cloud-bigtable-deps-bom/pom.xml | 2 +- google-cloud-bigtable-emulator-core/pom.xml | 4 ++-- google-cloud-bigtable-emulator/pom.xml | 10 +++++----- google-cloud-bigtable-stats/pom.xml | 6 +++--- google-cloud-bigtable/pom.xml | 10 +++++----- .../com/google/cloud/bigtable/Version.java | 2 +- grpc-google-cloud-bigtable-admin-v2/pom.xml | 8 ++++---- grpc-google-cloud-bigtable-v2/pom.xml | 8 ++++---- pom.xml | 12 ++++++------ proto-google-cloud-bigtable-admin-v2/pom.xml | 8 ++++---- proto-google-cloud-bigtable-v2/pom.xml | 8 ++++---- samples/snapshot/pom.xml | 2 +- test-proxy/pom.xml | 4 ++-- versions.txt | 14 +++++++------- 15 files changed, 58 insertions(+), 58 deletions(-) diff --git a/google-cloud-bigtable-bom/pom.xml b/google-cloud-bigtable-bom/pom.xml index a239f1b80e..28b32cd8f2 100644 --- a/google-cloud-bigtable-bom/pom.xml +++ b/google-cloud-bigtable-bom/pom.xml @@ -3,7 +3,7 @@ 4.0.0 com.google.cloud google-cloud-bigtable-bom - 2.28.0 + 2.28.1-SNAPSHOT pom com.google.cloud @@ -63,42 +63,42 @@ com.google.cloud google-cloud-bigtable - 2.28.0 + 2.28.1-SNAPSHOT com.google.cloud google-cloud-bigtable-emulator - 0.165.0 + 0.165.1-SNAPSHOT com.google.cloud google-cloud-bigtable-emulator-core - 0.165.0 + 0.165.1-SNAPSHOT com.google.api.grpc grpc-google-cloud-bigtable-admin-v2 - 2.28.0 + 2.28.1-SNAPSHOT com.google.api.grpc grpc-google-cloud-bigtable-v2 - 2.28.0 + 2.28.1-SNAPSHOT com.google.api.grpc proto-google-cloud-bigtable-admin-v2 - 2.28.0 + 2.28.1-SNAPSHOT com.google.api.grpc proto-google-cloud-bigtable-v2 - 2.28.0 + 2.28.1-SNAPSHOT com.google.cloud google-cloud-bigtable-stats - 2.28.0 + 2.28.1-SNAPSHOT diff --git a/google-cloud-bigtable-deps-bom/pom.xml b/google-cloud-bigtable-deps-bom/pom.xml index f5776d1f6c..2bb33db327 100644 --- a/google-cloud-bigtable-deps-bom/pom.xml +++ b/google-cloud-bigtable-deps-bom/pom.xml @@ -13,7 +13,7 @@ com.google.cloud google-cloud-bigtable-deps-bom - 2.28.0 + 2.28.1-SNAPSHOT pom diff --git a/google-cloud-bigtable-emulator-core/pom.xml b/google-cloud-bigtable-emulator-core/pom.xml index 8e0ff51ae4..763b17644a 100644 --- a/google-cloud-bigtable-emulator-core/pom.xml +++ b/google-cloud-bigtable-emulator-core/pom.xml @@ -7,11 +7,11 @@ google-cloud-bigtable-parent com.google.cloud - 2.28.0 + 2.28.1-SNAPSHOT google-cloud-bigtable-emulator-core - 0.165.0 + 0.165.1-SNAPSHOT A Java wrapper for the Cloud Bigtable emulator. diff --git a/google-cloud-bigtable-emulator/pom.xml b/google-cloud-bigtable-emulator/pom.xml index f2635f7081..61902b4c25 100644 --- a/google-cloud-bigtable-emulator/pom.xml +++ b/google-cloud-bigtable-emulator/pom.xml @@ -5,7 +5,7 @@ 4.0.0 google-cloud-bigtable-emulator - 0.165.0 + 0.165.1-SNAPSHOT Google Cloud Java - Bigtable Emulator https://github.com/googleapis/java-bigtable @@ -14,7 +14,7 @@ com.google.cloud google-cloud-bigtable-parent - 2.28.0 + 2.28.1-SNAPSHOT scm:git:git@github.com:googleapis/java-bigtable.git @@ -81,14 +81,14 @@ com.google.cloud google-cloud-bigtable-deps-bom - 2.28.0 + 2.28.1-SNAPSHOT pom import com.google.cloud google-cloud-bigtable-bom - 2.28.0 + 2.28.1-SNAPSHOT pom import @@ -99,7 +99,7 @@ com.google.cloud google-cloud-bigtable-emulator-core - 0.165.0 + 0.165.1-SNAPSHOT diff --git a/google-cloud-bigtable-stats/pom.xml b/google-cloud-bigtable-stats/pom.xml index efb3cbd0d5..eea8bb50a3 100644 --- a/google-cloud-bigtable-stats/pom.xml +++ b/google-cloud-bigtable-stats/pom.xml @@ -5,7 +5,7 @@ com.google.cloud google-cloud-bigtable-parent - 2.28.0 + 2.28.1-SNAPSHOT 4.0.0 @@ -13,7 +13,7 @@ through Stackdriver. Built-in metrics will be implemented with shaded OpenCensus so it won't interfere with customer's application metrics. --> google-cloud-bigtable-stats - 2.28.0 + 2.28.1-SNAPSHOT Experimental project to shade OpenCensus dependencies. @@ -21,7 +21,7 @@ com.google.cloud google-cloud-bigtable-deps-bom - 2.28.0 + 2.28.1-SNAPSHOT pom import diff --git a/google-cloud-bigtable/pom.xml b/google-cloud-bigtable/pom.xml index 6262f55527..00049be30e 100644 --- a/google-cloud-bigtable/pom.xml +++ b/google-cloud-bigtable/pom.xml @@ -2,7 +2,7 @@ 4.0.0 google-cloud-bigtable - 2.28.0 + 2.28.1-SNAPSHOT jar Google Cloud Bigtable https://github.com/googleapis/java-bigtable @@ -12,11 +12,11 @@ com.google.cloud google-cloud-bigtable-parent - 2.28.0 + 2.28.1-SNAPSHOT - 2.28.0 + 2.28.1-SNAPSHOT google-cloud-bigtable @@ -47,14 +47,14 @@ com.google.cloud google-cloud-bigtable-deps-bom - 2.28.0 + 2.28.1-SNAPSHOT pom import com.google.cloud google-cloud-bigtable-bom - 2.28.0 + 2.28.1-SNAPSHOT pom import diff --git a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/Version.java b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/Version.java index 1c76ff7760..9eb45cb08c 100644 --- a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/Version.java +++ b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/Version.java @@ -20,6 +20,6 @@ @InternalApi("For internal use only") public final class Version { // {x-version-update-start:google-cloud-bigtable:current} - public static String VERSION = "2.28.0"; + public static String VERSION = "2.28.1-SNAPSHOT"; // {x-version-update-end} } diff --git a/grpc-google-cloud-bigtable-admin-v2/pom.xml b/grpc-google-cloud-bigtable-admin-v2/pom.xml index 0620391c7b..26af993a1d 100644 --- a/grpc-google-cloud-bigtable-admin-v2/pom.xml +++ b/grpc-google-cloud-bigtable-admin-v2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-bigtable-admin-v2 - 2.28.0 + 2.28.1-SNAPSHOT grpc-google-cloud-bigtable-admin-v2 GRPC library for grpc-google-cloud-bigtable-admin-v2 com.google.cloud google-cloud-bigtable-parent - 2.28.0 + 2.28.1-SNAPSHOT @@ -18,14 +18,14 @@ com.google.cloud google-cloud-bigtable-deps-bom - 2.28.0 + 2.28.1-SNAPSHOT pom import com.google.cloud google-cloud-bigtable-bom - 2.28.0 + 2.28.1-SNAPSHOT pom import diff --git a/grpc-google-cloud-bigtable-v2/pom.xml b/grpc-google-cloud-bigtable-v2/pom.xml index 6b05cb9936..eb874aa85b 100644 --- a/grpc-google-cloud-bigtable-v2/pom.xml +++ b/grpc-google-cloud-bigtable-v2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-bigtable-v2 - 2.28.0 + 2.28.1-SNAPSHOT grpc-google-cloud-bigtable-v2 GRPC library for grpc-google-cloud-bigtable-v2 com.google.cloud google-cloud-bigtable-parent - 2.28.0 + 2.28.1-SNAPSHOT @@ -18,14 +18,14 @@ com.google.cloud google-cloud-bigtable-deps-bom - 2.28.0 + 2.28.1-SNAPSHOT pom import com.google.cloud google-cloud-bigtable-bom - 2.28.0 + 2.28.1-SNAPSHOT pom import diff --git a/pom.xml b/pom.xml index 8074231b79..f22b85af78 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ google-cloud-bigtable-parent pom - 2.28.0 + 2.28.1-SNAPSHOT Google Cloud Bigtable Parent https://github.com/googleapis/java-bigtable @@ -153,27 +153,27 @@ com.google.api.grpc proto-google-cloud-bigtable-v2 - 2.28.0 + 2.28.1-SNAPSHOT com.google.api.grpc proto-google-cloud-bigtable-admin-v2 - 2.28.0 + 2.28.1-SNAPSHOT com.google.api.grpc grpc-google-cloud-bigtable-v2 - 2.28.0 + 2.28.1-SNAPSHOT com.google.api.grpc grpc-google-cloud-bigtable-admin-v2 - 2.28.0 + 2.28.1-SNAPSHOT com.google.cloud google-cloud-bigtable - 2.28.0 + 2.28.1-SNAPSHOT diff --git a/proto-google-cloud-bigtable-admin-v2/pom.xml b/proto-google-cloud-bigtable-admin-v2/pom.xml index 3274c78dd8..1936b4d442 100644 --- a/proto-google-cloud-bigtable-admin-v2/pom.xml +++ b/proto-google-cloud-bigtable-admin-v2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-bigtable-admin-v2 - 2.28.0 + 2.28.1-SNAPSHOT proto-google-cloud-bigtable-admin-v2 PROTO library for proto-google-cloud-bigtable-admin-v2 com.google.cloud google-cloud-bigtable-parent - 2.28.0 + 2.28.1-SNAPSHOT @@ -18,14 +18,14 @@ com.google.cloud google-cloud-bigtable-deps-bom - 2.28.0 + 2.28.1-SNAPSHOT pom import com.google.cloud google-cloud-bigtable-bom - 2.28.0 + 2.28.1-SNAPSHOT pom import diff --git a/proto-google-cloud-bigtable-v2/pom.xml b/proto-google-cloud-bigtable-v2/pom.xml index 7346bb627d..a67372c14b 100644 --- a/proto-google-cloud-bigtable-v2/pom.xml +++ b/proto-google-cloud-bigtable-v2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-bigtable-v2 - 2.28.0 + 2.28.1-SNAPSHOT proto-google-cloud-bigtable-v2 PROTO library for proto-google-cloud-bigtable-v2 com.google.cloud google-cloud-bigtable-parent - 2.28.0 + 2.28.1-SNAPSHOT @@ -18,14 +18,14 @@ com.google.cloud google-cloud-bigtable-deps-bom - 2.28.0 + 2.28.1-SNAPSHOT pom import com.google.cloud google-cloud-bigtable-bom - 2.28.0 + 2.28.1-SNAPSHOT pom import diff --git a/samples/snapshot/pom.xml b/samples/snapshot/pom.xml index fdeab1523c..f59ec028aa 100644 --- a/samples/snapshot/pom.xml +++ b/samples/snapshot/pom.xml @@ -28,7 +28,7 @@ com.google.cloud google-cloud-bigtable - 2.28.0 + 2.28.1-SNAPSHOT diff --git a/test-proxy/pom.xml b/test-proxy/pom.xml index 88e7253c99..8af2d7ed0a 100644 --- a/test-proxy/pom.xml +++ b/test-proxy/pom.xml @@ -12,11 +12,11 @@ google-cloud-bigtable-parent com.google.cloud - 2.28.0 + 2.28.1-SNAPSHOT - 2.28.0 + 2.28.1-SNAPSHOT diff --git a/versions.txt b/versions.txt index f919276831..c354293402 100644 --- a/versions.txt +++ b/versions.txt @@ -1,10 +1,10 @@ # Format: # module:released-version:current-version -google-cloud-bigtable:2.28.0:2.28.0 -grpc-google-cloud-bigtable-admin-v2:2.28.0:2.28.0 -grpc-google-cloud-bigtable-v2:2.28.0:2.28.0 -proto-google-cloud-bigtable-admin-v2:2.28.0:2.28.0 -proto-google-cloud-bigtable-v2:2.28.0:2.28.0 -google-cloud-bigtable-emulator:0.165.0:0.165.0 -google-cloud-bigtable-emulator-core:0.165.0:0.165.0 +google-cloud-bigtable:2.28.0:2.28.1-SNAPSHOT +grpc-google-cloud-bigtable-admin-v2:2.28.0:2.28.1-SNAPSHOT +grpc-google-cloud-bigtable-v2:2.28.0:2.28.1-SNAPSHOT +proto-google-cloud-bigtable-admin-v2:2.28.0:2.28.1-SNAPSHOT +proto-google-cloud-bigtable-v2:2.28.0:2.28.1-SNAPSHOT +google-cloud-bigtable-emulator:0.165.0:0.165.1-SNAPSHOT +google-cloud-bigtable-emulator-core:0.165.0:0.165.1-SNAPSHOT From fe4b6bc89cffd5e3c80eb0a1c26d59c360526b27 Mon Sep 17 00:00:00 2001 From: Mend Renovate Date: Thu, 12 Oct 2023 22:36:43 +0200 Subject: [PATCH 02/14] chore(deps): update dependency com.google.cloud:google-cloud-bigtable to v2.28.0 (#1958) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * chore(deps): update dependency com.google.cloud:google-cloud-bigtable to v2.28.0 * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md --------- Co-authored-by: Owl Bot --- README.md | 8 ++++---- samples/install-without-bom/pom.xml | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 195f6971b4..0f12ce4ec0 100644 --- a/README.md +++ b/README.md @@ -42,7 +42,7 @@ If you are using Maven without the BOM, add this to your dependencies: com.google.cloud google-cloud-bigtable - 2.27.4 + 2.28.0 ``` @@ -57,13 +57,13 @@ implementation 'com.google.cloud:google-cloud-bigtable' If you are using Gradle without BOM, add this to your dependencies: ```Groovy -implementation 'com.google.cloud:google-cloud-bigtable:2.27.4' +implementation 'com.google.cloud:google-cloud-bigtable:2.28.0' ``` If you are using SBT, add this to your dependencies: ```Scala -libraryDependencies += "com.google.cloud" % "google-cloud-bigtable" % "2.27.4" +libraryDependencies += "com.google.cloud" % "google-cloud-bigtable" % "2.28.0" ``` @@ -609,7 +609,7 @@ Java is a registered trademark of Oracle and/or its affiliates. [kokoro-badge-link-5]: http://storage.googleapis.com/cloud-devrel-public/java/badges/java-bigtable/java11.html [stability-image]: https://img.shields.io/badge/stability-stable-green [maven-version-image]: https://img.shields.io/maven-central/v/com.google.cloud/google-cloud-bigtable.svg -[maven-version-link]: https://central.sonatype.com/artifact/com.google.cloud/google-cloud-bigtable/2.27.4 +[maven-version-link]: https://central.sonatype.com/artifact/com.google.cloud/google-cloud-bigtable/2.28.0 [authentication]: https://github.com/googleapis/google-cloud-java#authentication [auth-scopes]: https://developers.google.com/identity/protocols/oauth2/scopes [predefined-iam-roles]: https://cloud.google.com/iam/docs/understanding-roles#predefined_roles diff --git a/samples/install-without-bom/pom.xml b/samples/install-without-bom/pom.xml index 79623f3203..c3f1c420d6 100644 --- a/samples/install-without-bom/pom.xml +++ b/samples/install-without-bom/pom.xml @@ -29,7 +29,7 @@ com.google.cloud google-cloud-bigtable - 2.27.4 + 2.28.0 From 4917c7bade8b90e52e7916d61f93fb478fc86ed4 Mon Sep 17 00:00:00 2001 From: Mend Renovate Date: Wed, 18 Oct 2023 16:34:31 +0200 Subject: [PATCH 03/14] build(deps): update dependency com.google.cloud:google-cloud-shared-config to v1.6.0 (#1961) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * build(deps): update dependency com.google.cloud:google-cloud-shared-config to v1.6.0 * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md --------- Co-authored-by: Owl Bot --- README.md | 2 +- google-cloud-bigtable-bom/pom.xml | 2 +- google-cloud-bigtable-deps-bom/pom.xml | 2 +- pom.xml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 0f12ce4ec0..cb0b123e22 100644 --- a/README.md +++ b/README.md @@ -50,7 +50,7 @@ If you are using Maven without the BOM, add this to your dependencies: If you are using Gradle 5.x or later, add this to your dependencies: ```Groovy -implementation platform('com.google.cloud:libraries-bom:26.24.0') +implementation platform('com.google.cloud:libraries-bom:26.25.0') implementation 'com.google.cloud:google-cloud-bigtable' ``` diff --git a/google-cloud-bigtable-bom/pom.xml b/google-cloud-bigtable-bom/pom.xml index 28b32cd8f2..3f0fa38fe5 100644 --- a/google-cloud-bigtable-bom/pom.xml +++ b/google-cloud-bigtable-bom/pom.xml @@ -8,7 +8,7 @@ com.google.cloud google-cloud-shared-config - 1.5.8 + 1.6.0 diff --git a/google-cloud-bigtable-deps-bom/pom.xml b/google-cloud-bigtable-deps-bom/pom.xml index 2bb33db327..e65f77d4ff 100644 --- a/google-cloud-bigtable-deps-bom/pom.xml +++ b/google-cloud-bigtable-deps-bom/pom.xml @@ -7,7 +7,7 @@ com.google.cloud google-cloud-shared-config - 1.5.8 + 1.6.0 diff --git a/pom.xml b/pom.xml index f22b85af78..f80106e0c9 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ com.google.cloud google-cloud-shared-config - 1.5.8 + 1.6.0 From 2510c920f44505926285fc86206ea46d2a8b1371 Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Wed, 18 Oct 2023 13:53:27 -0400 Subject: [PATCH 04/14] chore: track customization in templates (#1876) (#1960) Source-Link: https://github.com/googleapis/synthtool/commit/a79241941a00783e0da86853c455e899567c3ccb Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-java:latest@sha256:d0a8eb7ffc63ddce4c63191373d6e99d5385516423c396de207dedf2b6db7427 Co-authored-by: Owl Bot --- .github/.OwlBot.lock.yaml | 4 ++-- .kokoro/nightly/java11-integration.cfg | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/.OwlBot.lock.yaml b/.github/.OwlBot.lock.yaml index 11fe20466f..cd91b662b9 100644 --- a/.github/.OwlBot.lock.yaml +++ b/.github/.OwlBot.lock.yaml @@ -13,5 +13,5 @@ # limitations under the License. docker: image: gcr.io/cloud-devrel-public-resources/owlbot-java:latest - digest: sha256:6e2fc7eba84c3100cde964ebcfd0e553d4664ec4a74989c978a143812785ff23 -# created: 2023-10-03T23:18:35.620358763Z + digest: sha256:d0a8eb7ffc63ddce4c63191373d6e99d5385516423c396de207dedf2b6db7427 +# created: 2023-10-17T17:33:29.360983119Z diff --git a/.kokoro/nightly/java11-integration.cfg b/.kokoro/nightly/java11-integration.cfg index 58049cc38f..6a6ef94eff 100644 --- a/.kokoro/nightly/java11-integration.cfg +++ b/.kokoro/nightly/java11-integration.cfg @@ -35,3 +35,4 @@ env_vars: { key: "SECRET_MANAGER_KEYS" value: "java-it-service-account" } + From 117e0ec546343798cbc69eb23fef539de0b8bb8d Mon Sep 17 00:00:00 2001 From: Mend Renovate Date: Fri, 20 Oct 2023 20:11:27 +0200 Subject: [PATCH 05/14] deps: update dependency org.graalvm.buildtools:native-maven-plugin to v0.9.28 (#1967) --- samples/native-image-sample/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/samples/native-image-sample/pom.xml b/samples/native-image-sample/pom.xml index e5c7a774b9..34515df464 100644 --- a/samples/native-image-sample/pom.xml +++ b/samples/native-image-sample/pom.xml @@ -99,7 +99,7 @@ org.graalvm.buildtools native-maven-plugin - 0.9.27 + 0.9.28 true com.example.bigtable.NativeImageBigtableSample From 8fb09e53a3d85273578ba26c522931047b249333 Mon Sep 17 00:00:00 2001 From: Mend Renovate Date: Fri, 20 Oct 2023 20:11:44 +0200 Subject: [PATCH 06/14] deps: update dependency org.graalvm.buildtools:junit-platform-native to v0.9.28 (#1966) --- samples/native-image-sample/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/samples/native-image-sample/pom.xml b/samples/native-image-sample/pom.xml index 34515df464..205a827de1 100644 --- a/samples/native-image-sample/pom.xml +++ b/samples/native-image-sample/pom.xml @@ -89,7 +89,7 @@ org.graalvm.buildtools junit-platform-native - 0.9.27 + 0.9.28 test From 4c7712f36e536709fd71f08323f3853fe15c1964 Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Tue, 24 Oct 2023 10:30:07 -0400 Subject: [PATCH 07/14] chore: bump urllib3 from 1.26.17 to 1.26.18 in /synthtool/gcp/templates/java_library/.kokoro (#1885) (#1973) Source-Link: https://github.com/googleapis/synthtool/commit/e4a9d44f7d1ddda567c14bce7df4d93fdb010de0 Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-java:latest@sha256:4875b2142cb4325542ba4f3175a81921c4b2b8256db012b220e3ca9637b34154 Co-authored-by: Owl Bot --- .github/.OwlBot.lock.yaml | 4 ++-- .kokoro/requirements.txt | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/.OwlBot.lock.yaml b/.github/.OwlBot.lock.yaml index cd91b662b9..8058621d83 100644 --- a/.github/.OwlBot.lock.yaml +++ b/.github/.OwlBot.lock.yaml @@ -13,5 +13,5 @@ # limitations under the License. docker: image: gcr.io/cloud-devrel-public-resources/owlbot-java:latest - digest: sha256:d0a8eb7ffc63ddce4c63191373d6e99d5385516423c396de207dedf2b6db7427 -# created: 2023-10-17T17:33:29.360983119Z + digest: sha256:4875b2142cb4325542ba4f3175a81921c4b2b8256db012b220e3ca9637b34154 +# created: 2023-10-24T01:51:42.863726766Z diff --git a/.kokoro/requirements.txt b/.kokoro/requirements.txt index 59de492340..c5c11bbe79 100644 --- a/.kokoro/requirements.txt +++ b/.kokoro/requirements.txt @@ -470,9 +470,9 @@ typing-extensions==4.7.1 \ --hash=sha256:440d5dd3af93b060174bf433bccd69b0babc3b15b1a8dca43789fd7f61514b36 \ --hash=sha256:b75ddc264f0ba5615db7ba217daeb99701ad295353c45f9e95963337ceeeffb2 # via -r requirements.in -urllib3==1.26.17 \ - --hash=sha256:24d6a242c28d29af46c3fae832c36db3bbebcc533dd1bb549172cd739c82df21 \ - --hash=sha256:94a757d178c9be92ef5539b8840d48dc9cf1b2709c9d6b588232a055c524458b +urllib3==1.26.18 \ + --hash=sha256:34b97092d7e0a3a8cf7cd10e386f401b3737364026c45e622aa02903dffe0f07 \ + --hash=sha256:f8ecc1bba5667413457c529ab955bf8c67b45db799d159066261719e328580a0 # via # google-auth # requests From e61a44d8f36bca62053d74b794fa733f78de83a5 Mon Sep 17 00:00:00 2001 From: Mend Renovate Date: Tue, 24 Oct 2023 16:30:25 +0200 Subject: [PATCH 08/14] build(deps): update dependency org.apache.maven.plugins:maven-dependency-plugin to v3.6.1 (#1972) --- google-cloud-bigtable-stats/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/google-cloud-bigtable-stats/pom.xml b/google-cloud-bigtable-stats/pom.xml index eea8bb50a3..14b2343bc1 100644 --- a/google-cloud-bigtable-stats/pom.xml +++ b/google-cloud-bigtable-stats/pom.xml @@ -185,7 +185,7 @@ org.apache.maven.plugins maven-dependency-plugin - 3.6.0 + 3.6.1 From 9ba7696ba02c6edca0f2630169ce823a959c416e Mon Sep 17 00:00:00 2001 From: Mend Renovate Date: Tue, 24 Oct 2023 17:10:14 +0200 Subject: [PATCH 09/14] test(deps): update dependency io.grpc:protoc-gen-grpc-java to v1.59.0 (#1965) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [io.grpc:protoc-gen-grpc-java](https://togithub.com/grpc/grpc-java) | `1.58.0` -> `1.59.0` | [![age](https://developer.mend.io/api/mc/badges/age/maven/io.grpc:protoc-gen-grpc-java/1.59.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/io.grpc:protoc-gen-grpc-java/1.59.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/io.grpc:protoc-gen-grpc-java/1.58.0/1.59.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/io.grpc:protoc-gen-grpc-java/1.58.0/1.59.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes
grpc/grpc-java (io.grpc:protoc-gen-grpc-java) ### [`v1.59.0`](https://togithub.com/grpc/grpc-java/releases/tag/v1.59.0) #### gRPC Java 1.59.0 Release Notes **PLANNED ABI BREAKAGE!** This breaks the ABI of the `@ExperimentalApi` classes listed below. This does not impact source code (API); it only impacts code compiled with a different version of gRPC than it runs with (ABI). Users that recompiled their code using grpc-java [`v1.36.0`](https://togithub.com/grpc/grpc-java/releases/tag/v1.36.0) (released on Feb 23, 2021) and later, **ARE NOT AFFECTED**. Users that compiled their source using grpc-java earlier than `v1.36.0` may need to recompile when upgrading to grpc-java `v1.59.0`. See details in [#​10406](https://togithub.com/grpc/grpc-java/issues/10406). **Affected classes** Class `io.grpc.internal.AbstractManagedChannelImplBuilder` is deleted, and no longer in the class hierarchy of the channel builders: - `io.grpc.netty.NettyChannelBuilder` - `io.grpc.okhttp.OkhttpChannelBuilder` - `io.grpc.cronet.CronetChannelBuilder` Class `io.grpc.internal.AbstractServerImplBuilder` is deleted, and no longer in the class hierarchy of the server builders: - `io.grpc.netty.NettyServerBuilder` - `io.grpc.inprocess.InProcessServerBuilder` *** ##### API Changes - core: `AbstractManagedChannelImplBuilder` and `AbstractServerImplBuilder` are removed ([#​10530](https://togithub.com/grpc/grpc-java/issues/10530)). This is ABI-breaking, see the warning above. ([#​10406](https://togithub.com/grpc/grpc-java/issues/10406)) - core: Removed .class file hack previously introduced in [`v1.36.0`](https://togithub.com/grpc/grpc-java/releases/tag/v1.36.0) to ease removal of internal ABIs. ([#​10406](https://togithub.com/grpc/grpc-java/issues/10406)) - api: Add `ForwardingChannelBuilder2`, an ABI-safe version of `ForwardingChannelBuilder`, which will be deprecated in the following release. ([#​10585](https://togithub.com/grpc/grpc-java/issues/10585), [#​10406](https://togithub.com/grpc/grpc-java/issues/10406)) - api: Add `LoadBalancer.FixedResultPicker` convenience class for load balancer implementations. It is a replacement for `ErrorPicker` and `EMPTY_PICKER` added in 1.58.0 - testing: Stabilize TestMethodDescriptors ([#​10530](https://togithub.com/grpc/grpc-java/issues/10530)) ##### Behavior Changes - core: de-expermentalize pick first config parsing ([#​10531](https://togithub.com/grpc/grpc-java/issues/10531)) - netty: Respect -Dio.netty.allocator.type=unpooled when getting Netty Allocator instead of ignoring it ([#​10543](https://togithub.com/grpc/grpc-java/issues/10543)) - netty: Use UNAVAILABLE for connections closed while writing. Previously this would result in UNKNOWN - binder: Enable indirect addressing using s. ([#​10550](https://togithub.com/grpc/grpc-java/issues/10550)) ##### Improvements - core: only use reflection to resolve InternalCensusStatsAccessor once instead of once per channel - core: enhance error message in the case of DEADLINE_EXCEEDED to indicate name resolution delay. - netty: When creating a connection, use java.util.logging formatting instead of String.format to avoid work when not logged - netty: Touch ByteBuf when message framing has been decoded. If the buffer is leaked, this helps narrow down the source of reference counting bug - java_grpc_library.bzl: Disable Automatic Exec Groups inside grpc libraries ([#​10514](https://togithub.com/grpc/grpc-java/issues/10514)). This improves compatibility with future Bazel versions while retaining Bazel 5.x compatibility ##### Bug Fixes - netty: Avoid NettyAdaptiveCumulator incorrectly releasing its input ByteBuf twice when reading messages under certain error conditions ([#​10537](https://togithub.com/grpc/grpc-java/issues/10537)) - xds: Add fix for xdstp replacement for percent-encoded authorities ([#​10571](https://togithub.com/grpc/grpc-java/issues/10571)) ##### Documentation - API documentation (Javadoc) for Server and Channel builders now correctly displays inherited methods and the class hierarchy. ([#​10406](https://togithub.com/grpc/grpc-java/issues/10406)) - examples: add an example for OAuth ([#​10560](https://togithub.com/grpc/grpc-java/issues/10560)) ##### Dependencies - Upgrade Netty to 4.1.97.Final ##### Acknowledgements John Cormie ([@​jdcormie](https://togithub.com/jdcormie)) Stephane Landelle ([@​slandelle](https://togithub.com/slandelle)) [@​kotlaja](https://togithub.com/kotlaja)
--- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/googleapis/java-bigtable). --- google-cloud-bigtable/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/google-cloud-bigtable/pom.xml b/google-cloud-bigtable/pom.xml index 00049be30e..bb330f44fa 100644 --- a/google-cloud-bigtable/pom.xml +++ b/google-cloud-bigtable/pom.xml @@ -38,7 +38,7 @@ batch-bigtable.googleapis.com:443 - 1.58.0 + 1.59.0 3.24.4
From 0830fa5dad0a2ba1d6abf9883162dbb13ef6a8e1 Mon Sep 17 00:00:00 2001 From: Mend Renovate Date: Wed, 25 Oct 2023 15:47:48 +0200 Subject: [PATCH 10/14] build(deps): update dependency org.codehaus.mojo:license-maven-plugin to v2.3.0 (#1975) --- google-cloud-bigtable-stats/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/google-cloud-bigtable-stats/pom.xml b/google-cloud-bigtable-stats/pom.xml index 14b2343bc1..b30773428f 100644 --- a/google-cloud-bigtable-stats/pom.xml +++ b/google-cloud-bigtable-stats/pom.xml @@ -235,7 +235,7 @@ org.codehaus.mojo license-maven-plugin - 2.2.0 + 2.3.0 default-cli From f251b3756f9acc3c82653960b24c6b4c00c2555d Mon Sep 17 00:00:00 2001 From: "J. Liu" Date: Thu, 26 Oct 2023 10:34:15 -0400 Subject: [PATCH 11/14] =?UTF-8?q?test(fix):=20update=20the=20test=20proxy?= =?UTF-8?q?=20to=20allow=20enabling=20optional=20features,=E2=80=A6=20(#19?= =?UTF-8?q?76)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit … also sync the test proto to its latest version Thank you for opening a Pull Request! Before submitting your PR, there are a few things you can do to make sure it goes smoothly: - [ ] Make sure to open an issue as a [bug/issue](https://togithub.com/googleapis/java-bigtable/issues/new/choose) before writing your code! That way we can discuss the change, evaluate designs, and agree on the general idea - [ ] Ensure the tests and linter pass - [ ] Code coverage does not decrease (if any source code was changed) - [ ] Appropriate docs were updated (if necessary) - [ ] Rollback plan is reviewed and LGTMed Fixes # ☕️ If you write sample code, please follow the [samples format]( https://togithub.com/GoogleCloudPlatform/java-docs-samples/blob/main/SAMPLE_FORMAT.md). --- .../cloud/bigtable/testproxy/CbtTestProxy.java | 15 ++++++++++++++- test-proxy/src/main/proto/test_proxy.proto | 14 ++++++++++++++ 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/test-proxy/src/main/java/com/google/cloud/bigtable/testproxy/CbtTestProxy.java b/test-proxy/src/main/java/com/google/cloud/bigtable/testproxy/CbtTestProxy.java index 5ac1a3c775..3a696dcfe7 100644 --- a/test-proxy/src/main/java/com/google/cloud/bigtable/testproxy/CbtTestProxy.java +++ b/test-proxy/src/main/java/com/google/cloud/bigtable/testproxy/CbtTestProxy.java @@ -202,7 +202,7 @@ public synchronized void createClient( BigtableDataSettings.Builder settingsBuilder = BigtableDataSettings.newBuilder() - // disable channel refreshing when creating an emulator + // Disable channel refreshing when not using the real server .setRefreshingChannel(false) .setProjectId(request.getProjectId()) .setInstanceId(request.getInstanceId()) @@ -217,6 +217,19 @@ public synchronized void createClient( Durations.toString(request.getPerOperationTimeout()))); } + if (request.getOptionalFeatureConfig() + == OptionalFeatureConfig.OPTIONAL_FEATURE_CONFIG_ENABLE_ALL) { + logger.info("Enabling all the optional features"); + try { + // Exception will be raised if Application Default Credentials is not found. + BigtableDataSettings.enableBuiltinMetrics(); + } catch (IOException e) { + responseObserver.onError(Status.INTERNAL.withDescription(e.getMessage()).asException()); + return; + } + settingsBuilder.stubSettings().bulkMutateRowsSettings().setServerInitiatedFlowControl(true); + } + // Create and store CbtClient for later use try { if (!request.getDataTarget().equals("emulator")) { diff --git a/test-proxy/src/main/proto/test_proxy.proto b/test-proxy/src/main/proto/test_proxy.proto index 551dd4d8b2..e7caef0e7b 100644 --- a/test-proxy/src/main/proto/test_proxy.proto +++ b/test-proxy/src/main/proto/test_proxy.proto @@ -26,6 +26,16 @@ option go_package = "./testproxypb"; option java_multiple_files = true; option java_package = "com.google.cloud.bigtable.testproxy"; +// A config flag that dictates how the optional features should be enabled +// during the client creation. The optional features customize how the client +// interacts with the server, and are defined in +// https://github.com/googleapis/googleapis/blob/master/google/bigtable/v2/feature_flags.proto +enum OptionalFeatureConfig { + OPTIONAL_FEATURE_CONFIG_DEFAULT = 0; + + OPTIONAL_FEATURE_CONFIG_ENABLE_ALL = 1; +} + // Request to test proxy service to create a client object. message CreateClientRequest { // A unique ID associated with the client object to be created. @@ -52,6 +62,10 @@ message CreateClientRequest { // the created client. Otherwise, the default timeout from the client library // will be used. Note that the override applies to all the methods. google.protobuf.Duration per_operation_timeout = 6; + + // Optional config that dictates how the optional features should be enabled + // during the client creation. Please check the enum type's docstring above. + OptionalFeatureConfig optional_feature_config = 7; } // Response from test proxy service for CreateClientRequest. From bf5a9b774f79005ee9980a12931597ddc1ec5bb3 Mon Sep 17 00:00:00 2001 From: Mend Renovate Date: Thu, 26 Oct 2023 16:50:23 +0200 Subject: [PATCH 12/14] deps: update shared dependencies (#1964) --- google-cloud-bigtable-deps-bom/pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/google-cloud-bigtable-deps-bom/pom.xml b/google-cloud-bigtable-deps-bom/pom.xml index e65f77d4ff..731f0079a3 100644 --- a/google-cloud-bigtable-deps-bom/pom.xml +++ b/google-cloud-bigtable-deps-bom/pom.xml @@ -66,14 +66,14 @@ com.google.cloud gapic-libraries-bom - 1.22.0 + 1.23.0 pom import com.google.cloud google-cloud-shared-dependencies - 3.17.0 + 3.18.0 pom import From befd1402a0f324b365b72e3b237d33d2f3fe8bbc Mon Sep 17 00:00:00 2001 From: Derek Lee <51767748+DerekLeeCS@users.noreply.github.com> Date: Thu, 26 Oct 2023 11:10:15 -0400 Subject: [PATCH 13/14] feat: Add APIs to enable request priorities (#1959) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Thank you for opening a Pull Request! Before submitting your PR, there are a few things you can do to make sure it goes smoothly: - [ ] Make sure to open an issue as a [bug/issue](https://togithub.com/googleapis/java-bigtable/issues/new/choose) before writing your code! That way we can discuss the change, evaluate designs, and agree on the general idea - [ ] Ensure the tests and linter pass - [ ] Code coverage does not decrease (if any source code was changed) - [ ] Appropriate docs were updated (if necessary) - [ ] Rollback plan is reviewed and LGTMed Fixes # ☕️ If you write sample code, please follow the [samples format]( https://togithub.com/GoogleCloudPlatform/java-docs-samples/blob/main/SAMPLE_FORMAT.md). --- .../bigtable/admin/v2/models/AppProfile.java | 117 ++++++++++++++++++ .../v2/models/CreateAppProfileRequest.java | 17 +++ .../v2/models/UpdateAppProfileRequest.java | 18 +++ .../v2/BigtableInstanceAdminClientTests.java | 94 +++++++++++++- .../v2/it/BigtableInstanceAdminClientIT.java | 51 ++++++++ .../admin/v2/models/AppProfileTest.java | 49 ++++++++ .../models/CreateAppProfileRequestTest.java | 13 ++ .../models/UpdateAppProfileRequestTest.java | 35 ++++++ 8 files changed, 393 insertions(+), 1 deletion(-) diff --git a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/models/AppProfile.java b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/models/AppProfile.java index 52be2b0d52..2dd75dd5ad 100644 --- a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/models/AppProfile.java +++ b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/models/AppProfile.java @@ -17,6 +17,8 @@ import com.google.api.core.InternalApi; import com.google.bigtable.admin.v2.AppProfile.MultiClusterRoutingUseAny; +import com.google.bigtable.admin.v2.AppProfile.Priority; +import com.google.bigtable.admin.v2.AppProfile.StandardIsolation; import com.google.bigtable.admin.v2.AppProfileName; import com.google.common.base.Objects; import com.google.common.base.Preconditions; @@ -76,6 +78,15 @@ public RoutingPolicy getPolicy() { } } + public IsolationPolicy getIsolationPolicy() { + if (proto.hasStandardIsolation()) { + return new StandardIsolationPolicy(proto.getStandardIsolation()); + } else { + // Should never happen because the constructor verifies that one must exist. + throw new IllegalStateException(); + } + } + /** Gets the id of this AppProfile. */ @SuppressWarnings("WeakerAccess") public String getId() { @@ -292,4 +303,110 @@ public int hashCode() { return Objects.hashCode(proto); } } + + /** Represents the options for isolating this app profile's traffic from other use cases. */ + @SuppressWarnings("WeakerAccess") + public interface IsolationPolicy {} + + /** + * The possible priorities for an app profile. Note that higher priority writes can sometimes + * queue behind lower priority writes to the same tablet, as writes must be strictly sequenced in + * the durability log. + */ + public static enum Priority { + LOW(com.google.bigtable.admin.v2.AppProfile.Priority.PRIORITY_LOW), + MEDIUM(com.google.bigtable.admin.v2.AppProfile.Priority.PRIORITY_MEDIUM), + HIGH(com.google.bigtable.admin.v2.AppProfile.Priority.PRIORITY_HIGH); + + private final com.google.bigtable.admin.v2.AppProfile.Priority proto; + + /** + * Wraps the protobuf. This method is considered an internal implementation detail and not meant + * to be used by applications. + */ + @InternalApi + public static Priority fromProto(com.google.bigtable.admin.v2.AppProfile.Priority proto) { + Preconditions.checkNotNull(proto); + + for (Priority priority : values()) { + if (priority.proto.equals(proto)) { + return priority; + } + } + + throw new IllegalArgumentException("Unknown priority: " + proto); + } + + Priority(com.google.bigtable.admin.v2.AppProfile.Priority proto) { + this.proto = proto; + } + + /** + * Creates the request protobuf. This method is considered an internal implementation detail and + * not meant to be used by applications. + */ + @InternalApi + public com.google.bigtable.admin.v2.AppProfile.Priority toProto() { + return proto; + } + } + + /** + * A standard {@link IsolationPolicy} for isolating this app profile's traffic from other use + * cases. This accomplished by assigning different priorities to app profiles. A request that uses + * an app profile with a StandardIsolationPolicy with a HIGH priority will likely run before a + * request with a LOW priority. + */ + public static class StandardIsolationPolicy implements IsolationPolicy { + private final StandardIsolation proto; + + /** Creates a new instance of {@link StandardIsolationPolicy}. */ + public static StandardIsolationPolicy of() { + return new StandardIsolationPolicy(StandardIsolation.getDefaultInstance()); + } + + /** Creates a new instance of {@link StandardIsolationPolicy} with the specified priority. */ + public static StandardIsolationPolicy of(Priority priority) { + return new StandardIsolationPolicy( + StandardIsolation.newBuilder().setPriority(priority.toProto()).build()); + } + + /* + * Returns the priority for this app profile. + */ + public Priority getPriority() { + return Priority.fromProto(proto.getPriority()); + } + + private StandardIsolationPolicy( + com.google.bigtable.admin.v2.AppProfile.StandardIsolation proto) { + this.proto = proto; + } + + /** + * Creates the request protobuf. This method is considered an internal implementation detail and + * not meant to be used by applications. + */ + @InternalApi + com.google.bigtable.admin.v2.AppProfile.StandardIsolation toProto() { + return proto; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + StandardIsolationPolicy that = (StandardIsolationPolicy) o; + return Objects.equal(proto, that.proto); + } + + @Override + public int hashCode() { + return Objects.hashCode(proto); + } + } } diff --git a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/models/CreateAppProfileRequest.java b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/models/CreateAppProfileRequest.java index 35c41208be..b3159c3146 100644 --- a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/models/CreateAppProfileRequest.java +++ b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/models/CreateAppProfileRequest.java @@ -17,9 +17,11 @@ import com.google.api.core.InternalApi; import com.google.cloud.bigtable.admin.v2.internal.NameUtil; +import com.google.cloud.bigtable.admin.v2.models.AppProfile.IsolationPolicy; import com.google.cloud.bigtable.admin.v2.models.AppProfile.MultiClusterRoutingPolicy; import com.google.cloud.bigtable.admin.v2.models.AppProfile.RoutingPolicy; import com.google.cloud.bigtable.admin.v2.models.AppProfile.SingleClusterRoutingPolicy; +import com.google.cloud.bigtable.admin.v2.models.AppProfile.StandardIsolationPolicy; import com.google.common.base.Preconditions; import javax.annotation.Nonnull; @@ -92,6 +94,21 @@ public CreateAppProfileRequest setRoutingPolicy(RoutingPolicy routingPolicy) { return this; } + /** Sets the isolation policy for all read/write requests that use this app profile. */ + public CreateAppProfileRequest setIsolationPolicy(IsolationPolicy isolationPolicy) { + Preconditions.checkNotNull(isolationPolicy); + + if (isolationPolicy instanceof StandardIsolationPolicy) { + proto + .getAppProfileBuilder() + .setStandardIsolation(((StandardIsolationPolicy) isolationPolicy).toProto()); + } else { + throw new IllegalArgumentException("Unknown policy type: " + isolationPolicy); + } + + return this; + } + /** * Creates the request protobuf. This method is considered an internal implementation detail and * not meant to be used by applications. diff --git a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/models/UpdateAppProfileRequest.java b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/models/UpdateAppProfileRequest.java index 49d4c5d702..b9a45a6f78 100644 --- a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/models/UpdateAppProfileRequest.java +++ b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/models/UpdateAppProfileRequest.java @@ -17,9 +17,11 @@ import com.google.api.core.InternalApi; import com.google.cloud.bigtable.admin.v2.internal.NameUtil; +import com.google.cloud.bigtable.admin.v2.models.AppProfile.IsolationPolicy; import com.google.cloud.bigtable.admin.v2.models.AppProfile.MultiClusterRoutingPolicy; import com.google.cloud.bigtable.admin.v2.models.AppProfile.RoutingPolicy; import com.google.cloud.bigtable.admin.v2.models.AppProfile.SingleClusterRoutingPolicy; +import com.google.cloud.bigtable.admin.v2.models.AppProfile.StandardIsolationPolicy; import com.google.common.base.Objects; import com.google.common.base.Preconditions; import com.google.protobuf.FieldMask; @@ -121,6 +123,22 @@ public UpdateAppProfileRequest setRoutingPolicy(@Nonnull RoutingPolicy routingPo return this; } + /** Sets the isolation policy for all read/write requests that use this app profile. */ + public UpdateAppProfileRequest setIsolationPolicy(@Nonnull IsolationPolicy isolationPolicy) { + Preconditions.checkNotNull(isolationPolicy); + + if (isolationPolicy instanceof StandardIsolationPolicy) { + proto + .getAppProfileBuilder() + .setStandardIsolation(((StandardIsolationPolicy) isolationPolicy).toProto()); + updateFieldMask(com.google.bigtable.admin.v2.AppProfile.STANDARD_ISOLATION_FIELD_NUMBER); + } else { + throw new IllegalArgumentException("Unknown policy type: " + isolationPolicy); + } + + return this; + } + private void updateFieldMask(int fieldNumber) { FieldMask newMask = FieldMaskUtil.fromFieldNumbers(com.google.bigtable.admin.v2.AppProfile.class, fieldNumber); diff --git a/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/admin/v2/BigtableInstanceAdminClientTests.java b/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/admin/v2/BigtableInstanceAdminClientTests.java index 5a7c955787..d8522db71a 100644 --- a/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/admin/v2/BigtableInstanceAdminClientTests.java +++ b/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/admin/v2/BigtableInstanceAdminClientTests.java @@ -43,6 +43,8 @@ import com.google.cloud.bigtable.admin.v2.internal.NameUtil; import com.google.cloud.bigtable.admin.v2.models.AppProfile; import com.google.cloud.bigtable.admin.v2.models.AppProfile.MultiClusterRoutingPolicy; +import com.google.cloud.bigtable.admin.v2.models.AppProfile.Priority; +import com.google.cloud.bigtable.admin.v2.models.AppProfile.StandardIsolationPolicy; import com.google.cloud.bigtable.admin.v2.models.Cluster; import com.google.cloud.bigtable.admin.v2.models.ClusterAutoscalingConfig; import com.google.cloud.bigtable.admin.v2.models.CreateAppProfileRequest; @@ -82,7 +84,7 @@ @RunWith(JUnit4.class) /** - * Tests for {@link BigtableTableAdminClient}. This test class uses Mockito so it has been + * Tests for {@link BigtableInstanceAdminClient}. This test class uses Mockito so it has been * explicitly excluded from Native Image testing by not following the naming convention of (IT* and * *ClientTest). */ @@ -983,6 +985,55 @@ public void testCreateAppProfileAddMultipleClusterIdsWithList() { assertThat(actualResult).isEqualTo(AppProfile.fromProto(expectedResponse)); } + @Test + public void testCreateAppProfileAddPriority() { + // Setup + Mockito.when(mockStub.createAppProfileCallable()).thenReturn(mockCreateAppProfileCallable); + + com.google.bigtable.admin.v2.CreateAppProfileRequest expectedRequest = + com.google.bigtable.admin.v2.CreateAppProfileRequest.newBuilder() + .setParent(NameUtil.formatInstanceName(PROJECT_ID, INSTANCE_ID)) + .setAppProfileId(APP_PROFILE_ID) + .setAppProfile( + com.google.bigtable.admin.v2.AppProfile.newBuilder() + .setDescription("my description") + .setMultiClusterRoutingUseAny( + com.google.bigtable.admin.v2.AppProfile.MultiClusterRoutingUseAny + .newBuilder() + .addClusterIds("cluster-id-1")) + .setStandardIsolation( + com.google.bigtable.admin.v2.AppProfile.StandardIsolation.newBuilder() + .setPriority( + com.google.bigtable.admin.v2.AppProfile.Priority.PRIORITY_MEDIUM))) + .build(); + + com.google.bigtable.admin.v2.AppProfile expectedResponse = + com.google.bigtable.admin.v2.AppProfile.newBuilder() + .setName(APP_PROFILE_NAME) + .setDescription("my description") + .setMultiClusterRoutingUseAny( + com.google.bigtable.admin.v2.AppProfile.MultiClusterRoutingUseAny.newBuilder() + .addClusterIds("cluster-id-1")) + .setStandardIsolation( + com.google.bigtable.admin.v2.AppProfile.StandardIsolation.newBuilder() + .setPriority(com.google.bigtable.admin.v2.AppProfile.Priority.PRIORITY_MEDIUM)) + .build(); + + Mockito.when(mockCreateAppProfileCallable.futureCall(expectedRequest)) + .thenReturn(ApiFutures.immediateFuture(expectedResponse)); + + // Execute + AppProfile actualResult = + adminClient.createAppProfile( + CreateAppProfileRequest.of(INSTANCE_ID, APP_PROFILE_ID) + .setDescription("my description") + .setRoutingPolicy(MultiClusterRoutingPolicy.of("cluster-id-1")) + .setIsolationPolicy(StandardIsolationPolicy.of(Priority.MEDIUM))); + + // Verify + assertThat(actualResult).isEqualTo(AppProfile.fromProto(expectedResponse)); + } + @Test public void testGetAppProfile() { // Setup @@ -1101,6 +1152,47 @@ public void testUpdateAppProfile() { assertThat(actualResult).isEqualTo(AppProfile.fromProto(expectedResponse)); } + @Test + public void testUpdateAppProfileStandardIsolation() { + // Setup + Mockito.when(mockStub.updateAppProfileOperationCallable()) + .thenReturn(mockUpdateAppProfileCallable); + + com.google.bigtable.admin.v2.UpdateAppProfileRequest expectedRequest = + com.google.bigtable.admin.v2.UpdateAppProfileRequest.newBuilder() + .setAppProfile( + com.google.bigtable.admin.v2.AppProfile.newBuilder() + .setName(APP_PROFILE_NAME) + .setStandardIsolation( + com.google.bigtable.admin.v2.AppProfile.StandardIsolation.newBuilder() + .setPriority( + com.google.bigtable.admin.v2.AppProfile.Priority.PRIORITY_LOW))) + .setUpdateMask(FieldMask.newBuilder().addPaths("standard_isolation")) + .build(); + + com.google.bigtable.admin.v2.AppProfile expectedResponse = + com.google.bigtable.admin.v2.AppProfile.newBuilder() + .setName(APP_PROFILE_NAME) + .setMultiClusterRoutingUseAny( + com.google.bigtable.admin.v2.AppProfile.MultiClusterRoutingUseAny + .getDefaultInstance()) + .setStandardIsolation( + com.google.bigtable.admin.v2.AppProfile.StandardIsolation.newBuilder() + .setPriority(com.google.bigtable.admin.v2.AppProfile.Priority.PRIORITY_LOW)) + .build(); + + mockOperationResult(mockUpdateAppProfileCallable, expectedRequest, expectedResponse); + + // Execute + AppProfile actualResult = + adminClient.updateAppProfile( + UpdateAppProfileRequest.of(INSTANCE_ID, APP_PROFILE_ID) + .setIsolationPolicy(StandardIsolationPolicy.of(Priority.LOW))); + + // Verify + assertThat(actualResult).isEqualTo(AppProfile.fromProto(expectedResponse)); + } + @Test public void testDeleteAppProfile() throws Exception { // Setup diff --git a/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/admin/v2/it/BigtableInstanceAdminClientIT.java b/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/admin/v2/it/BigtableInstanceAdminClientIT.java index 3b47ca8377..d8b9410cae 100644 --- a/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/admin/v2/it/BigtableInstanceAdminClientIT.java +++ b/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/admin/v2/it/BigtableInstanceAdminClientIT.java @@ -191,6 +191,57 @@ public void appProfileTestMultiClusterWithIds() { } } + @Test + public void appProfileTestPriority() { + String newInstanceId = prefixGenerator.newPrefix(); + String newClusterId = newInstanceId + "-c1"; + + client.createInstance( + CreateInstanceRequest.of(newInstanceId) + .addCluster(newClusterId, testEnvRule.env().getPrimaryZone(), 1, StorageType.SSD) + .setDisplayName("Priority-Instance-Test") + .addLabel("state", "readytodelete") + .setType(Type.PRODUCTION)); + + try { + assertThat(client.exists(newInstanceId)).isTrue(); + + String testAppProfile = prefixGenerator.newPrefix(); + + // This should be created with HIGH priority. + CreateAppProfileRequest request = + CreateAppProfileRequest.of(newInstanceId, testAppProfile) + .setRoutingPolicy(AppProfile.SingleClusterRoutingPolicy.of(newClusterId)) + .setDescription("This is to test app profile"); + + AppProfile newlyCreatedAppProfile = client.createAppProfile(request); + AppProfile.StandardIsolationPolicy newlyCreatedAppProfilePolicy = + (AppProfile.StandardIsolationPolicy) newlyCreatedAppProfile.getIsolationPolicy(); + assertThat(newlyCreatedAppProfilePolicy.getPriority()).isEqualTo(AppProfile.Priority.HIGH); + + AppProfile updated = + client.updateAppProfile( + UpdateAppProfileRequest.of(newlyCreatedAppProfile) + .setIsolationPolicy( + AppProfile.StandardIsolationPolicy.of(AppProfile.Priority.LOW))); + + AppProfile freshAppProfile = client.getAppProfile(newInstanceId, testAppProfile); + AppProfile.StandardIsolationPolicy freshAppProfilePolicy = + (AppProfile.StandardIsolationPolicy) freshAppProfile.getIsolationPolicy(); + AppProfile.StandardIsolationPolicy updatedAppProfilePolicy = + (AppProfile.StandardIsolationPolicy) updated.getIsolationPolicy(); + + assertThat(freshAppProfilePolicy.getPriority()).isEqualTo(AppProfile.Priority.LOW); + assertThat(freshAppProfilePolicy).isEqualTo(updatedAppProfilePolicy); + + assertThat(client.listAppProfiles(newInstanceId)).contains(freshAppProfile); + } finally { + if (client.exists(newInstanceId)) { + client.deleteInstance(newInstanceId); + } + } + } + @Test public void iamUpdateTest() { Policy policy = client.getIamPolicy(instanceId); diff --git a/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/admin/v2/models/AppProfileTest.java b/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/admin/v2/models/AppProfileTest.java index 64f334bb09..35711cefdb 100644 --- a/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/admin/v2/models/AppProfileTest.java +++ b/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/admin/v2/models/AppProfileTest.java @@ -19,7 +19,9 @@ import com.google.bigtable.admin.v2.AppProfile.SingleClusterRouting; import com.google.bigtable.admin.v2.AppProfileName; +import com.google.cloud.bigtable.admin.v2.models.AppProfile.Priority; import com.google.cloud.bigtable.admin.v2.models.AppProfile.SingleClusterRoutingPolicy; +import com.google.cloud.bigtable.admin.v2.models.AppProfile.StandardIsolationPolicy; import com.google.common.collect.ImmutableList; import org.junit.Test; import org.junit.runner.RunWith; @@ -89,6 +91,33 @@ public void testFromProtoWithMultiClusterWithIds() { .isEqualTo(AppProfile.MultiClusterRoutingPolicy.of("cluster-id-1", "cluster-id-2")); } + @Test + public void testFromProtoWithStandardIsolation() { + AppProfile profile = + AppProfile.fromProto( + com.google.bigtable.admin.v2.AppProfile.newBuilder() + .setName(AppProfileName.of("my-project", "my-instance", "my-profile").toString()) + .setDescription("my description") + .setSingleClusterRouting( + SingleClusterRouting.newBuilder() + .setClusterId("my-cluster") + .setAllowTransactionalWrites(true) + .build()) + .setStandardIsolation( + com.google.bigtable.admin.v2.AppProfile.StandardIsolation.newBuilder() + .setPriority( + com.google.bigtable.admin.v2.AppProfile.Priority.PRIORITY_MEDIUM) + .build()) + .setEtag("my-etag") + .build()); + + assertThat(profile.getInstanceId()).isEqualTo("my-instance"); + assertThat(profile.getId()).isEqualTo("my-profile"); + assertThat(profile.getDescription()).isEqualTo("my description"); + assertThat(profile.getPolicy()).isEqualTo(SingleClusterRoutingPolicy.of("my-cluster", true)); + assertThat(profile.getIsolationPolicy()).isEqualTo(StandardIsolationPolicy.of(Priority.MEDIUM)); + } + @Test public void testNoNameError() { Exception actualException = null; @@ -126,6 +155,11 @@ public void testEquals() { com.google.bigtable.admin.v2.AppProfile.MultiClusterRoutingUseAny.newBuilder() .addAllClusterIds(ImmutableList.of("cluster-id-1", "cluster-id-2")) .build()) + .setStandardIsolation( + com.google.bigtable.admin.v2.AppProfile.StandardIsolation.newBuilder() + .setPriority( + com.google.bigtable.admin.v2.AppProfile.Priority.PRIORITY_MEDIUM) + .build()) .setEtag("my-etag") .build()); @@ -143,6 +177,11 @@ public void testEquals() { com.google.bigtable.admin.v2.AppProfile.MultiClusterRoutingUseAny.newBuilder() .addAllClusterIds(ImmutableList.of("cluster-id-1", "cluster-id-2")) .build()) + .setStandardIsolation( + com.google.bigtable.admin.v2.AppProfile.StandardIsolation.newBuilder() + .setPriority( + com.google.bigtable.admin.v2.AppProfile.Priority.PRIORITY_MEDIUM) + .build()) .setEtag("my-etag") .build()); UpdateAppProfileRequest updateAppProfileRequest3 = UpdateAppProfileRequest.of(profile2); @@ -161,6 +200,11 @@ public void testHashCode() { com.google.bigtable.admin.v2.AppProfile.MultiClusterRoutingUseAny.newBuilder() .addAllClusterIds(ImmutableList.of("cluster-id-1", "cluster-id-2")) .build()) + .setStandardIsolation( + com.google.bigtable.admin.v2.AppProfile.StandardIsolation.newBuilder() + .setPriority( + com.google.bigtable.admin.v2.AppProfile.Priority.PRIORITY_MEDIUM) + .build()) .setEtag("my-etag") .build()); @@ -178,6 +222,11 @@ public void testHashCode() { com.google.bigtable.admin.v2.AppProfile.MultiClusterRoutingUseAny.newBuilder() .addAllClusterIds(ImmutableList.of("cluster-id-1", "cluster-id-2")) .build()) + .setStandardIsolation( + com.google.bigtable.admin.v2.AppProfile.StandardIsolation.newBuilder() + .setPriority( + com.google.bigtable.admin.v2.AppProfile.Priority.PRIORITY_MEDIUM) + .build()) .setEtag("my-etag") .build()); UpdateAppProfileRequest updateAppProfileRequest3 = UpdateAppProfileRequest.of(profile2); diff --git a/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/admin/v2/models/CreateAppProfileRequestTest.java b/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/admin/v2/models/CreateAppProfileRequestTest.java index 9b7141d3ab..4e5812f774 100644 --- a/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/admin/v2/models/CreateAppProfileRequestTest.java +++ b/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/admin/v2/models/CreateAppProfileRequestTest.java @@ -19,9 +19,11 @@ import com.google.bigtable.admin.v2.AppProfile.MultiClusterRoutingUseAny; import com.google.bigtable.admin.v2.AppProfile.SingleClusterRouting; +import com.google.bigtable.admin.v2.AppProfile.StandardIsolation; import com.google.bigtable.admin.v2.InstanceName; import com.google.cloud.bigtable.admin.v2.models.AppProfile.MultiClusterRoutingPolicy; import com.google.cloud.bigtable.admin.v2.models.AppProfile.SingleClusterRoutingPolicy; +import com.google.cloud.bigtable.admin.v2.models.AppProfile.StandardIsolationPolicy; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.JUnit4; @@ -71,4 +73,15 @@ public void testDefaultDescription() { assertThat(wrapper.toProto("my-project").getAppProfile().getDescription()) .isEqualTo("my-profile"); } + + @Test + public void testStandardIsolation() { + CreateAppProfileRequest wrapper = + CreateAppProfileRequest.of("my-instance", "my-profile") + .setRoutingPolicy(MultiClusterRoutingPolicy.of()) + .setIsolationPolicy(StandardIsolationPolicy.of()); + + assertThat(wrapper.toProto("my-project").getAppProfile().getStandardIsolation()) + .isEqualTo(StandardIsolation.getDefaultInstance()); + } } diff --git a/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/admin/v2/models/UpdateAppProfileRequestTest.java b/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/admin/v2/models/UpdateAppProfileRequestTest.java index ae3119b81a..13e98f14c1 100644 --- a/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/admin/v2/models/UpdateAppProfileRequestTest.java +++ b/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/admin/v2/models/UpdateAppProfileRequestTest.java @@ -19,7 +19,10 @@ import com.google.bigtable.admin.v2.AppProfile.MultiClusterRoutingUseAny; import com.google.bigtable.admin.v2.AppProfile.SingleClusterRouting; +import com.google.bigtable.admin.v2.AppProfile.StandardIsolation; +import com.google.cloud.bigtable.admin.v2.models.AppProfile.Priority; import com.google.cloud.bigtable.admin.v2.models.AppProfile.SingleClusterRoutingPolicy; +import com.google.cloud.bigtable.admin.v2.models.AppProfile.StandardIsolationPolicy; import com.google.protobuf.FieldMask; import org.junit.Test; import org.junit.runner.RunWith; @@ -76,4 +79,36 @@ public void testUpdateExisting() { .setUpdateMask(FieldMask.newBuilder().addPaths("description")) .build()); } + + @Test + public void testUpdateExistingStandardIsolation() { + com.google.bigtable.admin.v2.AppProfile existingProto = + com.google.bigtable.admin.v2.AppProfile.newBuilder() + .setName("projects/my-project/instances/my-instance/appProfiles/my-profile") + .setEtag("my-etag") + .setDescription("description") + .setMultiClusterRoutingUseAny(MultiClusterRoutingUseAny.getDefaultInstance()) + .setStandardIsolation(StandardIsolation.getDefaultInstance()) + .build(); + + AppProfile existingWrapper = AppProfile.fromProto(existingProto); + + UpdateAppProfileRequest updateWrapper = + UpdateAppProfileRequest.of(existingWrapper) + .setIsolationPolicy(StandardIsolationPolicy.of(Priority.LOW)); + + assertThat(updateWrapper.toProto("my-project")) + .isEqualTo( + com.google.bigtable.admin.v2.UpdateAppProfileRequest.newBuilder() + .setAppProfile( + existingProto + .toBuilder() + .setStandardIsolation( + StandardIsolation.newBuilder() + .setPriority( + com.google.bigtable.admin.v2.AppProfile.Priority.PRIORITY_LOW) + .build())) + .setUpdateMask(FieldMask.newBuilder().addPaths("standard_isolation")) + .build()); + } } From ffbf49ac00e3a240bf9d6ab284c1780e10f0502c Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Thu, 26 Oct 2023 15:42:14 +0000 Subject: [PATCH 14/14] chore(main): release 2.29.0 (#1969) :robot: I have created a release *beep* *boop* --- ## [2.29.0](https://togithub.com/googleapis/java-bigtable/compare/v2.28.0...v2.29.0) (2023-10-26) ### Features * Add APIs to enable request priorities ([#1959](https://togithub.com/googleapis/java-bigtable/issues/1959)) ([befd140](https://togithub.com/googleapis/java-bigtable/commit/befd1402a0f324b365b72e3b237d33d2f3fe8bbc)) ### Dependencies * Update dependency org.graalvm.buildtools:junit-platform-native to v0.9.28 ([#1966](https://togithub.com/googleapis/java-bigtable/issues/1966)) ([8fb09e5](https://togithub.com/googleapis/java-bigtable/commit/8fb09e53a3d85273578ba26c522931047b249333)) * Update dependency org.graalvm.buildtools:native-maven-plugin to v0.9.28 ([#1967](https://togithub.com/googleapis/java-bigtable/issues/1967)) ([117e0ec](https://togithub.com/googleapis/java-bigtable/commit/117e0ec546343798cbc69eb23fef539de0b8bb8d)) * Update shared dependencies ([#1964](https://togithub.com/googleapis/java-bigtable/issues/1964)) ([bf5a9b7](https://togithub.com/googleapis/java-bigtable/commit/bf5a9b774f79005ee9980a12931597ddc1ec5bb3)) --- This PR was generated with [Release Please](https://togithub.com/googleapis/release-please). See [documentation](https://togithub.com/googleapis/release-please#release-please). --- CHANGELOG.md | 14 ++++++++++++++ google-cloud-bigtable-bom/pom.xml | 18 +++++++++--------- google-cloud-bigtable-deps-bom/pom.xml | 2 +- google-cloud-bigtable-emulator-core/pom.xml | 4 ++-- google-cloud-bigtable-emulator/pom.xml | 10 +++++----- google-cloud-bigtable-stats/pom.xml | 6 +++--- google-cloud-bigtable/pom.xml | 10 +++++----- .../com/google/cloud/bigtable/Version.java | 2 +- grpc-google-cloud-bigtable-admin-v2/pom.xml | 8 ++++---- grpc-google-cloud-bigtable-v2/pom.xml | 8 ++++---- pom.xml | 12 ++++++------ proto-google-cloud-bigtable-admin-v2/pom.xml | 8 ++++---- proto-google-cloud-bigtable-v2/pom.xml | 8 ++++---- samples/snapshot/pom.xml | 2 +- test-proxy/pom.xml | 4 ++-- versions.txt | 14 +++++++------- 16 files changed, 72 insertions(+), 58 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c11fe69531..b6cc7eac13 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,19 @@ # Changelog +## [2.29.0](https://github.com/googleapis/java-bigtable/compare/v2.28.0...v2.29.0) (2023-10-26) + + +### Features + +* Add APIs to enable request priorities ([#1959](https://github.com/googleapis/java-bigtable/issues/1959)) ([befd140](https://github.com/googleapis/java-bigtable/commit/befd1402a0f324b365b72e3b237d33d2f3fe8bbc)) + + +### Dependencies + +* Update dependency org.graalvm.buildtools:junit-platform-native to v0.9.28 ([#1966](https://github.com/googleapis/java-bigtable/issues/1966)) ([8fb09e5](https://github.com/googleapis/java-bigtable/commit/8fb09e53a3d85273578ba26c522931047b249333)) +* Update dependency org.graalvm.buildtools:native-maven-plugin to v0.9.28 ([#1967](https://github.com/googleapis/java-bigtable/issues/1967)) ([117e0ec](https://github.com/googleapis/java-bigtable/commit/117e0ec546343798cbc69eb23fef539de0b8bb8d)) +* Update shared dependencies ([#1964](https://github.com/googleapis/java-bigtable/issues/1964)) ([bf5a9b7](https://github.com/googleapis/java-bigtable/commit/bf5a9b774f79005ee9980a12931597ddc1ec5bb3)) + ## [2.28.0](https://github.com/googleapis/java-bigtable/compare/v2.27.4...v2.28.0) (2023-10-12) diff --git a/google-cloud-bigtable-bom/pom.xml b/google-cloud-bigtable-bom/pom.xml index 3f0fa38fe5..b7a896241e 100644 --- a/google-cloud-bigtable-bom/pom.xml +++ b/google-cloud-bigtable-bom/pom.xml @@ -3,7 +3,7 @@ 4.0.0 com.google.cloud google-cloud-bigtable-bom - 2.28.1-SNAPSHOT + 2.29.0 pom com.google.cloud @@ -63,42 +63,42 @@ com.google.cloud google-cloud-bigtable - 2.28.1-SNAPSHOT + 2.29.0 com.google.cloud google-cloud-bigtable-emulator - 0.165.1-SNAPSHOT + 0.166.0 com.google.cloud google-cloud-bigtable-emulator-core - 0.165.1-SNAPSHOT + 0.166.0 com.google.api.grpc grpc-google-cloud-bigtable-admin-v2 - 2.28.1-SNAPSHOT + 2.29.0 com.google.api.grpc grpc-google-cloud-bigtable-v2 - 2.28.1-SNAPSHOT + 2.29.0 com.google.api.grpc proto-google-cloud-bigtable-admin-v2 - 2.28.1-SNAPSHOT + 2.29.0 com.google.api.grpc proto-google-cloud-bigtable-v2 - 2.28.1-SNAPSHOT + 2.29.0 com.google.cloud google-cloud-bigtable-stats - 2.28.1-SNAPSHOT + 2.29.0
diff --git a/google-cloud-bigtable-deps-bom/pom.xml b/google-cloud-bigtable-deps-bom/pom.xml index 731f0079a3..57f113d42f 100644 --- a/google-cloud-bigtable-deps-bom/pom.xml +++ b/google-cloud-bigtable-deps-bom/pom.xml @@ -13,7 +13,7 @@ com.google.cloud google-cloud-bigtable-deps-bom - 2.28.1-SNAPSHOT + 2.29.0 pom diff --git a/google-cloud-bigtable-emulator-core/pom.xml b/google-cloud-bigtable-emulator-core/pom.xml index 763b17644a..4eaf662610 100644 --- a/google-cloud-bigtable-emulator-core/pom.xml +++ b/google-cloud-bigtable-emulator-core/pom.xml @@ -7,11 +7,11 @@ google-cloud-bigtable-parent com.google.cloud - 2.28.1-SNAPSHOT + 2.29.0 google-cloud-bigtable-emulator-core - 0.165.1-SNAPSHOT + 0.166.0 A Java wrapper for the Cloud Bigtable emulator. diff --git a/google-cloud-bigtable-emulator/pom.xml b/google-cloud-bigtable-emulator/pom.xml index 61902b4c25..a7bd731df6 100644 --- a/google-cloud-bigtable-emulator/pom.xml +++ b/google-cloud-bigtable-emulator/pom.xml @@ -5,7 +5,7 @@ 4.0.0 google-cloud-bigtable-emulator - 0.165.1-SNAPSHOT + 0.166.0 Google Cloud Java - Bigtable Emulator https://github.com/googleapis/java-bigtable @@ -14,7 +14,7 @@ com.google.cloud google-cloud-bigtable-parent - 2.28.1-SNAPSHOT + 2.29.0 scm:git:git@github.com:googleapis/java-bigtable.git @@ -81,14 +81,14 @@ com.google.cloud google-cloud-bigtable-deps-bom - 2.28.1-SNAPSHOT + 2.29.0 pom import com.google.cloud google-cloud-bigtable-bom - 2.28.1-SNAPSHOT + 2.29.0 pom import @@ -99,7 +99,7 @@ com.google.cloud google-cloud-bigtable-emulator-core - 0.165.1-SNAPSHOT + 0.166.0 diff --git a/google-cloud-bigtable-stats/pom.xml b/google-cloud-bigtable-stats/pom.xml index b30773428f..191475ff51 100644 --- a/google-cloud-bigtable-stats/pom.xml +++ b/google-cloud-bigtable-stats/pom.xml @@ -5,7 +5,7 @@ com.google.cloud google-cloud-bigtable-parent - 2.28.1-SNAPSHOT + 2.29.0 4.0.0 @@ -13,7 +13,7 @@ through Stackdriver. Built-in metrics will be implemented with shaded OpenCensus so it won't interfere with customer's application metrics. --> google-cloud-bigtable-stats - 2.28.1-SNAPSHOT + 2.29.0 Experimental project to shade OpenCensus dependencies. @@ -21,7 +21,7 @@ com.google.cloud google-cloud-bigtable-deps-bom - 2.28.1-SNAPSHOT + 2.29.0 pom import diff --git a/google-cloud-bigtable/pom.xml b/google-cloud-bigtable/pom.xml index bb330f44fa..085e845421 100644 --- a/google-cloud-bigtable/pom.xml +++ b/google-cloud-bigtable/pom.xml @@ -2,7 +2,7 @@ 4.0.0 google-cloud-bigtable - 2.28.1-SNAPSHOT + 2.29.0 jar Google Cloud Bigtable https://github.com/googleapis/java-bigtable @@ -12,11 +12,11 @@ com.google.cloud google-cloud-bigtable-parent - 2.28.1-SNAPSHOT + 2.29.0 - 2.28.1-SNAPSHOT + 2.29.0 google-cloud-bigtable @@ -47,14 +47,14 @@ com.google.cloud google-cloud-bigtable-deps-bom - 2.28.1-SNAPSHOT + 2.29.0 pom import com.google.cloud google-cloud-bigtable-bom - 2.28.1-SNAPSHOT + 2.29.0 pom import diff --git a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/Version.java b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/Version.java index 9eb45cb08c..7e9234d67d 100644 --- a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/Version.java +++ b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/Version.java @@ -20,6 +20,6 @@ @InternalApi("For internal use only") public final class Version { // {x-version-update-start:google-cloud-bigtable:current} - public static String VERSION = "2.28.1-SNAPSHOT"; + public static String VERSION = "2.29.0"; // {x-version-update-end} } diff --git a/grpc-google-cloud-bigtable-admin-v2/pom.xml b/grpc-google-cloud-bigtable-admin-v2/pom.xml index 26af993a1d..aec89fdfde 100644 --- a/grpc-google-cloud-bigtable-admin-v2/pom.xml +++ b/grpc-google-cloud-bigtable-admin-v2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-bigtable-admin-v2 - 2.28.1-SNAPSHOT + 2.29.0 grpc-google-cloud-bigtable-admin-v2 GRPC library for grpc-google-cloud-bigtable-admin-v2 com.google.cloud google-cloud-bigtable-parent - 2.28.1-SNAPSHOT + 2.29.0 @@ -18,14 +18,14 @@ com.google.cloud google-cloud-bigtable-deps-bom - 2.28.1-SNAPSHOT + 2.29.0 pom import com.google.cloud google-cloud-bigtable-bom - 2.28.1-SNAPSHOT + 2.29.0 pom import diff --git a/grpc-google-cloud-bigtable-v2/pom.xml b/grpc-google-cloud-bigtable-v2/pom.xml index eb874aa85b..fdab0971e7 100644 --- a/grpc-google-cloud-bigtable-v2/pom.xml +++ b/grpc-google-cloud-bigtable-v2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-bigtable-v2 - 2.28.1-SNAPSHOT + 2.29.0 grpc-google-cloud-bigtable-v2 GRPC library for grpc-google-cloud-bigtable-v2 com.google.cloud google-cloud-bigtable-parent - 2.28.1-SNAPSHOT + 2.29.0 @@ -18,14 +18,14 @@ com.google.cloud google-cloud-bigtable-deps-bom - 2.28.1-SNAPSHOT + 2.29.0 pom import com.google.cloud google-cloud-bigtable-bom - 2.28.1-SNAPSHOT + 2.29.0 pom import diff --git a/pom.xml b/pom.xml index f80106e0c9..2db07ff164 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ google-cloud-bigtable-parent pom - 2.28.1-SNAPSHOT + 2.29.0 Google Cloud Bigtable Parent https://github.com/googleapis/java-bigtable @@ -153,27 +153,27 @@ com.google.api.grpc proto-google-cloud-bigtable-v2 - 2.28.1-SNAPSHOT + 2.29.0 com.google.api.grpc proto-google-cloud-bigtable-admin-v2 - 2.28.1-SNAPSHOT + 2.29.0 com.google.api.grpc grpc-google-cloud-bigtable-v2 - 2.28.1-SNAPSHOT + 2.29.0 com.google.api.grpc grpc-google-cloud-bigtable-admin-v2 - 2.28.1-SNAPSHOT + 2.29.0 com.google.cloud google-cloud-bigtable - 2.28.1-SNAPSHOT + 2.29.0 diff --git a/proto-google-cloud-bigtable-admin-v2/pom.xml b/proto-google-cloud-bigtable-admin-v2/pom.xml index 1936b4d442..c0e1dd00de 100644 --- a/proto-google-cloud-bigtable-admin-v2/pom.xml +++ b/proto-google-cloud-bigtable-admin-v2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-bigtable-admin-v2 - 2.28.1-SNAPSHOT + 2.29.0 proto-google-cloud-bigtable-admin-v2 PROTO library for proto-google-cloud-bigtable-admin-v2 com.google.cloud google-cloud-bigtable-parent - 2.28.1-SNAPSHOT + 2.29.0 @@ -18,14 +18,14 @@ com.google.cloud google-cloud-bigtable-deps-bom - 2.28.1-SNAPSHOT + 2.29.0 pom import com.google.cloud google-cloud-bigtable-bom - 2.28.1-SNAPSHOT + 2.29.0 pom import diff --git a/proto-google-cloud-bigtable-v2/pom.xml b/proto-google-cloud-bigtable-v2/pom.xml index a67372c14b..1e836f4a54 100644 --- a/proto-google-cloud-bigtable-v2/pom.xml +++ b/proto-google-cloud-bigtable-v2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-bigtable-v2 - 2.28.1-SNAPSHOT + 2.29.0 proto-google-cloud-bigtable-v2 PROTO library for proto-google-cloud-bigtable-v2 com.google.cloud google-cloud-bigtable-parent - 2.28.1-SNAPSHOT + 2.29.0 @@ -18,14 +18,14 @@ com.google.cloud google-cloud-bigtable-deps-bom - 2.28.1-SNAPSHOT + 2.29.0 pom import com.google.cloud google-cloud-bigtable-bom - 2.28.1-SNAPSHOT + 2.29.0 pom import diff --git a/samples/snapshot/pom.xml b/samples/snapshot/pom.xml index f59ec028aa..4a9880808e 100644 --- a/samples/snapshot/pom.xml +++ b/samples/snapshot/pom.xml @@ -28,7 +28,7 @@ com.google.cloud google-cloud-bigtable - 2.28.1-SNAPSHOT + 2.29.0 diff --git a/test-proxy/pom.xml b/test-proxy/pom.xml index 8af2d7ed0a..75cce2e5b3 100644 --- a/test-proxy/pom.xml +++ b/test-proxy/pom.xml @@ -12,11 +12,11 @@ google-cloud-bigtable-parent com.google.cloud - 2.28.1-SNAPSHOT + 2.29.0 - 2.28.1-SNAPSHOT + 2.29.0 diff --git a/versions.txt b/versions.txt index c354293402..6331311cec 100644 --- a/versions.txt +++ b/versions.txt @@ -1,10 +1,10 @@ # Format: # module:released-version:current-version -google-cloud-bigtable:2.28.0:2.28.1-SNAPSHOT -grpc-google-cloud-bigtable-admin-v2:2.28.0:2.28.1-SNAPSHOT -grpc-google-cloud-bigtable-v2:2.28.0:2.28.1-SNAPSHOT -proto-google-cloud-bigtable-admin-v2:2.28.0:2.28.1-SNAPSHOT -proto-google-cloud-bigtable-v2:2.28.0:2.28.1-SNAPSHOT -google-cloud-bigtable-emulator:0.165.0:0.165.1-SNAPSHOT -google-cloud-bigtable-emulator-core:0.165.0:0.165.1-SNAPSHOT +google-cloud-bigtable:2.29.0:2.29.0 +grpc-google-cloud-bigtable-admin-v2:2.29.0:2.29.0 +grpc-google-cloud-bigtable-v2:2.29.0:2.29.0 +proto-google-cloud-bigtable-admin-v2:2.29.0:2.29.0 +proto-google-cloud-bigtable-v2:2.29.0:2.29.0 +google-cloud-bigtable-emulator:0.166.0:0.166.0 +google-cloud-bigtable-emulator-core:0.166.0:0.166.0