From b041cf3ccc4353e706657f2105f580606824b05a Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Mon, 18 May 2020 21:33:22 +0200 Subject: [PATCH 01/12] chore(deps): update dependency com.google.cloud:libraries-bom to v5.4.0 (#288) --- 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 8d4183510a..c82e4ae39b 100644 --- a/samples/snippets/pom.xml +++ b/samples/snippets/pom.xml @@ -30,7 +30,7 @@ com.google.cloud libraries-bom - 5.3.0 + 5.4.0 pom import From a5b7c3922bee52c2728efa65082d8a9a4a1a0828 Mon Sep 17 00:00:00 2001 From: Yiru Tang Date: Mon, 18 May 2020 13:18:08 -0700 Subject: [PATCH 02/12] fix:add more diagnostic info for test awaitTermination (#290) modified: google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1alpha2/StreamWriterTest.java --- .../bigquery/storage/v1alpha2/StreamWriterTest.java | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1alpha2/StreamWriterTest.java b/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1alpha2/StreamWriterTest.java index b211d6045d..3bab929111 100644 --- a/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1alpha2/StreamWriterTest.java +++ b/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1alpha2/StreamWriterTest.java @@ -94,13 +94,17 @@ public void tearDown() throws Exception { serviceHelper.stop(); } - private StreamWriter.Builder getTestStreamWriterBuilder() { - return StreamWriter.newBuilder(TEST_STREAM) + private StreamWriter.Builder getTestStreamWriterBuilder(String testStream) { + return StreamWriter.newBuilder(testStream) .setChannelProvider(channelProvider) .setExecutorProvider(SINGLE_THREAD_EXECUTOR) .setCredentialsProvider(NoCredentialsProvider.create()); } + private StreamWriter.Builder getTestStreamWriterBuilder() { + return getTestStreamWriterBuilder(TEST_STREAM); + } + private AppendRowsRequest createAppendRequest(String[] messages, long offset) { AppendRowsRequest.Builder requestBuilder = AppendRowsRequest.newBuilder(); AppendRowsRequest.ProtoData.Builder dataBuilder = AppendRowsRequest.ProtoData.newBuilder(); @@ -821,9 +825,10 @@ public void testBuilderInvalidArguments() { @Test public void testAwaitTermination() throws Exception { - StreamWriter writer = getTestStreamWriterBuilder().build(); + StreamWriter writer = + getTestStreamWriterBuilder("projects/p/datasets/d/tables/t/streams/await").build(); testBigQueryWrite.addResponse(AppendRowsResponse.newBuilder().build()); - ApiFuture appendFuture1 = sendTestMessage(writer, new String[] {"A"}); + ApiFuture appendFuture1 = sendTestMessage(writer, new String[] {"AWAIT"}); writer.shutdown(); assertTrue(writer.awaitTermination(1, TimeUnit.MINUTES)); } From cac01d5ff11591fd2e322948091c6ec00ec12ddc Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Mon, 18 May 2020 22:18:24 +0200 Subject: [PATCH 03/12] chore(deps): update dependency com.google.cloud:google-cloud-bigquerystorage to v0.133.0-beta (#286) --- 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 23f4bc5016..9cf7725003 100644 --- a/samples/install-without-bom/pom.xml +++ b/samples/install-without-bom/pom.xml @@ -29,7 +29,7 @@ com.google.cloud google-cloud-bigquerystorage - 0.132.0-beta + 0.133.0-beta From 20b2963bbf315951d1607bee63a7aa083cdb6c86 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Tue, 19 May 2020 01:23:39 +0200 Subject: [PATCH 04/12] deps: update dependency com.google.cloud:google-cloud-shared-dependencies to v0.4.0 (#291) --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index c20cfa99f8..337fd6f1cb 100644 --- a/pom.xml +++ b/pom.xml @@ -91,7 +91,7 @@ com.google.cloud google-cloud-shared-dependencies - 0.3.1 + 0.4.0 pom import From 60af50ea24bc3a33179eef78179874b597234ed7 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Mon, 18 May 2020 16:24:09 -0700 Subject: [PATCH 05/12] changes without context (#292) autosynth cannot find the source of changes triggered by earlier changes in this repository, or by version upgrades to tools such as linters. --- README.md | 4 ++-- synth.metadata | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 8b4230cf64..c7f007fc4c 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,7 @@ If you are using Maven with [BOM][libraries-bom], add this to your pom.xml file com.google.cloud libraries-bom - 5.3.0 + 5.4.0 pom import @@ -41,7 +41,7 @@ If you are using Maven without BOM, add this to your dependencies: com.google.cloud google-cloud-bigquerystorage - 0.132.0-beta + 0.133.0-beta ``` diff --git a/synth.metadata b/synth.metadata index ac1169d8d7..63a4c49cfa 100644 --- a/synth.metadata +++ b/synth.metadata @@ -11,7 +11,7 @@ "git": { "name": ".", "remote": "https://github.com/googleapis/java-bigquerystorage.git", - "sha": "8ad46376c0a2189c0451039e32f376059f0c42b2" + "sha": "cac01d5ff11591fd2e322948091c6ec00ec12ddc" } }, { From af7d4fb98cca9c9f2be508d4812dfed4ef1ac475 Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Mon, 18 May 2020 19:31:45 -0400 Subject: [PATCH 06/12] chore: release 0.133.1-SNAPSHOT (#289) * updated versions.txt [ci skip] * updated samples/pom.xml [ci skip] * updated samples/snippets/pom.xml [ci skip] * updated samples/install-without-bom/pom.xml [ci skip] * updated google-cloud-bigquerystorage-bom/pom.xml [ci skip] * updated google-cloud-bigquerystorage/pom.xml [ci skip] * updated grpc-google-cloud-bigquerystorage-v1/pom.xml [ci skip] * updated grpc-google-cloud-bigquerystorage-v1alpha2/pom.xml [ci skip] * updated grpc-google-cloud-bigquerystorage-v1beta1/pom.xml [ci skip] * updated grpc-google-cloud-bigquerystorage-v1beta2/pom.xml [ci skip] * updated pom.xml [ci skip] * updated proto-google-cloud-bigquerystorage-v1/pom.xml [ci skip] * updated proto-google-cloud-bigquerystorage-v1alpha2/pom.xml [ci skip] * updated proto-google-cloud-bigquerystorage-v1beta1/pom.xml [ci skip] * updated proto-google-cloud-bigquerystorage-v1beta2/pom.xml [ci skip] * updated samples/snapshot/pom.xml [ci skip] Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> --- google-cloud-bigquerystorage-bom/pom.xml | 20 +++++++++---------- google-cloud-bigquerystorage/pom.xml | 4 ++-- grpc-google-cloud-bigquerystorage-v1/pom.xml | 4 ++-- .../pom.xml | 4 ++-- .../pom.xml | 4 ++-- .../pom.xml | 4 ++-- pom.xml | 20 +++++++++---------- proto-google-cloud-bigquerystorage-v1/pom.xml | 4 ++-- .../pom.xml | 4 ++-- .../pom.xml | 4 ++-- .../pom.xml | 4 ++-- samples/snapshot/pom.xml | 2 +- versions.txt | 18 ++++++++--------- 13 files changed, 48 insertions(+), 48 deletions(-) diff --git a/google-cloud-bigquerystorage-bom/pom.xml b/google-cloud-bigquerystorage-bom/pom.xml index 0e1e6cda44..1826f44981 100644 --- a/google-cloud-bigquerystorage-bom/pom.xml +++ b/google-cloud-bigquerystorage-bom/pom.xml @@ -3,7 +3,7 @@ 4.0.0 com.google.cloud google-cloud-bigquerystorage-bom - 0.133.0-beta + 0.133.1-beta-SNAPSHOT pom com.google.cloud @@ -63,48 +63,48 @@ com.google.api.grpc proto-google-cloud-bigquerystorage-v1alpha2 - 0.98.0 + 0.98.1-SNAPSHOT com.google.api.grpc proto-google-cloud-bigquerystorage-v1beta1 - 0.98.0 + 0.98.1-SNAPSHOT com.google.api.grpc proto-google-cloud-bigquerystorage-v1beta2 - 0.98.0 + 0.98.1-SNAPSHOT com.google.api.grpc proto-google-cloud-bigquerystorage-v1 - 0.98.0 + 0.98.1-SNAPSHOT com.google.api.grpc grpc-google-cloud-bigquerystorage-v1alpha2 - 0.98.0 + 0.98.1-SNAPSHOT com.google.api.grpc grpc-google-cloud-bigquerystorage-v1beta1 - 0.98.0 + 0.98.1-SNAPSHOT com.google.api.grpc grpc-google-cloud-bigquerystorage-v1beta2 - 0.98.0 + 0.98.1-SNAPSHOT com.google.api.grpc grpc-google-cloud-bigquerystorage-v1 - 0.98.0 + 0.98.1-SNAPSHOT com.google.cloud google-cloud-bigquerystorage - 0.133.0-beta + 0.133.1-beta-SNAPSHOT diff --git a/google-cloud-bigquerystorage/pom.xml b/google-cloud-bigquerystorage/pom.xml index 2e89188cf5..1f8dfc18de 100644 --- a/google-cloud-bigquerystorage/pom.xml +++ b/google-cloud-bigquerystorage/pom.xml @@ -3,7 +3,7 @@ 4.0.0 com.google.cloud google-cloud-bigquerystorage - 0.133.0-beta + 0.133.1-beta-SNAPSHOT jar BigQuery Storage https://github.com/googleapis/java-bigquerystorage @@ -11,7 +11,7 @@ com.google.cloud google-cloud-bigquerystorage-parent - 0.133.0-beta + 0.133.1-beta-SNAPSHOT google-cloud-bigquerystorage diff --git a/grpc-google-cloud-bigquerystorage-v1/pom.xml b/grpc-google-cloud-bigquerystorage-v1/pom.xml index 74b0449678..c6a45b449c 100644 --- a/grpc-google-cloud-bigquerystorage-v1/pom.xml +++ b/grpc-google-cloud-bigquerystorage-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-bigquerystorage-v1 - 0.98.0 + 0.98.1-SNAPSHOT grpc-google-cloud-bigquerystorage-v1 GRPC library for grpc-google-cloud-bigquerystorage-v1 com.google.cloud google-cloud-bigquerystorage-parent - 0.133.0-beta + 0.133.1-beta-SNAPSHOT diff --git a/grpc-google-cloud-bigquerystorage-v1alpha2/pom.xml b/grpc-google-cloud-bigquerystorage-v1alpha2/pom.xml index 7e674e39af..eead630cb5 100644 --- a/grpc-google-cloud-bigquerystorage-v1alpha2/pom.xml +++ b/grpc-google-cloud-bigquerystorage-v1alpha2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-bigquerystorage-v1alpha2 - 0.98.0 + 0.98.1-SNAPSHOT grpc-google-cloud-bigquerystorage-v1alpha2 GRPC library for grpc-google-cloud-bigquerystorage-v1alpha2 com.google.cloud google-cloud-bigquerystorage-parent - 0.133.0-beta + 0.133.1-beta-SNAPSHOT diff --git a/grpc-google-cloud-bigquerystorage-v1beta1/pom.xml b/grpc-google-cloud-bigquerystorage-v1beta1/pom.xml index 058b8ab3a2..a1b40225fa 100644 --- a/grpc-google-cloud-bigquerystorage-v1beta1/pom.xml +++ b/grpc-google-cloud-bigquerystorage-v1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-bigquerystorage-v1beta1 - 0.98.0 + 0.98.1-SNAPSHOT grpc-google-cloud-bigquerystorage-v1beta1 GRPC library for grpc-google-cloud-bigquerystorage-v1beta1 com.google.cloud google-cloud-bigquerystorage-parent - 0.133.0-beta + 0.133.1-beta-SNAPSHOT diff --git a/grpc-google-cloud-bigquerystorage-v1beta2/pom.xml b/grpc-google-cloud-bigquerystorage-v1beta2/pom.xml index b3033d9017..2d66e93bf4 100644 --- a/grpc-google-cloud-bigquerystorage-v1beta2/pom.xml +++ b/grpc-google-cloud-bigquerystorage-v1beta2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-bigquerystorage-v1beta2 - 0.98.0 + 0.98.1-SNAPSHOT grpc-google-cloud-bigquerystorage-v1beta2 GRPC library for grpc-google-cloud-bigquerystorage-v1beta2 com.google.cloud google-cloud-bigquerystorage-parent - 0.133.0-beta + 0.133.1-beta-SNAPSHOT diff --git a/pom.xml b/pom.xml index 337fd6f1cb..d098268ab3 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-bigquerystorage-parent pom - 0.133.0-beta + 0.133.1-beta-SNAPSHOT BigQuery Storage Parent https://github.com/googleapis/java-bigquerystorage @@ -103,47 +103,47 @@ com.google.api.grpc proto-google-cloud-bigquerystorage-v1alpha2 - 0.98.0 + 0.98.1-SNAPSHOT com.google.api.grpc proto-google-cloud-bigquerystorage-v1beta1 - 0.98.0 + 0.98.1-SNAPSHOT com.google.api.grpc proto-google-cloud-bigquerystorage-v1beta2 - 0.98.0 + 0.98.1-SNAPSHOT com.google.api.grpc proto-google-cloud-bigquerystorage-v1 - 0.98.0 + 0.98.1-SNAPSHOT com.google.api.grpc grpc-google-cloud-bigquerystorage-v1alpha2 - 0.98.0 + 0.98.1-SNAPSHOT com.google.api.grpc grpc-google-cloud-bigquerystorage-v1beta1 - 0.98.0 + 0.98.1-SNAPSHOT com.google.api.grpc grpc-google-cloud-bigquerystorage-v1beta2 - 0.98.0 + 0.98.1-SNAPSHOT com.google.api.grpc grpc-google-cloud-bigquerystorage-v1 - 0.98.0 + 0.98.1-SNAPSHOT com.google.cloud google-cloud-bigquerystorage - 0.133.0-beta + 0.133.1-beta-SNAPSHOT com.fasterxml.jackson.core diff --git a/proto-google-cloud-bigquerystorage-v1/pom.xml b/proto-google-cloud-bigquerystorage-v1/pom.xml index 88a3d3f9fc..06ea9687af 100644 --- a/proto-google-cloud-bigquerystorage-v1/pom.xml +++ b/proto-google-cloud-bigquerystorage-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-bigquerystorage-v1 - 0.98.0 + 0.98.1-SNAPSHOT proto-google-cloud-bigquerystorage-v1 PROTO library for proto-google-cloud-bigquerystorage-v1 com.google.cloud google-cloud-bigquerystorage-parent - 0.133.0-beta + 0.133.1-beta-SNAPSHOT diff --git a/proto-google-cloud-bigquerystorage-v1alpha2/pom.xml b/proto-google-cloud-bigquerystorage-v1alpha2/pom.xml index d6605d07f8..cc68944522 100644 --- a/proto-google-cloud-bigquerystorage-v1alpha2/pom.xml +++ b/proto-google-cloud-bigquerystorage-v1alpha2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-bigquerystorage-v1alpha2 - 0.98.0 + 0.98.1-SNAPSHOT proto-google-cloud-bigquerystorage-v1alpha2 PROTO library for proto-google-cloud-bigquerystorage-v1alpha2 com.google.cloud google-cloud-bigquerystorage-parent - 0.133.0-beta + 0.133.1-beta-SNAPSHOT diff --git a/proto-google-cloud-bigquerystorage-v1beta1/pom.xml b/proto-google-cloud-bigquerystorage-v1beta1/pom.xml index 5d6cb489c5..2ea31a9f92 100644 --- a/proto-google-cloud-bigquerystorage-v1beta1/pom.xml +++ b/proto-google-cloud-bigquerystorage-v1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-bigquerystorage-v1beta1 - 0.98.0 + 0.98.1-SNAPSHOT proto-google-cloud-bigquerystorage-v1beta1 PROTO library for proto-google-cloud-bigquerystorage-v1beta1 com.google.cloud google-cloud-bigquerystorage-parent - 0.133.0-beta + 0.133.1-beta-SNAPSHOT diff --git a/proto-google-cloud-bigquerystorage-v1beta2/pom.xml b/proto-google-cloud-bigquerystorage-v1beta2/pom.xml index ca844efe5a..2bddb43fd7 100644 --- a/proto-google-cloud-bigquerystorage-v1beta2/pom.xml +++ b/proto-google-cloud-bigquerystorage-v1beta2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-bigquerystorage-v1beta2 - 0.98.0 + 0.98.1-SNAPSHOT proto-google-cloud-bigquerystorage-v1beta2 PROTO library for proto-google-cloud-bigquerystorage-v1beta2 com.google.cloud google-cloud-bigquerystorage-parent - 0.133.0-beta + 0.133.1-beta-SNAPSHOT diff --git a/samples/snapshot/pom.xml b/samples/snapshot/pom.xml index f956fbe787..facc7051c9 100644 --- a/samples/snapshot/pom.xml +++ b/samples/snapshot/pom.xml @@ -28,7 +28,7 @@ com.google.cloud google-cloud-bigquerystorage - 0.133.0-beta + 0.133.1-beta-SNAPSHOT diff --git a/versions.txt b/versions.txt index 808af40dae..d9734c9409 100644 --- a/versions.txt +++ b/versions.txt @@ -1,12 +1,12 @@ # Format: # module:released-version:current-version -proto-google-cloud-bigquerystorage-v1alpha2:0.98.0:0.98.0 -proto-google-cloud-bigquerystorage-v1beta1:0.98.0:0.98.0 -proto-google-cloud-bigquerystorage-v1beta2:0.98.0:0.98.0 -proto-google-cloud-bigquerystorage-v1:0.98.0:0.98.0 -grpc-google-cloud-bigquerystorage-v1alpha2:0.98.0:0.98.0 -grpc-google-cloud-bigquerystorage-v1beta1:0.98.0:0.98.0 -grpc-google-cloud-bigquerystorage-v1beta2:0.98.0:0.98.0 -grpc-google-cloud-bigquerystorage-v1:0.98.0:0.98.0 -google-cloud-bigquerystorage:0.133.0-beta:0.133.0-beta +proto-google-cloud-bigquerystorage-v1alpha2:0.98.0:0.98.1-SNAPSHOT +proto-google-cloud-bigquerystorage-v1beta1:0.98.0:0.98.1-SNAPSHOT +proto-google-cloud-bigquerystorage-v1beta2:0.98.0:0.98.1-SNAPSHOT +proto-google-cloud-bigquerystorage-v1:0.98.0:0.98.1-SNAPSHOT +grpc-google-cloud-bigquerystorage-v1alpha2:0.98.0:0.98.1-SNAPSHOT +grpc-google-cloud-bigquerystorage-v1beta1:0.98.0:0.98.1-SNAPSHOT +grpc-google-cloud-bigquerystorage-v1beta2:0.98.0:0.98.1-SNAPSHOT +grpc-google-cloud-bigquerystorage-v1:0.98.0:0.98.1-SNAPSHOT +google-cloud-bigquerystorage:0.133.0-beta:0.133.1-beta-SNAPSHOT From 75a08c3683fde88264d310f965a0c973b54dfd9e Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Wed, 20 May 2020 00:01:46 +0200 Subject: [PATCH 07/12] deps: update dependency com.google.cloud:google-cloud-bigquery to v1.115.1 (#294) --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index d098268ab3..f6033e8a79 100644 --- a/pom.xml +++ b/pom.xml @@ -98,7 +98,7 @@ com.google.cloud google-cloud-bigquery - 1.115.0 + 1.115.1 com.google.api.grpc From de1c24df19ffd850a98eb54776ab1b034a43df9f Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Wed, 20 May 2020 00:12:02 +0200 Subject: [PATCH 08/12] build(deps): update dependency com.google.cloud:google-cloud-shared-config to v0.6.0 (#295) --- google-cloud-bigquerystorage-bom/pom.xml | 2 +- pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/google-cloud-bigquerystorage-bom/pom.xml b/google-cloud-bigquerystorage-bom/pom.xml index 1826f44981..11386c08bc 100644 --- a/google-cloud-bigquerystorage-bom/pom.xml +++ b/google-cloud-bigquerystorage-bom/pom.xml @@ -8,7 +8,7 @@ com.google.cloud google-cloud-shared-config - 0.5.0 + 0.6.0 Google Cloud bigquerystorage BOM diff --git a/pom.xml b/pom.xml index f6033e8a79..4ce638ecd4 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ com.google.cloud google-cloud-shared-config - 0.5.0 + 0.6.0 From d243ece29dd1494531f623b69e609fb833e970dc Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Tue, 26 May 2020 18:09:23 +0200 Subject: [PATCH 09/12] deps: update dependency com.google.cloud:google-cloud-bigquery to v1.116.0 (#296) --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 4ce638ecd4..3f08afaa42 100644 --- a/pom.xml +++ b/pom.xml @@ -98,7 +98,7 @@ com.google.cloud google-cloud-bigquery - 1.115.1 + 1.116.0 com.google.api.grpc From 50345b653d59209b7912b56b76c6d41e289ecb30 Mon Sep 17 00:00:00 2001 From: Praful Makani Date: Wed, 27 May 2020 04:12:13 +0530 Subject: [PATCH 10/12] fix: add retry logic for readrows (#263) * fix: add retry logic for readrows * fix: add test case * fix: modify code base on feedback --- google-cloud-bigquerystorage/pom.xml | 1 - .../v1/stub/EnhancedBigQueryReadStub.java | 69 +++- .../readrows/ApiResultRetryAlgorithm.java | 65 ++++ .../readrows/ReadRowsAttemptCallable.java | 326 ++++++++++++++++++ .../readrows/ReadRowsRetryingCallable.java | 90 +++++ .../storage/v1/BigQueryReadClientTest.java | 20 ++ 6 files changed, 567 insertions(+), 4 deletions(-) create mode 100644 google-cloud-bigquerystorage/src/main/java/com/google/cloud/bigquery/storage/v1/stub/readrows/ApiResultRetryAlgorithm.java create mode 100644 google-cloud-bigquerystorage/src/main/java/com/google/cloud/bigquery/storage/v1/stub/readrows/ReadRowsAttemptCallable.java create mode 100644 google-cloud-bigquerystorage/src/main/java/com/google/cloud/bigquery/storage/v1/stub/readrows/ReadRowsRetryingCallable.java diff --git a/google-cloud-bigquerystorage/pom.xml b/google-cloud-bigquerystorage/pom.xml index 1f8dfc18de..f819592ce9 100644 --- a/google-cloud-bigquerystorage/pom.xml +++ b/google-cloud-bigquerystorage/pom.xml @@ -179,7 +179,6 @@ com.google.api.grpc grpc-google-cloud-bigquerystorage-v1 - test diff --git a/google-cloud-bigquerystorage/src/main/java/com/google/cloud/bigquery/storage/v1/stub/EnhancedBigQueryReadStub.java b/google-cloud-bigquerystorage/src/main/java/com/google/cloud/bigquery/storage/v1/stub/EnhancedBigQueryReadStub.java index 16b768d09a..3d8e3ea0ff 100644 --- a/google-cloud-bigquerystorage/src/main/java/com/google/cloud/bigquery/storage/v1/stub/EnhancedBigQueryReadStub.java +++ b/google-cloud-bigquerystorage/src/main/java/com/google/cloud/bigquery/storage/v1/stub/EnhancedBigQueryReadStub.java @@ -17,16 +17,31 @@ import com.google.api.core.InternalApi; import com.google.api.gax.core.BackgroundResource; +import com.google.api.gax.grpc.GrpcCallSettings; +import com.google.api.gax.grpc.GrpcRawCallableFactory; +import com.google.api.gax.retrying.ExponentialRetryAlgorithm; +import com.google.api.gax.retrying.ScheduledRetryingExecutor; +import com.google.api.gax.retrying.StreamingRetryAlgorithm; +import com.google.api.gax.rpc.Callables; import com.google.api.gax.rpc.ClientContext; +import com.google.api.gax.rpc.RequestParamsExtractor; +import com.google.api.gax.rpc.ServerStreamingCallSettings; import com.google.api.gax.rpc.ServerStreamingCallable; import com.google.api.gax.rpc.UnaryCallable; +import com.google.api.gax.tracing.SpanName; +import com.google.api.gax.tracing.TracedServerStreamingCallable; +import com.google.cloud.bigquery.storage.v1.BigQueryReadGrpc; import com.google.cloud.bigquery.storage.v1.CreateReadSessionRequest; import com.google.cloud.bigquery.storage.v1.ReadRowsRequest; import com.google.cloud.bigquery.storage.v1.ReadRowsResponse; import com.google.cloud.bigquery.storage.v1.ReadSession; import com.google.cloud.bigquery.storage.v1.SplitReadStreamRequest; import com.google.cloud.bigquery.storage.v1.SplitReadStreamResponse; +import com.google.cloud.bigquery.storage.v1.stub.readrows.ApiResultRetryAlgorithm; +import com.google.cloud.bigquery.storage.v1.stub.readrows.ReadRowsRetryingCallable; +import com.google.common.collect.ImmutableMap; import java.io.IOException; +import java.util.Map; import java.util.concurrent.TimeUnit; /** @@ -35,7 +50,11 @@ *

This class is for advanced usage and reflects the underlying API directly. */ public class EnhancedBigQueryReadStub implements BackgroundResource { + + private static final String TRACING_OUTER_CLIENT_NAME = "BigQueryStorage"; private final GrpcBigQueryReadStub stub; + private final BigQueryReadStubSettings stubSettings; + private final ClientContext context; public static EnhancedBigQueryReadStub create(EnhancedBigQueryReadStubSettings settings) throws IOException { @@ -69,12 +88,15 @@ public static EnhancedBigQueryReadStub create(EnhancedBigQueryReadStubSettings s BigQueryReadStubSettings baseSettings = baseSettingsBuilder.build(); ClientContext clientContext = ClientContext.create(baseSettings); GrpcBigQueryReadStub stub = new GrpcBigQueryReadStub(baseSettings, clientContext); - return new EnhancedBigQueryReadStub(stub); + return new EnhancedBigQueryReadStub(stub, baseSettings, clientContext); } @InternalApi("Visible for testing") - EnhancedBigQueryReadStub(GrpcBigQueryReadStub stub) { + EnhancedBigQueryReadStub( + GrpcBigQueryReadStub stub, BigQueryReadStubSettings stubSettings, ClientContext context) { this.stub = stub; + this.stubSettings = stubSettings; + this.context = context; } public UnaryCallable createReadSessionCallable() { @@ -82,7 +104,48 @@ public UnaryCallable createReadSessionCal } public ServerStreamingCallable readRowsCallable() { - return stub.readRowsCallable(); + ServerStreamingCallable innerCallable = + GrpcRawCallableFactory.createServerStreamingCallable( + GrpcCallSettings.newBuilder() + .setMethodDescriptor(BigQueryReadGrpc.getReadRowsMethod()) + .setParamsExtractor( + new RequestParamsExtractor() { + @Override + public Map extract(ReadRowsRequest request) { + return ImmutableMap.of( + "read_stream", String.valueOf(request.getReadStream())); + } + }) + .build(), + stubSettings.readRowsSettings().getRetryableCodes()); + ServerStreamingCallSettings callSettings = + stubSettings.readRowsSettings(); + + StreamingRetryAlgorithm retryAlgorithm = + new StreamingRetryAlgorithm<>( + new ApiResultRetryAlgorithm(), + new ExponentialRetryAlgorithm(callSettings.getRetrySettings(), context.getClock())); + + ScheduledRetryingExecutor retryingExecutor = + new ScheduledRetryingExecutor<>(retryAlgorithm, context.getExecutor()); + + if (context.getStreamWatchdog() != null) { + innerCallable = Callables.watched(innerCallable, callSettings, context); + } + + ReadRowsRetryingCallable outerCallable = + new ReadRowsRetryingCallable( + context.getDefaultCallContext(), + innerCallable, + retryingExecutor, + callSettings.getResumptionStrategy()); + + ServerStreamingCallable traced = + new TracedServerStreamingCallable<>( + outerCallable, + context.getTracerFactory(), + SpanName.of(TRACING_OUTER_CLIENT_NAME, "ReadRows")); + return traced.withDefaultCallContext(context.getDefaultCallContext()); } public UnaryCallable splitReadStreamCallable() { diff --git a/google-cloud-bigquerystorage/src/main/java/com/google/cloud/bigquery/storage/v1/stub/readrows/ApiResultRetryAlgorithm.java b/google-cloud-bigquerystorage/src/main/java/com/google/cloud/bigquery/storage/v1/stub/readrows/ApiResultRetryAlgorithm.java new file mode 100644 index 0000000000..39f9adcf6b --- /dev/null +++ b/google-cloud-bigquerystorage/src/main/java/com/google/cloud/bigquery/storage/v1/stub/readrows/ApiResultRetryAlgorithm.java @@ -0,0 +1,65 @@ +/* + * Copyright 2020 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.bigquery.storage.v1.stub.readrows; + +import com.google.api.core.InternalApi; +import com.google.api.gax.retrying.ResultRetryAlgorithm; +import com.google.api.gax.retrying.TimedAttemptSettings; +import com.google.api.gax.rpc.ApiException; +import io.grpc.Status; +import org.threeten.bp.Duration; + +/** For internal use, public for technical reasons. */ +@InternalApi +public class ApiResultRetryAlgorithm implements ResultRetryAlgorithm { + // Duration to sleep on if the error is DEADLINE_EXCEEDED. + public static final Duration DEADLINE_SLEEP_DURATION = Duration.ofMillis(1); + + @Override + public TimedAttemptSettings createNextAttempt( + Throwable prevThrowable, ResponseT prevResponse, TimedAttemptSettings prevSettings) { + if (prevThrowable != null) { + Status status = Status.fromThrowable(prevThrowable); + if (status.getCode() == Status.Code.INTERNAL + && status.getDescription() != null + && status.getDescription().equals("Received unexpected EOS on DATA frame from server")) { + return TimedAttemptSettings.newBuilder() + .setGlobalSettings(prevSettings.getGlobalSettings()) + .setRetryDelay(prevSettings.getRetryDelay()) + .setRpcTimeout(prevSettings.getRpcTimeout()) + .setRandomizedRetryDelay(DEADLINE_SLEEP_DURATION) + .setAttemptCount(prevSettings.getAttemptCount() + 1) + .setFirstAttemptStartTimeNanos(prevSettings.getFirstAttemptStartTimeNanos()) + .build(); + } + } + return null; + } + + @Override + public boolean shouldRetry(Throwable prevThrowable, ResponseT prevResponse) { + if (prevThrowable != null) { + Status status = Status.fromThrowable(prevThrowable); + if (status.getCode() == Status.Code.INTERNAL + && status.getDescription() != null + && status.getDescription().equals("Received unexpected EOS on DATA frame from server")) { + return true; + } + } + return (prevThrowable instanceof ApiException) && ((ApiException) prevThrowable).isRetryable(); + } +} diff --git a/google-cloud-bigquerystorage/src/main/java/com/google/cloud/bigquery/storage/v1/stub/readrows/ReadRowsAttemptCallable.java b/google-cloud-bigquerystorage/src/main/java/com/google/cloud/bigquery/storage/v1/stub/readrows/ReadRowsAttemptCallable.java new file mode 100644 index 0000000000..478b277af7 --- /dev/null +++ b/google-cloud-bigquerystorage/src/main/java/com/google/cloud/bigquery/storage/v1/stub/readrows/ReadRowsAttemptCallable.java @@ -0,0 +1,326 @@ +/* + * Copyright 2020 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.bigquery.storage.v1.stub.readrows; + +import com.google.api.core.SettableApiFuture; +import com.google.api.gax.retrying.RetryingFuture; +import com.google.api.gax.retrying.ServerStreamingAttemptException; +import com.google.api.gax.retrying.StreamResumptionStrategy; +import com.google.api.gax.rpc.ApiCallContext; +import com.google.api.gax.rpc.ResponseObserver; +import com.google.api.gax.rpc.ServerStreamingCallable; +import com.google.api.gax.rpc.StateCheckingResponseObserver; +import com.google.api.gax.rpc.StreamController; +import com.google.cloud.bigquery.storage.v1.ReadRowsRequest; +import com.google.cloud.bigquery.storage.v1.ReadRowsResponse; +import com.google.common.base.Preconditions; +import java.util.concurrent.Callable; +import java.util.concurrent.CancellationException; +import javax.annotation.concurrent.GuardedBy; +import org.threeten.bp.Duration; + +final class ReadRowsAttemptCallable implements Callable { + private final Object lock = new Object(); + + private final ServerStreamingCallable innerCallable; + private final StreamResumptionStrategy resumptionStrategy; + private final ReadRowsRequest initialRequest; + private ApiCallContext context; + private final ResponseObserver outerObserver; + + // Start state + private boolean autoFlowControl = true; + private boolean isStarted; + + // Outer state + @GuardedBy("lock") + private Throwable cancellationCause; + + @GuardedBy("lock") + private int pendingRequests; + + private RetryingFuture outerRetryingFuture; + + // Internal retry state + private int numAttempts; + + @GuardedBy("lock") + private StreamController innerController; + + private boolean seenSuccessSinceLastError; + private SettableApiFuture innerAttemptFuture; + + ReadRowsAttemptCallable( + ServerStreamingCallable innerCallable, + StreamResumptionStrategy resumptionStrategy, + ReadRowsRequest initialRequest, + ApiCallContext context, + ResponseObserver outerObserver) { + this.innerCallable = innerCallable; + this.resumptionStrategy = resumptionStrategy; + this.initialRequest = initialRequest; + this.context = context; + this.outerObserver = outerObserver; + } + + /** Sets controlling {@link RetryingFuture}. Must be called be before {@link #start()}. */ + void setExternalFuture(RetryingFuture retryingFuture) { + Preconditions.checkState(!isStarted, "Can't change the RetryingFuture once the call has start"); + Preconditions.checkNotNull(retryingFuture, "RetryingFuture can't be null"); + + this.outerRetryingFuture = retryingFuture; + } + + /** + * Starts the initial call. The call is attempted on the caller's thread. Further call attempts + * will be scheduled by the {@link RetryingFuture}. + */ + public void start() { + Preconditions.checkState(!isStarted, "Already started"); + + // Initialize the outer observer + outerObserver.onStart( + new StreamController() { + @Override + public void disableAutoInboundFlowControl() { + Preconditions.checkState( + !isStarted, "Can't disable auto flow control once the stream is started"); + autoFlowControl = false; + } + + @Override + public void request(int count) { + onRequest(count); + } + + @Override + public void cancel() { + onCancel(); + } + }); + + if (autoFlowControl) { + synchronized (lock) { + pendingRequests = Integer.MAX_VALUE; + } + } + isStarted = true; + + // Propagate the totalTimeout as the overall stream deadline. + Duration totalTimeout = + outerRetryingFuture.getAttemptSettings().getGlobalSettings().getTotalTimeout(); + + if (totalTimeout != null && context != null) { + context = context.withTimeout(totalTimeout); + } + + // Call the inner callable + call(); + } + + /** + * Sends the actual RPC. The request being sent will first be transformed by the {@link + * StreamResumptionStrategy}. + * + *

This method expects to be called by one thread at a time. Furthermore, it expects that the + * current RPC finished before the next time it's called. + */ + @Override + public Void call() { + Preconditions.checkState(isStarted, "Must be started first"); + + ReadRowsRequest request = + (++numAttempts == 1) ? initialRequest : resumptionStrategy.getResumeRequest(initialRequest); + + // Should never happen. onAttemptError will check if ResumptionStrategy can create a resume + // request, + // which the RetryingFuture/StreamResumptionStrategy should respect. + Preconditions.checkState(request != null, "ResumptionStrategy returned a null request."); + + innerAttemptFuture = SettableApiFuture.create(); + seenSuccessSinceLastError = false; + + ApiCallContext attemptContext = context; + + if (!outerRetryingFuture.getAttemptSettings().getRpcTimeout().isZero()) { + attemptContext = + attemptContext.withStreamWaitTimeout( + outerRetryingFuture.getAttemptSettings().getRpcTimeout()); + } + + attemptContext + .getTracer() + .attemptStarted(outerRetryingFuture.getAttemptSettings().getOverallAttemptCount()); + + innerCallable.call( + request, + new StateCheckingResponseObserver() { + @Override + public void onStartImpl(StreamController controller) { + onAttemptStart(controller); + } + + @Override + public void onResponseImpl(ReadRowsResponse response) { + onAttemptResponse(response); + } + + @Override + public void onErrorImpl(Throwable t) { + onAttemptError(t); + } + + @Override + public void onCompleteImpl() { + onAttemptComplete(); + } + }, + attemptContext); + + outerRetryingFuture.setAttemptFuture(innerAttemptFuture); + + return null; + } + + /** + * Called by the inner {@link ServerStreamingCallable} when the call is about to start. This will + * transfer unfinished state from the previous attempt. + * + * @see ResponseObserver#onStart(StreamController) + */ + private void onAttemptStart(StreamController controller) { + if (!autoFlowControl) { + controller.disableAutoInboundFlowControl(); + } + + Throwable localCancellationCause; + int numToRequest = 0; + + synchronized (lock) { + innerController = controller; + + localCancellationCause = this.cancellationCause; + + if (!autoFlowControl) { + numToRequest = pendingRequests; + } + } + + if (localCancellationCause != null) { + controller.cancel(); + } else if (numToRequest > 0) { + controller.request(numToRequest); + } + } + + /** + * Called when the outer {@link ResponseObserver} wants to prematurely cancel the stream. + * + * @see StreamController#cancel() + */ + private void onCancel() { + StreamController localInnerController; + + synchronized (lock) { + if (cancellationCause != null) { + return; + } + // NOTE: BasicRetryingFuture will replace j.u.c.CancellationExceptions with it's own, + // which will not have the current stacktrace, so a special wrapper has be used here. + cancellationCause = + new ServerStreamingAttemptException( + new CancellationException("User cancelled stream"), + resumptionStrategy.canResume(), + seenSuccessSinceLastError); + localInnerController = innerController; + } + + if (localInnerController != null) { + localInnerController.cancel(); + } + } + + /** + * Called when the outer {@link ResponseObserver} is ready for more data. + * + * @see StreamController#request(int) + */ + private void onRequest(int count) { + Preconditions.checkState(!autoFlowControl, "Automatic flow control is enabled"); + Preconditions.checkArgument(count > 0, "Count must be > 0"); + + final StreamController localInnerController; + + synchronized (lock) { + int maxInc = Integer.MAX_VALUE - pendingRequests; + count = Math.min(maxInc, count); + + pendingRequests += count; + localInnerController = this.innerController; + } + + // Note: there is a race condition here where the count might go to the previous attempt's + // StreamController after it failed. But it doesn't matter, because the controller will just + // ignore it and the current controller will pick it up onStart. + if (localInnerController != null) { + localInnerController.request(count); + } + } + + /** Called when the inner callable has responses to deliver. */ + private void onAttemptResponse(ReadRowsResponse message) { + if (!autoFlowControl) { + synchronized (lock) { + pendingRequests--; + } + } + // Update local state to allow for future resume. + seenSuccessSinceLastError = true; + message = resumptionStrategy.processResponse(message); + // Notify the outer observer. + outerObserver.onResponse(message); + } + + /** + * Called when the current RPC fails. The error will be bubbled up to the outer {@link + * RetryingFuture} via the {@link #innerAttemptFuture}. + */ + private void onAttemptError(Throwable throwable) { + Throwable localCancellationCause; + synchronized (lock) { + localCancellationCause = cancellationCause; + } + + if (localCancellationCause != null) { + // Take special care to preserve the cancellation's stack trace. + innerAttemptFuture.setException(localCancellationCause); + } else { + // Wrap the original exception and provide more context for StreamingRetryAlgorithm. + innerAttemptFuture.setException( + new ServerStreamingAttemptException( + throwable, resumptionStrategy.canResume(), seenSuccessSinceLastError)); + } + } + + /** + * Called when the current RPC successfully completes. Notifies the outer {@link RetryingFuture} + * via {@link #innerAttemptFuture}. + */ + private void onAttemptComplete() { + innerAttemptFuture.set(null); + } +} diff --git a/google-cloud-bigquerystorage/src/main/java/com/google/cloud/bigquery/storage/v1/stub/readrows/ReadRowsRetryingCallable.java b/google-cloud-bigquerystorage/src/main/java/com/google/cloud/bigquery/storage/v1/stub/readrows/ReadRowsRetryingCallable.java new file mode 100644 index 0000000000..d498766b3a --- /dev/null +++ b/google-cloud-bigquerystorage/src/main/java/com/google/cloud/bigquery/storage/v1/stub/readrows/ReadRowsRetryingCallable.java @@ -0,0 +1,90 @@ +/* + * Copyright 2020 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.bigquery.storage.v1.stub.readrows; + +import static com.google.common.util.concurrent.MoreExecutors.directExecutor; + +import com.google.api.core.ApiFutureCallback; +import com.google.api.core.ApiFutures; +import com.google.api.gax.retrying.RetryingFuture; +import com.google.api.gax.retrying.ScheduledRetryingExecutor; +import com.google.api.gax.retrying.ServerStreamingAttemptException; +import com.google.api.gax.retrying.StreamResumptionStrategy; +import com.google.api.gax.rpc.ApiCallContext; +import com.google.api.gax.rpc.ResponseObserver; +import com.google.api.gax.rpc.ServerStreamingCallable; +import com.google.cloud.bigquery.storage.v1.ReadRowsRequest; +import com.google.cloud.bigquery.storage.v1.ReadRowsResponse; + +public final class ReadRowsRetryingCallable + extends ServerStreamingCallable { + + private final ApiCallContext context; + private final ServerStreamingCallable innerCallable; + private final ScheduledRetryingExecutor executor; + private final StreamResumptionStrategy + resumptionStrategyPrototype; + + public ReadRowsRetryingCallable( + ApiCallContext context, + ServerStreamingCallable innerCallable, + ScheduledRetryingExecutor executor, + StreamResumptionStrategy resumptionStrategyPrototype) { + this.context = context; + this.innerCallable = innerCallable; + this.executor = executor; + this.resumptionStrategyPrototype = resumptionStrategyPrototype; + } + + @Override + public void call( + ReadRowsRequest request, + final ResponseObserver responseObserver, + ApiCallContext context) { + ReadRowsAttemptCallable attemptCallable = + new ReadRowsAttemptCallable( + innerCallable, + resumptionStrategyPrototype.createNew(), + request, + this.context, + responseObserver); + + RetryingFuture retryingFuture = executor.createFuture(attemptCallable, this.context); + attemptCallable.setExternalFuture(retryingFuture); + attemptCallable.start(); + + // Bridge the future result back to the external responseObserver + ApiFutures.addCallback( + retryingFuture, + new ApiFutureCallback() { + @Override + public void onFailure(Throwable throwable) { + // Make sure to unwrap the underlying ApiException + if (throwable instanceof ServerStreamingAttemptException) { + throwable = throwable.getCause(); + } + responseObserver.onError(throwable); + } + + @Override + public void onSuccess(Void ignored) { + responseObserver.onComplete(); + } + }, + directExecutor()); + } +} diff --git a/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1/BigQueryReadClientTest.java b/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1/BigQueryReadClientTest.java index 01f9101a7e..e0285ac76e 100644 --- a/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1/BigQueryReadClientTest.java +++ b/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1/BigQueryReadClientTest.java @@ -162,4 +162,24 @@ public void readRowsExceptionTest() throws Exception { Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode()); } } + + @Test + @SuppressWarnings("all") + public void readRowsRetryingExceptionTest() throws ExecutionException, InterruptedException { + StatusRuntimeException exception = + new StatusRuntimeException( + Status.INTERNAL.withDescription("Received unexpected EOS on DATA frame from server")); + mockBigQueryRead.addException(exception); + long rowCount = 1340416618L; + ReadRowsResponse expectedResponse = ReadRowsResponse.newBuilder().setRowCount(rowCount).build(); + mockBigQueryRead.addResponse(expectedResponse); + ReadRowsRequest request = ReadRowsRequest.newBuilder().build(); + + MockStreamObserver responseObserver = new MockStreamObserver<>(); + + ServerStreamingCallable callable = client.readRowsCallable(); + callable.serverStreamingCall(request, responseObserver); + List actualResponses = responseObserver.future().get(); + Assert.assertEquals(1, actualResponses.size()); + } } From edfa26bb5bfa506004a6d3e39775f9f66b956db9 Mon Sep 17 00:00:00 2001 From: Stephanie Wang Date: Tue, 26 May 2020 20:18:07 -0400 Subject: [PATCH 11/12] deps: bump shared-deps version and add back certain test deps (#300) --- pom.xml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pom.xml b/pom.xml index 3f08afaa42..87b524c3c5 100644 --- a/pom.xml +++ b/pom.xml @@ -155,6 +155,14 @@ commons-lang3 ${commons-lang3.version} + + + + junit + junit + 4.13 + test + From 22866031855693ea4b0a72ef968f22b43e92692e Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Wed, 27 May 2020 17:16:07 +0000 Subject: [PATCH 12/12] chore: release 0.133.1 (#293) :robot: I have created a release \*beep\* \*boop\* --- ### [0.133.1](https://www.github.com/googleapis/java-bigquerystorage/compare/v0.133.0...v0.133.1) (2020-05-27) ### Bug Fixes * add retry logic for readrows ([#263](https://www.github.com/googleapis/java-bigquerystorage/issues/263)) ([50345b6](https://www.github.com/googleapis/java-bigquerystorage/commit/50345b653d59209b7912b56b76c6d41e289ecb30)) ### Dependencies * bump shared-deps version and add back certain test deps ([#300](https://www.github.com/googleapis/java-bigquerystorage/issues/300)) ([edfa26b](https://www.github.com/googleapis/java-bigquerystorage/commit/edfa26bb5bfa506004a6d3e39775f9f66b956db9)) * update dependency com.google.cloud:google-cloud-bigquery to v1.115.1 ([#294](https://www.github.com/googleapis/java-bigquerystorage/issues/294)) ([75a08c3](https://www.github.com/googleapis/java-bigquerystorage/commit/75a08c3683fde88264d310f965a0c973b54dfd9e)) * update dependency com.google.cloud:google-cloud-bigquery to v1.116.0 ([#296](https://www.github.com/googleapis/java-bigquerystorage/issues/296)) ([d243ece](https://www.github.com/googleapis/java-bigquerystorage/commit/d243ece29dd1494531f623b69e609fb833e970dc)) * update dependency com.google.cloud:google-cloud-shared-dependencies to v0.4.0 ([#291](https://www.github.com/googleapis/java-bigquerystorage/issues/291)) ([20b2963](https://www.github.com/googleapis/java-bigquerystorage/commit/20b2963bbf315951d1607bee63a7aa083cdb6c86)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). --- CHANGELOG.md | 15 ++++++++++++++ README.md | 4 ++-- google-cloud-bigquerystorage-bom/pom.xml | 20 +++++++++---------- google-cloud-bigquerystorage/pom.xml | 4 ++-- grpc-google-cloud-bigquerystorage-v1/pom.xml | 4 ++-- .../pom.xml | 4 ++-- .../pom.xml | 4 ++-- .../pom.xml | 4 ++-- pom.xml | 20 +++++++++---------- proto-google-cloud-bigquerystorage-v1/pom.xml | 4 ++-- .../pom.xml | 4 ++-- .../pom.xml | 4 ++-- .../pom.xml | 4 ++-- samples/snapshot/pom.xml | 2 +- versions.txt | 18 ++++++++--------- 15 files changed, 65 insertions(+), 50 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9ae748aefa..aeaa297d82 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,20 @@ # Changelog +### [0.133.1](https://www.github.com/googleapis/java-bigquerystorage/compare/v0.133.0...v0.133.1) (2020-05-27) + + +### Bug Fixes + +* add retry logic for readrows ([#263](https://www.github.com/googleapis/java-bigquerystorage/issues/263)) ([50345b6](https://www.github.com/googleapis/java-bigquerystorage/commit/50345b653d59209b7912b56b76c6d41e289ecb30)) + + +### Dependencies + +* bump shared-deps version and add back certain test deps ([#300](https://www.github.com/googleapis/java-bigquerystorage/issues/300)) ([edfa26b](https://www.github.com/googleapis/java-bigquerystorage/commit/edfa26bb5bfa506004a6d3e39775f9f66b956db9)) +* update dependency com.google.cloud:google-cloud-bigquery to v1.115.1 ([#294](https://www.github.com/googleapis/java-bigquerystorage/issues/294)) ([75a08c3](https://www.github.com/googleapis/java-bigquerystorage/commit/75a08c3683fde88264d310f965a0c973b54dfd9e)) +* update dependency com.google.cloud:google-cloud-bigquery to v1.116.0 ([#296](https://www.github.com/googleapis/java-bigquerystorage/issues/296)) ([d243ece](https://www.github.com/googleapis/java-bigquerystorage/commit/d243ece29dd1494531f623b69e609fb833e970dc)) +* update dependency com.google.cloud:google-cloud-shared-dependencies to v0.4.0 ([#291](https://www.github.com/googleapis/java-bigquerystorage/issues/291)) ([20b2963](https://www.github.com/googleapis/java-bigquerystorage/commit/20b2963bbf315951d1607bee63a7aa083cdb6c86)) + ## [0.133.0](https://www.github.com/googleapis/java-bigquerystorage/compare/v0.132.0...v0.133.0) (2020-05-15) diff --git a/README.md b/README.md index c7f007fc4c..9388f49658 100644 --- a/README.md +++ b/README.md @@ -50,11 +50,11 @@ If you are using Maven without BOM, add this to your dependencies: If you are using Gradle, add this to your dependencies ```Groovy -compile 'com.google.cloud:google-cloud-bigquerystorage:0.133.0-beta' +compile 'com.google.cloud:google-cloud-bigquerystorage:0.133.1-beta' ``` If you are using SBT, add this to your dependencies ```Scala -libraryDependencies += "com.google.cloud" % "google-cloud-bigquerystorage" % "0.133.0-beta" +libraryDependencies += "com.google.cloud" % "google-cloud-bigquerystorage" % "0.133.1-beta" ``` [//]: # ({x-version-update-end}) diff --git a/google-cloud-bigquerystorage-bom/pom.xml b/google-cloud-bigquerystorage-bom/pom.xml index 11386c08bc..a182d97d97 100644 --- a/google-cloud-bigquerystorage-bom/pom.xml +++ b/google-cloud-bigquerystorage-bom/pom.xml @@ -3,7 +3,7 @@ 4.0.0 com.google.cloud google-cloud-bigquerystorage-bom - 0.133.1-beta-SNAPSHOT + 0.133.1-beta pom com.google.cloud @@ -63,48 +63,48 @@ com.google.api.grpc proto-google-cloud-bigquerystorage-v1alpha2 - 0.98.1-SNAPSHOT + 0.98.1 com.google.api.grpc proto-google-cloud-bigquerystorage-v1beta1 - 0.98.1-SNAPSHOT + 0.98.1 com.google.api.grpc proto-google-cloud-bigquerystorage-v1beta2 - 0.98.1-SNAPSHOT + 0.98.1 com.google.api.grpc proto-google-cloud-bigquerystorage-v1 - 0.98.1-SNAPSHOT + 0.98.1 com.google.api.grpc grpc-google-cloud-bigquerystorage-v1alpha2 - 0.98.1-SNAPSHOT + 0.98.1 com.google.api.grpc grpc-google-cloud-bigquerystorage-v1beta1 - 0.98.1-SNAPSHOT + 0.98.1 com.google.api.grpc grpc-google-cloud-bigquerystorage-v1beta2 - 0.98.1-SNAPSHOT + 0.98.1 com.google.api.grpc grpc-google-cloud-bigquerystorage-v1 - 0.98.1-SNAPSHOT + 0.98.1 com.google.cloud google-cloud-bigquerystorage - 0.133.1-beta-SNAPSHOT + 0.133.1-beta diff --git a/google-cloud-bigquerystorage/pom.xml b/google-cloud-bigquerystorage/pom.xml index f819592ce9..f98dfaf7a3 100644 --- a/google-cloud-bigquerystorage/pom.xml +++ b/google-cloud-bigquerystorage/pom.xml @@ -3,7 +3,7 @@ 4.0.0 com.google.cloud google-cloud-bigquerystorage - 0.133.1-beta-SNAPSHOT + 0.133.1-beta jar BigQuery Storage https://github.com/googleapis/java-bigquerystorage @@ -11,7 +11,7 @@ com.google.cloud google-cloud-bigquerystorage-parent - 0.133.1-beta-SNAPSHOT + 0.133.1-beta google-cloud-bigquerystorage diff --git a/grpc-google-cloud-bigquerystorage-v1/pom.xml b/grpc-google-cloud-bigquerystorage-v1/pom.xml index c6a45b449c..e1e6339672 100644 --- a/grpc-google-cloud-bigquerystorage-v1/pom.xml +++ b/grpc-google-cloud-bigquerystorage-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-bigquerystorage-v1 - 0.98.1-SNAPSHOT + 0.98.1 grpc-google-cloud-bigquerystorage-v1 GRPC library for grpc-google-cloud-bigquerystorage-v1 com.google.cloud google-cloud-bigquerystorage-parent - 0.133.1-beta-SNAPSHOT + 0.133.1-beta diff --git a/grpc-google-cloud-bigquerystorage-v1alpha2/pom.xml b/grpc-google-cloud-bigquerystorage-v1alpha2/pom.xml index eead630cb5..51729cf091 100644 --- a/grpc-google-cloud-bigquerystorage-v1alpha2/pom.xml +++ b/grpc-google-cloud-bigquerystorage-v1alpha2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-bigquerystorage-v1alpha2 - 0.98.1-SNAPSHOT + 0.98.1 grpc-google-cloud-bigquerystorage-v1alpha2 GRPC library for grpc-google-cloud-bigquerystorage-v1alpha2 com.google.cloud google-cloud-bigquerystorage-parent - 0.133.1-beta-SNAPSHOT + 0.133.1-beta diff --git a/grpc-google-cloud-bigquerystorage-v1beta1/pom.xml b/grpc-google-cloud-bigquerystorage-v1beta1/pom.xml index a1b40225fa..2e7d1ca407 100644 --- a/grpc-google-cloud-bigquerystorage-v1beta1/pom.xml +++ b/grpc-google-cloud-bigquerystorage-v1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-bigquerystorage-v1beta1 - 0.98.1-SNAPSHOT + 0.98.1 grpc-google-cloud-bigquerystorage-v1beta1 GRPC library for grpc-google-cloud-bigquerystorage-v1beta1 com.google.cloud google-cloud-bigquerystorage-parent - 0.133.1-beta-SNAPSHOT + 0.133.1-beta diff --git a/grpc-google-cloud-bigquerystorage-v1beta2/pom.xml b/grpc-google-cloud-bigquerystorage-v1beta2/pom.xml index 2d66e93bf4..485badee7d 100644 --- a/grpc-google-cloud-bigquerystorage-v1beta2/pom.xml +++ b/grpc-google-cloud-bigquerystorage-v1beta2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-bigquerystorage-v1beta2 - 0.98.1-SNAPSHOT + 0.98.1 grpc-google-cloud-bigquerystorage-v1beta2 GRPC library for grpc-google-cloud-bigquerystorage-v1beta2 com.google.cloud google-cloud-bigquerystorage-parent - 0.133.1-beta-SNAPSHOT + 0.133.1-beta diff --git a/pom.xml b/pom.xml index 87b524c3c5..75ab474c19 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-bigquerystorage-parent pom - 0.133.1-beta-SNAPSHOT + 0.133.1-beta BigQuery Storage Parent https://github.com/googleapis/java-bigquerystorage @@ -103,47 +103,47 @@ com.google.api.grpc proto-google-cloud-bigquerystorage-v1alpha2 - 0.98.1-SNAPSHOT + 0.98.1 com.google.api.grpc proto-google-cloud-bigquerystorage-v1beta1 - 0.98.1-SNAPSHOT + 0.98.1 com.google.api.grpc proto-google-cloud-bigquerystorage-v1beta2 - 0.98.1-SNAPSHOT + 0.98.1 com.google.api.grpc proto-google-cloud-bigquerystorage-v1 - 0.98.1-SNAPSHOT + 0.98.1 com.google.api.grpc grpc-google-cloud-bigquerystorage-v1alpha2 - 0.98.1-SNAPSHOT + 0.98.1 com.google.api.grpc grpc-google-cloud-bigquerystorage-v1beta1 - 0.98.1-SNAPSHOT + 0.98.1 com.google.api.grpc grpc-google-cloud-bigquerystorage-v1beta2 - 0.98.1-SNAPSHOT + 0.98.1 com.google.api.grpc grpc-google-cloud-bigquerystorage-v1 - 0.98.1-SNAPSHOT + 0.98.1 com.google.cloud google-cloud-bigquerystorage - 0.133.1-beta-SNAPSHOT + 0.133.1-beta com.fasterxml.jackson.core diff --git a/proto-google-cloud-bigquerystorage-v1/pom.xml b/proto-google-cloud-bigquerystorage-v1/pom.xml index 06ea9687af..f8822e9943 100644 --- a/proto-google-cloud-bigquerystorage-v1/pom.xml +++ b/proto-google-cloud-bigquerystorage-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-bigquerystorage-v1 - 0.98.1-SNAPSHOT + 0.98.1 proto-google-cloud-bigquerystorage-v1 PROTO library for proto-google-cloud-bigquerystorage-v1 com.google.cloud google-cloud-bigquerystorage-parent - 0.133.1-beta-SNAPSHOT + 0.133.1-beta diff --git a/proto-google-cloud-bigquerystorage-v1alpha2/pom.xml b/proto-google-cloud-bigquerystorage-v1alpha2/pom.xml index cc68944522..c675e4d0d7 100644 --- a/proto-google-cloud-bigquerystorage-v1alpha2/pom.xml +++ b/proto-google-cloud-bigquerystorage-v1alpha2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-bigquerystorage-v1alpha2 - 0.98.1-SNAPSHOT + 0.98.1 proto-google-cloud-bigquerystorage-v1alpha2 PROTO library for proto-google-cloud-bigquerystorage-v1alpha2 com.google.cloud google-cloud-bigquerystorage-parent - 0.133.1-beta-SNAPSHOT + 0.133.1-beta diff --git a/proto-google-cloud-bigquerystorage-v1beta1/pom.xml b/proto-google-cloud-bigquerystorage-v1beta1/pom.xml index 2ea31a9f92..7d84f008be 100644 --- a/proto-google-cloud-bigquerystorage-v1beta1/pom.xml +++ b/proto-google-cloud-bigquerystorage-v1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-bigquerystorage-v1beta1 - 0.98.1-SNAPSHOT + 0.98.1 proto-google-cloud-bigquerystorage-v1beta1 PROTO library for proto-google-cloud-bigquerystorage-v1beta1 com.google.cloud google-cloud-bigquerystorage-parent - 0.133.1-beta-SNAPSHOT + 0.133.1-beta diff --git a/proto-google-cloud-bigquerystorage-v1beta2/pom.xml b/proto-google-cloud-bigquerystorage-v1beta2/pom.xml index 2bddb43fd7..dd322b1f08 100644 --- a/proto-google-cloud-bigquerystorage-v1beta2/pom.xml +++ b/proto-google-cloud-bigquerystorage-v1beta2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-bigquerystorage-v1beta2 - 0.98.1-SNAPSHOT + 0.98.1 proto-google-cloud-bigquerystorage-v1beta2 PROTO library for proto-google-cloud-bigquerystorage-v1beta2 com.google.cloud google-cloud-bigquerystorage-parent - 0.133.1-beta-SNAPSHOT + 0.133.1-beta diff --git a/samples/snapshot/pom.xml b/samples/snapshot/pom.xml index facc7051c9..34da37342a 100644 --- a/samples/snapshot/pom.xml +++ b/samples/snapshot/pom.xml @@ -28,7 +28,7 @@ com.google.cloud google-cloud-bigquerystorage - 0.133.1-beta-SNAPSHOT + 0.133.1-beta diff --git a/versions.txt b/versions.txt index d9734c9409..1fccdffdad 100644 --- a/versions.txt +++ b/versions.txt @@ -1,12 +1,12 @@ # Format: # module:released-version:current-version -proto-google-cloud-bigquerystorage-v1alpha2:0.98.0:0.98.1-SNAPSHOT -proto-google-cloud-bigquerystorage-v1beta1:0.98.0:0.98.1-SNAPSHOT -proto-google-cloud-bigquerystorage-v1beta2:0.98.0:0.98.1-SNAPSHOT -proto-google-cloud-bigquerystorage-v1:0.98.0:0.98.1-SNAPSHOT -grpc-google-cloud-bigquerystorage-v1alpha2:0.98.0:0.98.1-SNAPSHOT -grpc-google-cloud-bigquerystorage-v1beta1:0.98.0:0.98.1-SNAPSHOT -grpc-google-cloud-bigquerystorage-v1beta2:0.98.0:0.98.1-SNAPSHOT -grpc-google-cloud-bigquerystorage-v1:0.98.0:0.98.1-SNAPSHOT -google-cloud-bigquerystorage:0.133.0-beta:0.133.1-beta-SNAPSHOT +proto-google-cloud-bigquerystorage-v1alpha2:0.98.1:0.98.1 +proto-google-cloud-bigquerystorage-v1beta1:0.98.1:0.98.1 +proto-google-cloud-bigquerystorage-v1beta2:0.98.1:0.98.1 +proto-google-cloud-bigquerystorage-v1:0.98.1:0.98.1 +grpc-google-cloud-bigquerystorage-v1alpha2:0.98.1:0.98.1 +grpc-google-cloud-bigquerystorage-v1beta1:0.98.1:0.98.1 +grpc-google-cloud-bigquerystorage-v1beta2:0.98.1:0.98.1 +grpc-google-cloud-bigquerystorage-v1:0.98.1:0.98.1 +google-cloud-bigquerystorage:0.133.1-beta:0.133.1-beta