google-cloud-bigquerystorage
diff --git a/google-cloud-bigquerystorage/src/main/java/com/google/cloud/bigquery/storage/v1alpha2/StreamWriter.java b/google-cloud-bigquerystorage/src/main/java/com/google/cloud/bigquery/storage/v1alpha2/StreamWriter.java
index 06f753b6c4..9bc08fe1ce 100644
--- a/google-cloud-bigquerystorage/src/main/java/com/google/cloud/bigquery/storage/v1alpha2/StreamWriter.java
+++ b/google-cloud-bigquerystorage/src/main/java/com/google/cloud/bigquery/storage/v1alpha2/StreamWriter.java
@@ -164,14 +164,10 @@ private StreamWriter(Builder builder)
Instant.ofEpochSecond(
stream.getCreateTime().getSeconds(), stream.getCreateTime().getNanos());
if (stream.getType() == Stream.WriteStream.Type.PENDING && stream.hasCommitTime()) {
- backgroundResources.shutdown();
- backgroundResources.awaitTermination(1, TimeUnit.MINUTES);
throw new IllegalStateException(
"Cannot write to a stream that is already committed: " + streamName);
}
if (createTime.plus(streamTTL).compareTo(Instant.now()) < 0) {
- backgroundResources.shutdown();
- backgroundResources.awaitTermination(1, TimeUnit.MINUTES);
throw new IllegalStateException(
"Cannot write to a stream that is already expired: " + streamName);
}
@@ -360,7 +356,7 @@ private void writeBatch(final InflightBatch inflightBatch) {
/** Close the stream writer. Shut down all resources. */
@Override
public void close() {
- LOG.info("Closing stream writer");
+ LOG.info("Closing stream writer:" + streamName);
shutdown();
try {
awaitTermination(1, TimeUnit.MINUTES);
@@ -451,7 +447,7 @@ private void onFailure(Throwable t) {
LOG.warning("Ignore " + t.toString() + " since error has already been set");
return;
} else {
- LOG.fine("Setting " + t.toString() + " on response");
+ LOG.info("Setting " + t.toString() + " on response");
}
for (AppendRequestAndFutureResponse request : inflightRequests) {
request.appendResult.setException(t);
@@ -512,10 +508,12 @@ public RetrySettings getRetrySettings() {
* should be invoked prior to deleting the {@link WriteStream} object in order to ensure that no
* pending messages are lost.
*/
- public void shutdown() {
- Preconditions.checkState(
- !shutdown.getAndSet(true), "Cannot shut down a writer already shut-down.");
- LOG.info("Shutdown called on writer");
+ protected void shutdown() {
+ if (shutdown.getAndSet(true)) {
+ LOG.fine("Already shutdown.");
+ return;
+ }
+ LOG.fine("Shutdown called on writer");
if (currentAlarmFuture != null && activeAlarm.getAndSet(false)) {
currentAlarmFuture.cancel(false);
}
@@ -535,7 +533,7 @@ public void shutdown() {
*
* Call this method to make sure all resources are freed properly.
*/
- public boolean awaitTermination(long duration, TimeUnit unit) throws InterruptedException {
+ protected boolean awaitTermination(long duration, TimeUnit unit) throws InterruptedException {
return backgroundResources.awaitTermination(duration, unit);
}
@@ -854,25 +852,29 @@ public void onError(Throwable t) {
Math.min(
streamWriter.getRetrySettings().getInitialRetryDelay().toMillis(),
Duration.ofSeconds(7).toMillis()));
+ LOG.info("Resending requests on transient error:" + streamWriter.currentRetries);
streamWriter.writeBatch(inflightBatch);
synchronized (streamWriter.currentRetries) {
streamWriter.currentRetries++;
}
} else {
+ inflightBatch.onFailure(t);
synchronized (streamWriter.currentRetries) {
streamWriter.currentRetries = 0;
}
- inflightBatch.onFailure(t);
}
} catch (IOException | InterruptedException e) {
- streamWriter.currentRetries = 0;
+ LOG.info("Got exception while retrying.");
inflightBatch.onFailure(e);
+ synchronized (streamWriter.currentRetries) {
+ streamWriter.currentRetries = 0;
+ }
}
} else {
+ inflightBatch.onFailure(t);
synchronized (streamWriter.currentRetries) {
streamWriter.currentRetries = 0;
}
- inflightBatch.onFailure(t);
try {
if (!streamWriter.shutdown.get()) {
// Establish a new connection.
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 3bab929111..372b4ad97f 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
@@ -294,8 +294,7 @@ public void testWriteByShutdown() throws Exception {
// Note we are not advancing time or reaching the count threshold but messages should
// still get written by call to shutdown
- writer.shutdown();
- writer.awaitTermination(10, TimeUnit.SECONDS);
+ writer.close();
// Verify the appends completed
assertTrue(appendFuture1.isDone());
@@ -407,8 +406,7 @@ public void run() {
// Wait is necessary for response to be scheduled before timer is advanced.
fakeExecutor.advanceTime(Duration.ofSeconds(10));
t.join();
- writer.shutdown();
- writer.awaitTermination(1, TimeUnit.MINUTES);
+ writer.close();
}
@Test
@@ -527,8 +525,7 @@ public void testStreamReconnectionExceedRetry() throws Exception {
} catch (ExecutionException e) {
assertEquals(transientError.toString(), e.getCause().getCause().toString());
}
- writer.shutdown();
- assertTrue(writer.awaitTermination(1, TimeUnit.MINUTES));
+ writer.close();
}
@Test
@@ -643,7 +640,7 @@ public void testWriterGetters() throws Exception {
.getFlowControlSettings()
.getMaxOutstandingRequestBytes()
.longValue());
- writer.shutdown();
+ writer.close();
}
@Test
@@ -823,29 +820,6 @@ public void testBuilderInvalidArguments() {
}
}
- @Test
- public void testAwaitTermination() throws Exception {
- StreamWriter writer =
- getTestStreamWriterBuilder("projects/p/datasets/d/tables/t/streams/await").build();
- testBigQueryWrite.addResponse(AppendRowsResponse.newBuilder().build());
- ApiFuture appendFuture1 = sendTestMessage(writer, new String[] {"AWAIT"});
- writer.shutdown();
- assertTrue(writer.awaitTermination(1, TimeUnit.MINUTES));
- }
-
- @Test
- public void testClose() throws Exception {
- StreamWriter writer = getTestStreamWriterBuilder().build();
- writer.close();
- try {
- writer.shutdown();
- fail("Should throw");
- } catch (IllegalStateException e) {
- LOG.info(e.toString());
- assertEquals("Cannot shut down a writer already shut-down.", e.getMessage());
- }
- }
-
@Test
public void testExistingClient() throws Exception {
BigQueryWriteSettings settings =
diff --git a/grpc-google-cloud-bigquerystorage-v1/pom.xml b/grpc-google-cloud-bigquerystorage-v1/pom.xml
index 779f9538b6..1d690efcfc 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.3
+ 0.98.4
grpc-google-cloud-bigquerystorage-v1
GRPC library for grpc-google-cloud-bigquerystorage-v1
com.google.cloud
google-cloud-bigquerystorage-parent
- 0.133.3-beta
+ 0.133.4-beta
diff --git a/grpc-google-cloud-bigquerystorage-v1alpha2/pom.xml b/grpc-google-cloud-bigquerystorage-v1alpha2/pom.xml
index 678dbf3975..2e6a0a361a 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.3
+ 0.98.4
grpc-google-cloud-bigquerystorage-v1alpha2
GRPC library for grpc-google-cloud-bigquerystorage-v1alpha2
com.google.cloud
google-cloud-bigquerystorage-parent
- 0.133.3-beta
+ 0.133.4-beta
diff --git a/grpc-google-cloud-bigquerystorage-v1beta1/pom.xml b/grpc-google-cloud-bigquerystorage-v1beta1/pom.xml
index e6181d7b52..8a290c494e 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.3
+ 0.98.4
grpc-google-cloud-bigquerystorage-v1beta1
GRPC library for grpc-google-cloud-bigquerystorage-v1beta1
com.google.cloud
google-cloud-bigquerystorage-parent
- 0.133.3-beta
+ 0.133.4-beta
diff --git a/grpc-google-cloud-bigquerystorage-v1beta2/pom.xml b/grpc-google-cloud-bigquerystorage-v1beta2/pom.xml
index 9dc9ce4fe4..4c99c88636 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.3
+ 0.98.4
grpc-google-cloud-bigquerystorage-v1beta2
GRPC library for grpc-google-cloud-bigquerystorage-v1beta2
com.google.cloud
google-cloud-bigquerystorage-parent
- 0.133.3-beta
+ 0.133.4-beta
diff --git a/pom.xml b/pom.xml
index 3ad9ac12c1..30dd51d0d5 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,7 +4,7 @@
com.google.cloud
google-cloud-bigquerystorage-parent
pom
- 0.133.3-beta
+ 0.133.4-beta
BigQuery Storage Parent
https://github.com/googleapis/java-bigquerystorage
@@ -14,7 +14,7 @@
com.google.cloud
google-cloud-shared-config
- 0.6.0
+ 0.8.0
@@ -98,52 +98,52 @@
com.google.cloud
google-cloud-bigquery
- 1.116.1
+ 1.116.2
com.google.api.grpc
proto-google-cloud-bigquerystorage-v1alpha2
- 0.98.3
+ 0.98.4
com.google.api.grpc
proto-google-cloud-bigquerystorage-v1beta1
- 0.98.3
+ 0.98.4
com.google.api.grpc
proto-google-cloud-bigquerystorage-v1beta2
- 0.98.3
+ 0.98.4
com.google.api.grpc
proto-google-cloud-bigquerystorage-v1
- 0.98.3
+ 0.98.4
com.google.api.grpc
grpc-google-cloud-bigquerystorage-v1alpha2
- 0.98.3
+ 0.98.4
com.google.api.grpc
grpc-google-cloud-bigquerystorage-v1beta1
- 0.98.3
+ 0.98.4
com.google.api.grpc
grpc-google-cloud-bigquerystorage-v1beta2
- 0.98.3
+ 0.98.4
com.google.api.grpc
grpc-google-cloud-bigquerystorage-v1
- 0.98.3
+ 0.98.4
com.google.cloud
google-cloud-bigquerystorage
- 0.133.3-beta
+ 0.133.4-beta
com.fasterxml.jackson.core
diff --git a/proto-google-cloud-bigquerystorage-v1/pom.xml b/proto-google-cloud-bigquerystorage-v1/pom.xml
index 1ba89d7c2f..ea60a39c8a 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.3
+ 0.98.4
proto-google-cloud-bigquerystorage-v1
PROTO library for proto-google-cloud-bigquerystorage-v1
com.google.cloud
google-cloud-bigquerystorage-parent
- 0.133.3-beta
+ 0.133.4-beta
diff --git a/proto-google-cloud-bigquerystorage-v1alpha2/pom.xml b/proto-google-cloud-bigquerystorage-v1alpha2/pom.xml
index c54fe9e773..c5d726a355 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.3
+ 0.98.4
proto-google-cloud-bigquerystorage-v1alpha2
PROTO library for proto-google-cloud-bigquerystorage-v1alpha2
com.google.cloud
google-cloud-bigquerystorage-parent
- 0.133.3-beta
+ 0.133.4-beta
diff --git a/proto-google-cloud-bigquerystorage-v1beta1/pom.xml b/proto-google-cloud-bigquerystorage-v1beta1/pom.xml
index d6aed12b45..beacbd7eac 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.3
+ 0.98.4
proto-google-cloud-bigquerystorage-v1beta1
PROTO library for proto-google-cloud-bigquerystorage-v1beta1
com.google.cloud
google-cloud-bigquerystorage-parent
- 0.133.3-beta
+ 0.133.4-beta
diff --git a/proto-google-cloud-bigquerystorage-v1beta2/pom.xml b/proto-google-cloud-bigquerystorage-v1beta2/pom.xml
index 0d16464a2a..6a689bbd52 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.3
+ 0.98.4
proto-google-cloud-bigquerystorage-v1beta2
PROTO library for proto-google-cloud-bigquerystorage-v1beta2
com.google.cloud
google-cloud-bigquerystorage-parent
- 0.133.3-beta
+ 0.133.4-beta
diff --git a/renovate.json b/renovate.json
index a3e13ddbbb..458c922f7f 100644
--- a/renovate.json
+++ b/renovate.json
@@ -76,5 +76,6 @@
"groupName": "jackson dependencies"
}
],
- "semanticCommits": true
+ "semanticCommits": true,
+ "masterIssue": true
}
\ No newline at end of file
diff --git a/samples/install-without-bom/pom.xml b/samples/install-without-bom/pom.xml
index 97fbfbe6a6..a74a66037d 100644
--- a/samples/install-without-bom/pom.xml
+++ b/samples/install-without-bom/pom.xml
@@ -14,7 +14,7 @@
com.google.cloud.samples
shared-configuration
- 1.0.17
+ 1.0.18
@@ -29,7 +29,7 @@
com.google.cloud
google-cloud-bigquerystorage
- 0.133.2-beta
+ 0.133.3-beta
diff --git a/samples/pom.xml b/samples/pom.xml
index 36c2d268f7..d8c818dc48 100644
--- a/samples/pom.xml
+++ b/samples/pom.xml
@@ -18,7 +18,7 @@
com.google.cloud.samples
shared-configuration
- 1.0.17
+ 1.0.18
diff --git a/samples/snapshot/pom.xml b/samples/snapshot/pom.xml
index 90134217f5..562fdadfd1 100644
--- a/samples/snapshot/pom.xml
+++ b/samples/snapshot/pom.xml
@@ -14,7 +14,7 @@
com.google.cloud.samples
shared-configuration
- 1.0.17
+ 1.0.18
@@ -28,7 +28,7 @@
com.google.cloud
google-cloud-bigquerystorage
- 0.133.3-beta
+ 0.133.4-beta
diff --git a/samples/snippets/pom.xml b/samples/snippets/pom.xml
index 57a3caca32..e4282820e0 100644
--- a/samples/snippets/pom.xml
+++ b/samples/snippets/pom.xml
@@ -14,7 +14,7 @@
com.google.cloud.samples
shared-configuration
- 1.0.17
+ 1.0.18
@@ -30,7 +30,7 @@
com.google.cloud
libraries-bom
- 5.5.0
+ 5.7.0
pom
import
diff --git a/synth.metadata b/synth.metadata
index eab337d328..2194f6f478 100644
--- a/synth.metadata
+++ b/synth.metadata
@@ -11,7 +11,7 @@
"git": {
"name": ".",
"remote": "https://github.com/googleapis/java-bigquerystorage.git",
- "sha": "dd216134b98816f4b3cc6bd036eab01ebf04df35"
+ "sha": "a611756faea308c7e6714d8eecdb6a295ccb3e6a"
}
},
{
@@ -50,7 +50,7 @@
"git": {
"name": "synthtool",
"remote": "https://github.com/googleapis/synthtool.git",
- "sha": "8b65daa222d193b689279162781baf0aa1f0ffd2"
+ "sha": "987270824bd26f6a8c716d5e2022057b8ae7b26e"
}
}
],
diff --git a/versions.txt b/versions.txt
index 3cecb5777f..28e87f6795 100644
--- a/versions.txt
+++ b/versions.txt
@@ -1,12 +1,12 @@
# Format:
# module:released-version:current-version
-proto-google-cloud-bigquerystorage-v1alpha2:0.98.3:0.98.3
-proto-google-cloud-bigquerystorage-v1beta1:0.98.3:0.98.3
-proto-google-cloud-bigquerystorage-v1beta2:0.98.3:0.98.3
-proto-google-cloud-bigquerystorage-v1:0.98.3:0.98.3
-grpc-google-cloud-bigquerystorage-v1alpha2:0.98.3:0.98.3
-grpc-google-cloud-bigquerystorage-v1beta1:0.98.3:0.98.3
-grpc-google-cloud-bigquerystorage-v1beta2:0.98.3:0.98.3
-grpc-google-cloud-bigquerystorage-v1:0.98.3:0.98.3
-google-cloud-bigquerystorage:0.133.3-beta:0.133.3-beta
+proto-google-cloud-bigquerystorage-v1alpha2:0.98.4:0.98.4
+proto-google-cloud-bigquerystorage-v1beta1:0.98.4:0.98.4
+proto-google-cloud-bigquerystorage-v1beta2:0.98.4:0.98.4
+proto-google-cloud-bigquerystorage-v1:0.98.4:0.98.4
+grpc-google-cloud-bigquerystorage-v1alpha2:0.98.4:0.98.4
+grpc-google-cloud-bigquerystorage-v1beta1:0.98.4:0.98.4
+grpc-google-cloud-bigquerystorage-v1beta2:0.98.4:0.98.4
+grpc-google-cloud-bigquerystorage-v1:0.98.4:0.98.4
+google-cloud-bigquerystorage:0.133.4-beta:0.133.4-beta