From ab628b66bd99ca5b61269e15a0a83e3afc40fbae Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Fri, 2 Jul 2021 15:07:40 -0400 Subject: [PATCH 01/16] chore: release 1.27.3-SNAPSHOT (#895) Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> --- google-cloud-bigtable-bom/pom.xml | 14 +++++++------- google-cloud-bigtable-deps-bom/pom.xml | 2 +- google-cloud-bigtable-emulator/pom.xml | 8 ++++---- google-cloud-bigtable/pom.xml | 10 +++++----- .../java/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 | 2 +- proto-google-cloud-bigtable-admin-v2/pom.xml | 8 ++++---- proto-google-cloud-bigtable-v2/pom.xml | 8 ++++---- samples/snapshot/pom.xml | 2 +- versions.txt | 12 ++++++------ 12 files changed, 42 insertions(+), 42 deletions(-) diff --git a/google-cloud-bigtable-bom/pom.xml b/google-cloud-bigtable-bom/pom.xml index c101ec340d..9165cd72c5 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 - 1.27.2 + 1.27.3-SNAPSHOT pom com.google.cloud @@ -72,32 +72,32 @@ com.google.cloud google-cloud-bigtable - 1.27.2 + 1.27.3-SNAPSHOT com.google.cloud google-cloud-bigtable-emulator - 0.136.2 + 0.136.3-SNAPSHOT com.google.api.grpc grpc-google-cloud-bigtable-admin-v2 - 1.27.2 + 1.27.3-SNAPSHOT com.google.api.grpc grpc-google-cloud-bigtable-v2 - 1.27.2 + 1.27.3-SNAPSHOT com.google.api.grpc proto-google-cloud-bigtable-admin-v2 - 1.27.2 + 1.27.3-SNAPSHOT com.google.api.grpc proto-google-cloud-bigtable-v2 - 1.27.2 + 1.27.3-SNAPSHOT diff --git a/google-cloud-bigtable-deps-bom/pom.xml b/google-cloud-bigtable-deps-bom/pom.xml index 43815618e9..050ad1358e 100644 --- a/google-cloud-bigtable-deps-bom/pom.xml +++ b/google-cloud-bigtable-deps-bom/pom.xml @@ -12,7 +12,7 @@ com.google.cloud google-cloud-bigtable-deps-bom - 1.27.2 + 1.27.3-SNAPSHOT pom diff --git a/google-cloud-bigtable-emulator/pom.xml b/google-cloud-bigtable-emulator/pom.xml index 85b7344a04..b777d9b20d 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.136.2 + 0.136.3-SNAPSHOT Google Cloud Java - Bigtable Emulator https://github.com/googleapis/java-bigtable @@ -14,7 +14,7 @@ com.google.cloud google-cloud-bigtable-parent - 1.27.2 + 1.27.3-SNAPSHOT scm:git:git@github.com:googleapis/java-bigtable.git @@ -80,14 +80,14 @@ com.google.cloud google-cloud-bigtable-deps-bom - 1.27.2 + 1.27.3-SNAPSHOT pom import com.google.cloud google-cloud-bigtable-bom - 1.27.2 + 1.27.3-SNAPSHOT pom import diff --git a/google-cloud-bigtable/pom.xml b/google-cloud-bigtable/pom.xml index 8207585b0d..99f8bf66cb 100644 --- a/google-cloud-bigtable/pom.xml +++ b/google-cloud-bigtable/pom.xml @@ -2,7 +2,7 @@ 4.0.0 google-cloud-bigtable - 1.27.2 + 1.27.3-SNAPSHOT jar Google Cloud Bigtable https://github.com/googleapis/java-bigtable @@ -12,11 +12,11 @@ com.google.cloud google-cloud-bigtable-parent - 1.27.2 + 1.27.3-SNAPSHOT - 1.27.2 + 1.27.3-SNAPSHOT google-cloud-bigtable @@ -43,14 +43,14 @@ com.google.cloud google-cloud-bigtable-deps-bom - 1.27.2 + 1.27.3-SNAPSHOT pom import com.google.cloud google-cloud-bigtable-bom - 1.27.2 + 1.27.3-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 e75a487e33..e7bbdf0ad9 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 = "1.27.2"; + public static String VERSION = "1.27.3-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 3f0dd71e3c..2b3c881767 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 - 1.27.2 + 1.27.3-SNAPSHOT grpc-google-cloud-bigtable-admin-v2 GRPC library for grpc-google-cloud-bigtable-admin-v2 com.google.cloud google-cloud-bigtable-parent - 1.27.2 + 1.27.3-SNAPSHOT @@ -18,14 +18,14 @@ com.google.cloud google-cloud-bigtable-deps-bom - 1.27.2 + 1.27.3-SNAPSHOT pom import com.google.cloud google-cloud-bigtable-bom - 1.27.2 + 1.27.3-SNAPSHOT pom import diff --git a/grpc-google-cloud-bigtable-v2/pom.xml b/grpc-google-cloud-bigtable-v2/pom.xml index fce4d4ce56..f5bd4c07f0 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 - 1.27.2 + 1.27.3-SNAPSHOT grpc-google-cloud-bigtable-v2 GRPC library for grpc-google-cloud-bigtable-v2 com.google.cloud google-cloud-bigtable-parent - 1.27.2 + 1.27.3-SNAPSHOT @@ -18,14 +18,14 @@ com.google.cloud google-cloud-bigtable-deps-bom - 1.27.2 + 1.27.3-SNAPSHOT pom import com.google.cloud google-cloud-bigtable-bom - 1.27.2 + 1.27.3-SNAPSHOT pom import diff --git a/pom.xml b/pom.xml index 23ee375fab..bed575833d 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ google-cloud-bigtable-parent pom - 1.27.2 + 1.27.3-SNAPSHOT Google Cloud Bigtable Parent https://github.com/googleapis/java-bigtable diff --git a/proto-google-cloud-bigtable-admin-v2/pom.xml b/proto-google-cloud-bigtable-admin-v2/pom.xml index 4639e9d515..d8ef09b76f 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 - 1.27.2 + 1.27.3-SNAPSHOT proto-google-cloud-bigtable-admin-v2 PROTO library for proto-google-cloud-bigtable-admin-v2 com.google.cloud google-cloud-bigtable-parent - 1.27.2 + 1.27.3-SNAPSHOT @@ -18,14 +18,14 @@ com.google.cloud google-cloud-bigtable-deps-bom - 1.27.2 + 1.27.3-SNAPSHOT pom import com.google.cloud google-cloud-bigtable-bom - 1.27.2 + 1.27.3-SNAPSHOT pom import diff --git a/proto-google-cloud-bigtable-v2/pom.xml b/proto-google-cloud-bigtable-v2/pom.xml index ba745bcb97..dd0fe16f04 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 - 1.27.2 + 1.27.3-SNAPSHOT proto-google-cloud-bigtable-v2 PROTO library for proto-google-cloud-bigtable-v2 com.google.cloud google-cloud-bigtable-parent - 1.27.2 + 1.27.3-SNAPSHOT @@ -18,14 +18,14 @@ com.google.cloud google-cloud-bigtable-deps-bom - 1.27.2 + 1.27.3-SNAPSHOT pom import com.google.cloud google-cloud-bigtable-bom - 1.27.2 + 1.27.3-SNAPSHOT pom import diff --git a/samples/snapshot/pom.xml b/samples/snapshot/pom.xml index 7107869dff..1453b32f60 100644 --- a/samples/snapshot/pom.xml +++ b/samples/snapshot/pom.xml @@ -28,7 +28,7 @@ com.google.cloud google-cloud-bigtable - 1.27.2 + 1.27.3-SNAPSHOT diff --git a/versions.txt b/versions.txt index dc85b3e5de..6b25a9a274 100644 --- a/versions.txt +++ b/versions.txt @@ -1,9 +1,9 @@ # Format: # module:released-version:current-version -google-cloud-bigtable:1.27.2:1.27.2 -grpc-google-cloud-bigtable-admin-v2:1.27.2:1.27.2 -grpc-google-cloud-bigtable-v2:1.27.2:1.27.2 -proto-google-cloud-bigtable-admin-v2:1.27.2:1.27.2 -proto-google-cloud-bigtable-v2:1.27.2:1.27.2 -google-cloud-bigtable-emulator:0.136.2:0.136.2 +google-cloud-bigtable:1.27.2:1.27.3-SNAPSHOT +grpc-google-cloud-bigtable-admin-v2:1.27.2:1.27.3-SNAPSHOT +grpc-google-cloud-bigtable-v2:1.27.2:1.27.3-SNAPSHOT +proto-google-cloud-bigtable-admin-v2:1.27.2:1.27.3-SNAPSHOT +proto-google-cloud-bigtable-v2:1.27.2:1.27.3-SNAPSHOT +google-cloud-bigtable-emulator:0.136.2:0.136.3-SNAPSHOT From e1e901978f22c3e4cbdee21a12be665f997f643b Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Fri, 2 Jul 2021 22:20:30 +0200 Subject: [PATCH 02/16] chore(deps): update dependency com.google.cloud:google-cloud-bigtable to v1.27.2 (#896) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [![WhiteSource Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [com.google.cloud:google-cloud-bigtable](https://togithub.com/googleapis/java-bigtable) | `1.27.1` -> `1.27.2` | [![age](https://badges.renovateapi.com/packages/maven/com.google.cloud:google-cloud-bigtable/1.27.2/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/maven/com.google.cloud:google-cloud-bigtable/1.27.2/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/maven/com.google.cloud:google-cloud-bigtable/1.27.2/compatibility-slim/1.27.1)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/maven/com.google.cloud:google-cloud-bigtable/1.27.2/confidence-slim/1.27.1)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes
googleapis/java-bigtable ### [`v1.27.2`](https://togithub.com/googleapis/java-bigtable/blob/master/CHANGELOG.md#​1272-httpswwwgithubcomgoogleapisjava-bigtablecomparev1271v1272-2021-07-01) [Compare Source](https://togithub.com/googleapis/java-bigtable/compare/v1.27.1...v1.27.2)
--- ### Configuration 📅 **Schedule**: 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 [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#github/googleapis/java-bigtable). --- samples/install-without-bom/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/samples/install-without-bom/pom.xml b/samples/install-without-bom/pom.xml index 2edeb7cad9..30f0a73a87 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 - 1.27.1 + 1.27.2 From 5d036b2a2525fe3b2a0f1cbe0f92f3e5e63876b9 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Tue, 6 Jul 2021 10:18:34 -0700 Subject: [PATCH 03/16] chore: regenerate README (#897) This PR was generated using Autosynth. :rainbow:
Log from Synthtool ``` 2021-07-02 19:10:00,246 synthtool [DEBUG] > Executing /root/.cache/synthtool/java-bigtable/.github/readme/synth.py. On branch autosynth-readme nothing to commit, working tree clean 2021-07-02 19:10:01,800 synthtool [DEBUG] > Wrote metadata to .github/readme/synth.metadata/synth.metadata. ```
Full log will be available here: https://source.cloud.google.com/results/invocations/517738ac-21dc-4d27-9f96-e6b54ad2f5cb/targets - [ ] To automatically regenerate this PR, check this box. (May take up to 24 hours.) --- .github/readme/synth.metadata/synth.metadata | 2 +- README.md | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/readme/synth.metadata/synth.metadata b/.github/readme/synth.metadata/synth.metadata index 1a7f810247..6ac38c3b2a 100644 --- a/.github/readme/synth.metadata/synth.metadata +++ b/.github/readme/synth.metadata/synth.metadata @@ -4,7 +4,7 @@ "git": { "name": ".", "remote": "https://github.com/googleapis/java-bigtable.git", - "sha": "d2ca9c62f3fcb9c79c97ef8a73bad3a0e7555afc" + "sha": "ab628b66bd99ca5b61269e15a0a83e3afc40fbae" } }, { diff --git a/README.md b/README.md index 9c6a462d38..bfb7833255 100644 --- a/README.md +++ b/README.md @@ -51,12 +51,12 @@ compile 'com.google.cloud:google-cloud-bigtable' ``` If you are using Gradle without BOM, add this to your dependencies ```Groovy -compile 'com.google.cloud:google-cloud-bigtable:1.27.1' +compile 'com.google.cloud:google-cloud-bigtable:1.27.2' ``` If you are using SBT, add this to your dependencies ```Scala -libraryDependencies += "com.google.cloud" % "google-cloud-bigtable" % "1.27.1" +libraryDependencies += "com.google.cloud" % "google-cloud-bigtable" % "1.27.2" ``` ## Authentication From aab6ec73f42b0dcd089b1b54a8bc34d6b3b588da Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Tue, 6 Jul 2021 10:43:51 -0700 Subject: [PATCH 04/16] chore: regenerate README (#898) This PR was generated using Autosynth. :rainbow:
Log from Synthtool ``` 2021-07-06 17:24:55,404 synthtool [DEBUG] > Executing /root/.cache/synthtool/java-bigtable/.github/readme/synth.py. On branch autosynth-readme nothing to commit, working tree clean 2021-07-06 17:24:56,637 synthtool [DEBUG] > Wrote metadata to .github/readme/synth.metadata/synth.metadata. ```
Full log will be available here: https://source.cloud.google.com/results/invocations/79ba0556-602c-469c-88d3-093d3c05ef51/targets - [ ] To automatically regenerate this PR, check this box. (May take up to 24 hours.) --- .github/readme/synth.metadata/synth.metadata | 2 +- README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/readme/synth.metadata/synth.metadata b/.github/readme/synth.metadata/synth.metadata index 6ac38c3b2a..345588f7f9 100644 --- a/.github/readme/synth.metadata/synth.metadata +++ b/.github/readme/synth.metadata/synth.metadata @@ -4,7 +4,7 @@ "git": { "name": ".", "remote": "https://github.com/googleapis/java-bigtable.git", - "sha": "ab628b66bd99ca5b61269e15a0a83e3afc40fbae" + "sha": "5d036b2a2525fe3b2a0f1cbe0f92f3e5e63876b9" } }, { diff --git a/README.md b/README.md index bfb7833255..1f89d2959b 100644 --- a/README.md +++ b/README.md @@ -38,7 +38,7 @@ If you are using Maven without BOM, add this to your dependencies: com.google.cloud google-cloud-bigtable - 1.27.1 + 1.27.2 ``` From 6448dce501b6a77cb4994d8a542a91f416c93e25 Mon Sep 17 00:00:00 2001 From: Neenu Shaji Date: Wed, 7 Jul 2021 11:00:11 -0400 Subject: [PATCH 05/16] chore: remove distributionManagement section (#899) All java client libraries inherit the distributionManagement section form shared-config. To prevent individual pom files from overriding the shared-config version of distributionManagement, it is being removed. --- pom.xml | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/pom.xml b/pom.xml index bed575833d..12bfaaf057 100644 --- a/pom.xml +++ b/pom.xml @@ -129,16 +129,7 @@ https://github.com/googleapis/java-bigtable/issues GitHub Issues - - - sonatype-nexus-snapshots - https://oss.sonatype.org/content/repositories/snapshots - - - sonatype-nexus-staging - https://oss.sonatype.org/service/local/staging/deploy/maven2/ - - + Apache-2.0 From fba970daf057afe8a7294194b8529d90843634e8 Mon Sep 17 00:00:00 2001 From: Neenu Shaji Date: Thu, 8 Jul 2021 13:52:22 -0400 Subject: [PATCH 06/16] chore: remove distributionManagement section (#900) All java client libraries inherit the distributionManagement section form shared-config. To prevent individual pom files from overriding the shared-config version of distributionManagement, it is being removed. --- google-cloud-bigtable-bom/pom.xml | 10 ---------- google-cloud-bigtable-deps-bom/pom.xml | 10 ---------- 2 files changed, 20 deletions(-) diff --git a/google-cloud-bigtable-bom/pom.xml b/google-cloud-bigtable-bom/pom.xml index 9165cd72c5..74172f670d 100644 --- a/google-cloud-bigtable-bom/pom.xml +++ b/google-cloud-bigtable-bom/pom.xml @@ -48,16 +48,6 @@ https://github.com/googleapis/java-bigtable
- - - sonatype-nexus-snapshots - https://oss.sonatype.org/content/repositories/snapshots - - - sonatype-nexus-staging - https://oss.sonatype.org/service/local/staging/deploy/maven2/ - - diff --git a/google-cloud-bigtable-deps-bom/pom.xml b/google-cloud-bigtable-deps-bom/pom.xml index 050ad1358e..c4c16f5fc8 100644 --- a/google-cloud-bigtable-deps-bom/pom.xml +++ b/google-cloud-bigtable-deps-bom/pom.xml @@ -51,16 +51,6 @@ https://github.com/googleapis/java-bigtable - - - sonatype-nexus-snapshots - https://oss.sonatype.org/content/repositories/snapshots - - - sonatype-nexus-staging - https://oss.sonatype.org/service/local/staging/deploy/maven2/ - - From 905878a276c365f0c15a4c18469020ae793b2dd3 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Thu, 8 Jul 2021 11:10:22 -0700 Subject: [PATCH 07/16] chore: regenerate README (#901) This PR was generated using Autosynth. :rainbow:
Log from Synthtool ``` 2021-07-08 17:54:35,144 synthtool [DEBUG] > Executing /root/.cache/synthtool/java-bigtable/.github/readme/synth.py. On branch autosynth-readme nothing to commit, working tree clean 2021-07-08 17:54:36,613 synthtool [DEBUG] > Wrote metadata to .github/readme/synth.metadata/synth.metadata. ```
Full log will be available here: https://source.cloud.google.com/results/invocations/7b3cfc9b-a7f7-4a63-a8dd-4714bc7601d7/targets - [ ] To automatically regenerate this PR, check this box. (May take up to 24 hours.) --- .github/readme/synth.metadata/synth.metadata | 2 +- README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/readme/synth.metadata/synth.metadata b/.github/readme/synth.metadata/synth.metadata index 345588f7f9..3fe31f45fc 100644 --- a/.github/readme/synth.metadata/synth.metadata +++ b/.github/readme/synth.metadata/synth.metadata @@ -4,7 +4,7 @@ "git": { "name": ".", "remote": "https://github.com/googleapis/java-bigtable.git", - "sha": "5d036b2a2525fe3b2a0f1cbe0f92f3e5e63876b9" + "sha": "fba970daf057afe8a7294194b8529d90843634e8" } }, { diff --git a/README.md b/README.md index 1f89d2959b..e371c24771 100644 --- a/README.md +++ b/README.md @@ -45,7 +45,7 @@ If you are using Maven without 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:20.7.0') +implementation platform('com.google.cloud:libraries-bom:20.8.0') compile 'com.google.cloud:google-cloud-bigtable' ``` From abe0c3ff304226ff885d0418fca582016ad171ba Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Thu, 8 Jul 2021 20:44:08 +0200 Subject: [PATCH 08/16] chore(deps): update dependency com.google.cloud:libraries-bom to v20.8.0 (#902) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [![WhiteSource Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [com.google.cloud:libraries-bom](https://togithub.com/GoogleCloudPlatform/cloud-opensource-java) | `20.7.0` -> `20.8.0` | [![age](https://badges.renovateapi.com/packages/maven/com.google.cloud:libraries-bom/20.8.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/maven/com.google.cloud:libraries-bom/20.8.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/maven/com.google.cloud:libraries-bom/20.8.0/compatibility-slim/20.7.0)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/maven/com.google.cloud:libraries-bom/20.8.0/confidence-slim/20.7.0)](https://docs.renovatebot.com/merge-confidence/) | --- ### Configuration 📅 **Schedule**: 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 [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#github/googleapis/java-bigtable). --- samples/snippets/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/samples/snippets/pom.xml b/samples/snippets/pom.xml index 14e12ec1cd..1d9b4e2af7 100644 --- a/samples/snippets/pom.xml +++ b/samples/snippets/pom.xml @@ -30,7 +30,7 @@ com.google.cloud libraries-bom - 20.7.0 + 20.8.0 pom import From 3b14954da3afcbe0511c95a3c6baa3d93282deb9 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Thu, 8 Jul 2021 12:04:23 -0700 Subject: [PATCH 09/16] chore: regenerate README (#903) This PR was generated using Autosynth. :rainbow:
Log from Synthtool ``` 2021-07-08 18:47:00,383 synthtool [DEBUG] > Executing /root/.cache/synthtool/java-bigtable/.github/readme/synth.py. On branch autosynth-readme nothing to commit, working tree clean 2021-07-08 18:47:02,371 synthtool [DEBUG] > Wrote metadata to .github/readme/synth.metadata/synth.metadata. ```
Full log will be available here: https://source.cloud.google.com/results/invocations/ef47a474-ada0-40dc-a2a5-df6f50e2598c/targets - [ ] To automatically regenerate this PR, check this box. (May take up to 24 hours.) --- .github/readme/synth.metadata/synth.metadata | 2 +- README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/readme/synth.metadata/synth.metadata b/.github/readme/synth.metadata/synth.metadata index 3fe31f45fc..7e3ff7dfbf 100644 --- a/.github/readme/synth.metadata/synth.metadata +++ b/.github/readme/synth.metadata/synth.metadata @@ -4,7 +4,7 @@ "git": { "name": ".", "remote": "https://github.com/googleapis/java-bigtable.git", - "sha": "fba970daf057afe8a7294194b8529d90843634e8" + "sha": "abe0c3ff304226ff885d0418fca582016ad171ba" } }, { diff --git a/README.md b/README.md index e371c24771..58ca340633 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ If you are using Maven with [BOM][libraries-bom], add this to your pom.xml file com.google.cloud libraries-bom - 20.7.0 + 20.8.0 pom import From 95e53791510279b90af12c5ff07b9f0d92960ca6 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Fri, 9 Jul 2021 10:02:36 -0700 Subject: [PATCH 10/16] chore: remove All rights reserved clause from java.header (#904) This PR was generated using Autosynth. :rainbow: Synth log will be available here: https://source.cloud.google.com/results/invocations/defeb78e-d77b-4325-9987-7032ce12efa6/targets - [ ] To automatically regenerate this PR, check this box. (May take up to 24 hours.) Source-Link: https://github.com/googleapis/synthtool/commit/09c59c20a4bf0daed1665af59035ff240fe356df --- java.header | 2 +- synth.metadata | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/java.header b/java.header index 3a9b503aa2..d0970ba7d3 100644 --- a/java.header +++ b/java.header @@ -1,5 +1,5 @@ ^/\*$ -^ \* Copyright \d\d\d\d,? Google (Inc\.|LLC)( All [rR]ights [rR]eserved\.)?$ +^ \* Copyright \d\d\d\d,? Google (Inc\.|LLC)$ ^ \*$ ^ \* Licensed under the Apache License, Version 2\.0 \(the "License"\);$ ^ \* you may not use this file except in compliance with the License\.$ diff --git a/synth.metadata b/synth.metadata index 2eaedb8ee9..395e43e869 100644 --- a/synth.metadata +++ b/synth.metadata @@ -4,7 +4,7 @@ "git": { "name": ".", "remote": "https://github.com/googleapis/java-bigtable.git", - "sha": "099f5068891991539ab584571a2b22cf7f45fab6" + "sha": "3b14954da3afcbe0511c95a3c6baa3d93282deb9" } }, { @@ -19,7 +19,7 @@ "git": { "name": "synthtool", "remote": "https://github.com/googleapis/synthtool.git", - "sha": "87254ac89a9559864c0a245d6b150406439ce3d8" + "sha": "09c59c20a4bf0daed1665af59035ff240fe356df" } } ], From 7d5108ec2f2803bf1a517658a3c5471e372c50a7 Mon Sep 17 00:00:00 2001 From: Mattie Fu Date: Mon, 12 Jul 2021 11:36:24 -0400 Subject: [PATCH 11/16] chore: use BaseApiTracer and BaseApiTracerFactory (#879) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Extends `BaseApiTracer` and `BaseApiTracerFactory` instead of implementing `ApiTracer` and `ApiTracerFactory` after gax change is picked up. New methods could be added to `ApiTracer` and won't break the client. 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://github.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) Fixes # ☕️ --- .../cloud/bigtable/data/v2/stub/metrics/CompositeTracer.java | 3 ++- .../bigtable/data/v2/stub/metrics/CompositeTracerFactory.java | 3 ++- .../cloud/bigtable/data/v2/stub/metrics/MetricsTracer.java | 4 ++-- .../bigtable/data/v2/stub/metrics/MetricsTracerFactory.java | 3 ++- 4 files changed, 8 insertions(+), 5 deletions(-) diff --git a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/metrics/CompositeTracer.java b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/metrics/CompositeTracer.java index 33bf9c42b9..25893ee881 100644 --- a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/metrics/CompositeTracer.java +++ b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/metrics/CompositeTracer.java @@ -16,13 +16,14 @@ package com.google.cloud.bigtable.data.v2.stub.metrics; import com.google.api.gax.tracing.ApiTracer; +import com.google.api.gax.tracing.BaseApiTracer; import com.google.common.collect.ImmutableList; import java.util.ArrayList; import java.util.List; import org.threeten.bp.Duration; /** Combines multiple {@link ApiTracer}s into a single {@link ApiTracer}. */ -class CompositeTracer implements ApiTracer { +class CompositeTracer extends BaseApiTracer { private final List children; CompositeTracer(List children) { diff --git a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/metrics/CompositeTracerFactory.java b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/metrics/CompositeTracerFactory.java index e2e399ae3d..2d9256a5ea 100644 --- a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/metrics/CompositeTracerFactory.java +++ b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/metrics/CompositeTracerFactory.java @@ -18,6 +18,7 @@ import com.google.api.core.InternalApi; import com.google.api.gax.tracing.ApiTracer; import com.google.api.gax.tracing.ApiTracerFactory; +import com.google.api.gax.tracing.BaseApiTracerFactory; import com.google.api.gax.tracing.SpanName; import com.google.common.collect.ImmutableList; import java.util.ArrayList; @@ -25,7 +26,7 @@ /** Combines multiple {@link ApiTracerFactory} into a single {@link ApiTracerFactory}. */ @InternalApi("For internal use only") -public class CompositeTracerFactory implements ApiTracerFactory { +public class CompositeTracerFactory extends BaseApiTracerFactory { private final List apiTracerFactories; public CompositeTracerFactory(List apiTracerFactories) { diff --git a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/metrics/MetricsTracer.java b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/metrics/MetricsTracer.java index fae914ea98..3d95324505 100644 --- a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/metrics/MetricsTracer.java +++ b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/metrics/MetricsTracer.java @@ -15,8 +15,8 @@ */ package com.google.cloud.bigtable.data.v2.stub.metrics; -import com.google.api.gax.tracing.ApiTracer; import com.google.api.gax.tracing.ApiTracerFactory.OperationType; +import com.google.api.gax.tracing.BaseApiTracer; import com.google.api.gax.tracing.SpanName; import com.google.common.base.Stopwatch; import io.opencensus.stats.MeasureMap; @@ -34,7 +34,7 @@ import javax.annotation.Nullable; import org.threeten.bp.Duration; -class MetricsTracer implements ApiTracer { +class MetricsTracer extends BaseApiTracer { private final OperationType operationType; diff --git a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/metrics/MetricsTracerFactory.java b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/metrics/MetricsTracerFactory.java index 24b22d3531..e0c173a2be 100644 --- a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/metrics/MetricsTracerFactory.java +++ b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/metrics/MetricsTracerFactory.java @@ -18,6 +18,7 @@ import com.google.api.core.InternalApi; import com.google.api.gax.tracing.ApiTracer; import com.google.api.gax.tracing.ApiTracerFactory; +import com.google.api.gax.tracing.BaseApiTracerFactory; import com.google.api.gax.tracing.SpanName; import com.google.common.collect.ImmutableMap; import io.opencensus.stats.StatsRecorder; @@ -30,7 +31,7 @@ * api. */ @InternalApi("For internal use only") -public class MetricsTracerFactory implements ApiTracerFactory { +public class MetricsTracerFactory extends BaseApiTracerFactory { private final Tagger tagger; private final StatsRecorder stats; private final ImmutableMap statsAttributes; From 88e80b622a53234abd939a952e064a3b611fea2a Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Thu, 15 Jul 2021 07:30:34 -0700 Subject: [PATCH 12/16] chore: add dependencyDashboardLabels to renovate.json (#914) This PR was generated using Autosynth. :rainbow: Synth log will be available here: https://source.cloud.google.com/results/invocations/de2006ef-73ee-4610-a649-de5c5b2cb687/targets - [ ] To automatically regenerate this PR, check this box. (May take up to 24 hours.) Source-Link: https://github.com/googleapis/synthtool/commit/5d3c52f5db664eee9026db76b5bcb466f3a09ca9 --- renovate.json | 5 ++++- synth.metadata | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/renovate.json b/renovate.json index 9022e7bfc4..6506adcdb6 100644 --- a/renovate.json +++ b/renovate.json @@ -69,5 +69,8 @@ } ], "semanticCommits": true, - "masterIssue": true + "dependencyDashboard": true, + "dependencyDashboardLabels": [ + "type: process" + ] } diff --git a/synth.metadata b/synth.metadata index 395e43e869..b5b1385c38 100644 --- a/synth.metadata +++ b/synth.metadata @@ -4,7 +4,7 @@ "git": { "name": ".", "remote": "https://github.com/googleapis/java-bigtable.git", - "sha": "3b14954da3afcbe0511c95a3c6baa3d93282deb9" + "sha": "7d5108ec2f2803bf1a517658a3c5471e372c50a7" } }, { @@ -19,7 +19,7 @@ "git": { "name": "synthtool", "remote": "https://github.com/googleapis/synthtool.git", - "sha": "09c59c20a4bf0daed1665af59035ff240fe356df" + "sha": "5d3c52f5db664eee9026db76b5bcb466f3a09ca9" } } ], From 747c56a43e8487f4e6d823294dfb75f727b7fdda Mon Sep 17 00:00:00 2001 From: Jeff Ching Date: Thu, 15 Jul 2021 07:32:36 -0700 Subject: [PATCH 13/16] chore: all updating extra files in 1.22.0-sp branch (#913) --- .github/release-please.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/release-please.yml b/.github/release-please.yml index 6238da1566..d20feeb331 100644 --- a/.github/release-please.yml +++ b/.github/release-please.yml @@ -6,5 +6,7 @@ branches: handleGHRelease: true releaseType: java-lts branch: 1.22.0-sp + extraFiles: + - google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/Version.java extraFiles: - - google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/Version.java \ No newline at end of file + - google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/Version.java From e3ab43f1cad5215e96d343c38c02464e5f949788 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Thu, 15 Jul 2021 07:56:23 -0700 Subject: [PATCH 14/16] chore: regenerate README (#915) This PR was generated using Autosynth. :rainbow:
Log from Synthtool ``` 2021-07-15 14:37:45,569 synthtool [DEBUG] > Executing /root/.cache/synthtool/java-bigtable/.github/readme/synth.py. On branch autosynth-readme nothing to commit, working tree clean 2021-07-15 14:37:46,949 synthtool [DEBUG] > Wrote metadata to .github/readme/synth.metadata/synth.metadata. ```
Full log will be available here: https://source.cloud.google.com/results/invocations/b144eea0-d822-4e7a-8776-54ca2a566fd2/targets - [ ] To automatically regenerate this PR, check this box. (May take up to 24 hours.) --- .github/readme/synth.metadata/synth.metadata | 4 +- README.md | 48 +++++++++++++++++++- 2 files changed, 49 insertions(+), 3 deletions(-) diff --git a/.github/readme/synth.metadata/synth.metadata b/.github/readme/synth.metadata/synth.metadata index 7e3ff7dfbf..d57ed7869c 100644 --- a/.github/readme/synth.metadata/synth.metadata +++ b/.github/readme/synth.metadata/synth.metadata @@ -4,14 +4,14 @@ "git": { "name": ".", "remote": "https://github.com/googleapis/java-bigtable.git", - "sha": "abe0c3ff304226ff885d0418fca582016ad171ba" + "sha": "747c56a43e8487f4e6d823294dfb75f727b7fdda" } }, { "git": { "name": "synthtool", "remote": "https://github.com/googleapis/synthtool.git", - "sha": "39652e3948f455fd0b77535a0145eeec561a3706" + "sha": "4124d245133c0f740ac5e6fa2e7daeba327f1297" } } ] diff --git a/README.md b/README.md index 58ca340633..f8d3365f5e 100644 --- a/README.md +++ b/README.md @@ -481,10 +481,50 @@ has instructions for running the samples. To get help, follow the instructions in the [shared Troubleshooting document][troubleshooting]. -## Java Versions +## Supported Java Versions Java 7 or above is required for using this client. +Google's Java client libraries, +[Google Cloud Client Libraries][cloudlibs] +and +[Google Cloud API Libraries][apilibs], +follow the +[Oracle Java SE support roadmap][oracle] +(see the Oracle Java SE Product Releases section). + +### For new development + +In general, new feature development occurs with support for the lowest Java +LTS version covered by Oracle's Premier Support (which typically lasts 5 years +from initial General Availability). If the minimum required JVM for a given +library is changed, it is accompanied by a [semver][semver] major release. + +Java 11 and (in September 2021) Java 17 are the best choices for new +development. + +### Keeping production systems current + +Google tests its client libraries with all current LTS versions covered by +Oracle's Extended Support (which typically lasts 8 years from initial +General Availability). + +#### Legacy support + +Google's client libraries support legacy versions of Java runtimes with long +term stable libraries that don't receive feature updates on a best efforts basis +as it may not be possible to backport all patches. + +Google provides updates on a best efforts basis to apps that continue to use +Java 7, though apps might need to upgrade to current versions of the library +that supports their JVM. + +#### Where to find specific information + +The latest versions and the supported Java versions are identified on +the individual GitHub repository `github.com/GoogleAPIs/java-SERVICENAME` +and on [google-cloud-java][g-c-j]. + ## Versioning @@ -545,3 +585,9 @@ Java is a registered trademark of Oracle and/or its affiliates. [enable-api]: https://console.cloud.google.com/flows/enableapi?apiid=bigtable.googleapis.com [libraries-bom]: https://github.com/GoogleCloudPlatform/cloud-opensource-java/wiki/The-Google-Cloud-Platform-Libraries-BOM [shell_img]: https://gstatic.com/cloudssh/images/open-btn.png + +[semver]: https://semver.org/ +[cloudlibs]: https://cloud.google.com/apis/docs/client-libraries-explained +[apilibs]: https://cloud.google.com/apis/docs/client-libraries-explained#google_api_client_libraries +[oracle]: https://www.oracle.com/java/technologies/java-se-support-roadmap.html +[g-c-j]: http://github.com/googleapis/google-cloud-java From 914f0cc4a928974e14b2ab49b848f757862ad140 Mon Sep 17 00:00:00 2001 From: Igor Bernstein Date: Mon, 19 Jul 2021 11:13:57 -0400 Subject: [PATCH 15/16] fix: client.close() should wait until the channels are terminated before shutting down the executor (#916) * fix: client.close() should wait until the channels are terminated before shutting down the executor Previously the client.close() would simply shutdown the channel pool and the executor immediately after. Unfortunately this leads to RPCs that would hang forever because an outstanding RPC didnt have an executor to notify of its completion. This PR ensures that the channels are drained before shutting down the executor * copyright --- .../data/v2/stub/EnhancedBigtableStub.java | 6 +- .../EnhancedBigtableStubCloseRetryTest.java | 120 +++++++++++++++++ .../stub/EnhancedBigtableStubCloseTest.java | 123 ++++++++++++++++++ 3 files changed, 248 insertions(+), 1 deletion(-) create mode 100644 google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/stub/EnhancedBigtableStubCloseRetryTest.java create mode 100644 google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/stub/EnhancedBigtableStubCloseTest.java diff --git a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/EnhancedBigtableStub.java b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/EnhancedBigtableStub.java index 161dde232b..46729134fd 100644 --- a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/EnhancedBigtableStub.java +++ b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/EnhancedBigtableStub.java @@ -803,7 +803,11 @@ private SpanName getSpanName(String methodName) { @Override public void close() { for (BackgroundResource backgroundResource : clientContext.getBackgroundResources()) { - backgroundResource.shutdown(); + try { + backgroundResource.close(); + } catch (Exception e) { + throw new IllegalStateException("Failed to close resource", e); + } } } } diff --git a/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/stub/EnhancedBigtableStubCloseRetryTest.java b/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/stub/EnhancedBigtableStubCloseRetryTest.java new file mode 100644 index 0000000000..159879911a --- /dev/null +++ b/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/stub/EnhancedBigtableStubCloseRetryTest.java @@ -0,0 +1,120 @@ +/* + * Copyright 2021 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 + * + * https://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.bigtable.data.v2.stub; + +import static com.google.common.truth.Truth.assertThat; + +import com.google.api.core.ApiFuture; +import com.google.api.gax.core.NoCredentialsProvider; +import com.google.bigtable.v2.BigtableGrpc; +import com.google.bigtable.v2.ReadRowsRequest; +import com.google.bigtable.v2.ReadRowsResponse; +import com.google.cloud.bigtable.data.v2.BigtableDataSettings; +import com.google.cloud.bigtable.data.v2.FakeServiceHelper; +import com.google.cloud.bigtable.data.v2.models.Query; +import com.google.cloud.bigtable.data.v2.models.Row; +import io.grpc.Status; +import io.grpc.stub.StreamObserver; +import java.util.List; +import java.util.concurrent.ArrayBlockingQueue; +import java.util.concurrent.BlockingQueue; +import java.util.concurrent.ExecutionException; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; +import java.util.concurrent.RejectedExecutionException; +import java.util.concurrent.atomic.AtomicInteger; +import org.junit.After; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; +import org.junit.function.ThrowingRunnable; +import org.junit.runner.RunWith; +import org.junit.runners.JUnit4; + +/** Ensures that closing a client during exponential retry will not hang any requests. */ +@RunWith(JUnit4.class) +public class EnhancedBigtableStubCloseRetryTest { + private static final String PROJECT_ID = "fake-project"; + private static final String INSTANCE_ID = "fake-instance"; + + private ExecutorService testExecutor; + private BlockingQueue requests; + private AtomicInteger numRequests; + + private FakeServiceHelper serviceHelper; + private EnhancedBigtableStub stub; + + @Before + public void setUp() throws Exception { + testExecutor = Executors.newCachedThreadPool(); + requests = new ArrayBlockingQueue<>(10); + numRequests = new AtomicInteger(); + + serviceHelper = new FakeServiceHelper(new FakeBigtable()); + serviceHelper.start(); + + BigtableDataSettings.Builder settingBuilder = + BigtableDataSettings.newBuilderForEmulator(serviceHelper.getPort()) + .setProjectId(PROJECT_ID) + .setInstanceId(INSTANCE_ID) + .setCredentialsProvider(NoCredentialsProvider.create()) + .setRefreshingChannel(false); + + stub = EnhancedBigtableStub.create(settingBuilder.build().getStubSettings()); + } + + @After + public void tearDown() throws Exception { + testExecutor.shutdown(); + stub.close(); + serviceHelper.shutdown(); + } + + @Test + public void outstandingRequestsFinishAfterClose() throws Exception { + final ApiFuture> resultFuture = + stub.readRowsCallable().all().futureCall(Query.create("table1")); + + // wait for the first request to hit the server + requests.take(); + // wait enough time for a retry attempt to be scheduled before closing the client + Thread.sleep(100); + stub.close(); + + ExecutionException error = + Assert.assertThrows( + ExecutionException.class, + new ThrowingRunnable() { + @Override + public void run() throws Throwable { + resultFuture.get(); + } + }); + + assertThat(error.getCause()).isInstanceOf(RejectedExecutionException.class); + } + + class FakeBigtable extends BigtableGrpc.BigtableImplBase { + @Override + public void readRows( + ReadRowsRequest request, StreamObserver responseObserver) { + + requests.add(request); + // Keep returning a retriable error + responseObserver.onError(Status.UNAVAILABLE.asRuntimeException()); + } + } +} diff --git a/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/stub/EnhancedBigtableStubCloseTest.java b/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/stub/EnhancedBigtableStubCloseTest.java new file mode 100644 index 0000000000..6819739d47 --- /dev/null +++ b/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/stub/EnhancedBigtableStubCloseTest.java @@ -0,0 +1,123 @@ +/* + * Copyright 2021 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 + * + * https://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.bigtable.data.v2.stub; + +import static com.google.common.truth.Truth.assertThat; +import static java.util.concurrent.TimeUnit.MINUTES; + +import com.google.api.core.ApiFuture; +import com.google.api.gax.core.NoCredentialsProvider; +import com.google.bigtable.v2.BigtableGrpc; +import com.google.bigtable.v2.ReadRowsRequest; +import com.google.bigtable.v2.ReadRowsResponse; +import com.google.cloud.bigtable.data.v2.BigtableDataSettings; +import com.google.cloud.bigtable.data.v2.FakeServiceHelper; +import com.google.cloud.bigtable.data.v2.models.Query; +import com.google.cloud.bigtable.data.v2.models.Row; +import com.google.common.util.concurrent.SettableFuture; +import io.grpc.stub.StreamObserver; +import java.util.List; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.junit.runners.JUnit4; + +/** Ensure that an outstanding RPC will finish during a close */ +@RunWith(JUnit4.class) +public class EnhancedBigtableStubCloseTest { + private static final String PROJECT_ID = "fake-project"; + private static final String INSTANCE_ID = "fake-instance"; + + private ExecutorService testExecutor; + private SettableFuture requestReceivedBarrier = SettableFuture.create(); + private SettableFuture clientClosedBarrier = SettableFuture.create(); + + private FakeServiceHelper serviceHelper; + private EnhancedBigtableStub stub; + + @Before + public void setUp() throws Exception { + testExecutor = Executors.newCachedThreadPool(); + requestReceivedBarrier = SettableFuture.create(); + clientClosedBarrier = SettableFuture.create(); + + serviceHelper = new FakeServiceHelper(new FakeBigtable()); + serviceHelper.start(); + + EnhancedBigtableStubSettings stubSettings = + BigtableDataSettings.newBuilderForEmulator(serviceHelper.getPort()) + .setProjectId(PROJECT_ID) + .setInstanceId(INSTANCE_ID) + .setCredentialsProvider(NoCredentialsProvider.create()) + .setRefreshingChannel(false) + .build() + .getStubSettings(); + + stub = EnhancedBigtableStub.create(stubSettings); + } + + @After + public void tearDown() throws Exception { + testExecutor.shutdown(); + stub.close(); + serviceHelper.shutdown(); + } + + @Test + public void outstandingRequestsFinishAfterClose() throws Exception { + ApiFuture> resultFuture = + stub.readRowsCallable().all().futureCall(Query.create("table1")); + + // Wait for the server to receive the request + requestReceivedBarrier.get(1, MINUTES); + // Close the client - must happen in a separate thread because close will block until all + // requests have completed, which can't happen until the clientClosedBarrier is released. + testExecutor.submit( + new Runnable() { + @Override + public void run() { + stub.close(); + } + }); + Thread.sleep(200); // give the closer a chance to run + clientClosedBarrier.set(null); + + assertThat(resultFuture.get(1, MINUTES)).isEmpty(); + } + + class FakeBigtable extends BigtableGrpc.BigtableImplBase { + @Override + public void readRows( + ReadRowsRequest request, StreamObserver responseObserver) { + + // signal that server received the request + requestReceivedBarrier.set(null); + // wait until the main thread closes the client + try { + clientClosedBarrier.get(); + } catch (Exception e) { + // Shouldn't happen + responseObserver.onError(e); + } + + // send the response + responseObserver.onCompleted(); + } + } +} From 03ad79aaa6e23a58e38838dc67dde6fbcaa2a2f5 Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Mon, 19 Jul 2021 12:07:43 -0400 Subject: [PATCH 16/16] chore: release 1.27.3 (#917) Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> --- CHANGELOG.md | 7 +++++++ google-cloud-bigtable-bom/pom.xml | 14 +++++++------- google-cloud-bigtable-deps-bom/pom.xml | 2 +- google-cloud-bigtable-emulator/pom.xml | 8 ++++---- google-cloud-bigtable/pom.xml | 10 +++++----- .../java/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 | 2 +- proto-google-cloud-bigtable-admin-v2/pom.xml | 8 ++++---- proto-google-cloud-bigtable-v2/pom.xml | 8 ++++---- samples/snapshot/pom.xml | 2 +- versions.txt | 12 ++++++------ 13 files changed, 49 insertions(+), 42 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 92cd42351f..e0233a39a5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,12 @@ # Changelog +### [1.27.3](https://www.github.com/googleapis/java-bigtable/compare/v1.27.2...v1.27.3) (2021-07-19) + + +### Bug Fixes + +* client.close() should wait until the channels are terminated before shutting down the executor ([#916](https://www.github.com/googleapis/java-bigtable/issues/916)) ([914f0cc](https://www.github.com/googleapis/java-bigtable/commit/914f0cc4a928974e14b2ab49b848f757862ad140)) + ### [1.27.2](https://www.github.com/googleapis/java-bigtable/compare/v1.27.1...v1.27.2) (2021-07-01) diff --git a/google-cloud-bigtable-bom/pom.xml b/google-cloud-bigtable-bom/pom.xml index 74172f670d..cc3e84961b 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 - 1.27.3-SNAPSHOT + 1.27.3 pom com.google.cloud @@ -62,32 +62,32 @@ com.google.cloud google-cloud-bigtable - 1.27.3-SNAPSHOT + 1.27.3 com.google.cloud google-cloud-bigtable-emulator - 0.136.3-SNAPSHOT + 0.136.3 com.google.api.grpc grpc-google-cloud-bigtable-admin-v2 - 1.27.3-SNAPSHOT + 1.27.3 com.google.api.grpc grpc-google-cloud-bigtable-v2 - 1.27.3-SNAPSHOT + 1.27.3 com.google.api.grpc proto-google-cloud-bigtable-admin-v2 - 1.27.3-SNAPSHOT + 1.27.3 com.google.api.grpc proto-google-cloud-bigtable-v2 - 1.27.3-SNAPSHOT + 1.27.3 diff --git a/google-cloud-bigtable-deps-bom/pom.xml b/google-cloud-bigtable-deps-bom/pom.xml index c4c16f5fc8..eaf096a098 100644 --- a/google-cloud-bigtable-deps-bom/pom.xml +++ b/google-cloud-bigtable-deps-bom/pom.xml @@ -12,7 +12,7 @@ com.google.cloud google-cloud-bigtable-deps-bom - 1.27.3-SNAPSHOT + 1.27.3 pom diff --git a/google-cloud-bigtable-emulator/pom.xml b/google-cloud-bigtable-emulator/pom.xml index b777d9b20d..bccc91778e 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.136.3-SNAPSHOT + 0.136.3 Google Cloud Java - Bigtable Emulator https://github.com/googleapis/java-bigtable @@ -14,7 +14,7 @@ com.google.cloud google-cloud-bigtable-parent - 1.27.3-SNAPSHOT + 1.27.3 scm:git:git@github.com:googleapis/java-bigtable.git @@ -80,14 +80,14 @@ com.google.cloud google-cloud-bigtable-deps-bom - 1.27.3-SNAPSHOT + 1.27.3 pom import com.google.cloud google-cloud-bigtable-bom - 1.27.3-SNAPSHOT + 1.27.3 pom import diff --git a/google-cloud-bigtable/pom.xml b/google-cloud-bigtable/pom.xml index 99f8bf66cb..b8b8b10cee 100644 --- a/google-cloud-bigtable/pom.xml +++ b/google-cloud-bigtable/pom.xml @@ -2,7 +2,7 @@ 4.0.0 google-cloud-bigtable - 1.27.3-SNAPSHOT + 1.27.3 jar Google Cloud Bigtable https://github.com/googleapis/java-bigtable @@ -12,11 +12,11 @@ com.google.cloud google-cloud-bigtable-parent - 1.27.3-SNAPSHOT + 1.27.3 - 1.27.3-SNAPSHOT + 1.27.3 google-cloud-bigtable @@ -43,14 +43,14 @@ com.google.cloud google-cloud-bigtable-deps-bom - 1.27.3-SNAPSHOT + 1.27.3 pom import com.google.cloud google-cloud-bigtable-bom - 1.27.3-SNAPSHOT + 1.27.3 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 e7bbdf0ad9..79d2719c58 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 = "1.27.3-SNAPSHOT"; + public static String VERSION = "1.27.3"; // {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 2b3c881767..e0e6862796 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 - 1.27.3-SNAPSHOT + 1.27.3 grpc-google-cloud-bigtable-admin-v2 GRPC library for grpc-google-cloud-bigtable-admin-v2 com.google.cloud google-cloud-bigtable-parent - 1.27.3-SNAPSHOT + 1.27.3 @@ -18,14 +18,14 @@ com.google.cloud google-cloud-bigtable-deps-bom - 1.27.3-SNAPSHOT + 1.27.3 pom import com.google.cloud google-cloud-bigtable-bom - 1.27.3-SNAPSHOT + 1.27.3 pom import diff --git a/grpc-google-cloud-bigtable-v2/pom.xml b/grpc-google-cloud-bigtable-v2/pom.xml index f5bd4c07f0..9041397a34 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 - 1.27.3-SNAPSHOT + 1.27.3 grpc-google-cloud-bigtable-v2 GRPC library for grpc-google-cloud-bigtable-v2 com.google.cloud google-cloud-bigtable-parent - 1.27.3-SNAPSHOT + 1.27.3 @@ -18,14 +18,14 @@ com.google.cloud google-cloud-bigtable-deps-bom - 1.27.3-SNAPSHOT + 1.27.3 pom import com.google.cloud google-cloud-bigtable-bom - 1.27.3-SNAPSHOT + 1.27.3 pom import diff --git a/pom.xml b/pom.xml index 12bfaaf057..81ff1f9165 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ google-cloud-bigtable-parent pom - 1.27.3-SNAPSHOT + 1.27.3 Google Cloud Bigtable Parent https://github.com/googleapis/java-bigtable diff --git a/proto-google-cloud-bigtable-admin-v2/pom.xml b/proto-google-cloud-bigtable-admin-v2/pom.xml index d8ef09b76f..bff469de6a 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 - 1.27.3-SNAPSHOT + 1.27.3 proto-google-cloud-bigtable-admin-v2 PROTO library for proto-google-cloud-bigtable-admin-v2 com.google.cloud google-cloud-bigtable-parent - 1.27.3-SNAPSHOT + 1.27.3 @@ -18,14 +18,14 @@ com.google.cloud google-cloud-bigtable-deps-bom - 1.27.3-SNAPSHOT + 1.27.3 pom import com.google.cloud google-cloud-bigtable-bom - 1.27.3-SNAPSHOT + 1.27.3 pom import diff --git a/proto-google-cloud-bigtable-v2/pom.xml b/proto-google-cloud-bigtable-v2/pom.xml index dd0fe16f04..75b88aeba1 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 - 1.27.3-SNAPSHOT + 1.27.3 proto-google-cloud-bigtable-v2 PROTO library for proto-google-cloud-bigtable-v2 com.google.cloud google-cloud-bigtable-parent - 1.27.3-SNAPSHOT + 1.27.3 @@ -18,14 +18,14 @@ com.google.cloud google-cloud-bigtable-deps-bom - 1.27.3-SNAPSHOT + 1.27.3 pom import com.google.cloud google-cloud-bigtable-bom - 1.27.3-SNAPSHOT + 1.27.3 pom import diff --git a/samples/snapshot/pom.xml b/samples/snapshot/pom.xml index 1453b32f60..25f78a0c43 100644 --- a/samples/snapshot/pom.xml +++ b/samples/snapshot/pom.xml @@ -28,7 +28,7 @@ com.google.cloud google-cloud-bigtable - 1.27.3-SNAPSHOT + 1.27.3 diff --git a/versions.txt b/versions.txt index 6b25a9a274..2fb32833c7 100644 --- a/versions.txt +++ b/versions.txt @@ -1,9 +1,9 @@ # Format: # module:released-version:current-version -google-cloud-bigtable:1.27.2:1.27.3-SNAPSHOT -grpc-google-cloud-bigtable-admin-v2:1.27.2:1.27.3-SNAPSHOT -grpc-google-cloud-bigtable-v2:1.27.2:1.27.3-SNAPSHOT -proto-google-cloud-bigtable-admin-v2:1.27.2:1.27.3-SNAPSHOT -proto-google-cloud-bigtable-v2:1.27.2:1.27.3-SNAPSHOT -google-cloud-bigtable-emulator:0.136.2:0.136.3-SNAPSHOT +google-cloud-bigtable:1.27.3:1.27.3 +grpc-google-cloud-bigtable-admin-v2:1.27.3:1.27.3 +grpc-google-cloud-bigtable-v2:1.27.3:1.27.3 +proto-google-cloud-bigtable-admin-v2:1.27.3:1.27.3 +proto-google-cloud-bigtable-v2:1.27.3:1.27.3 +google-cloud-bigtable-emulator:0.136.3:0.136.3