From 67bd06aac7a53a210e1a5c081929104c43a5d48a Mon Sep 17 00:00:00 2001 From: Sebastian Schmidt Date: Thu, 11 Feb 2021 14:03:24 -0700 Subject: [PATCH] fix: block close() on the termination of all RPC channels (#512) --- .../com/google/cloud/firestore/spi/v1/GrpcFirestoreRpc.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/google-cloud-firestore/src/main/java/com/google/cloud/firestore/spi/v1/GrpcFirestoreRpc.java b/google-cloud-firestore/src/main/java/com/google/cloud/firestore/spi/v1/GrpcFirestoreRpc.java index d99e098a2..692cb77b4 100644 --- a/google-cloud-firestore/src/main/java/com/google/cloud/firestore/spi/v1/GrpcFirestoreRpc.java +++ b/google-cloud-firestore/src/main/java/com/google/cloud/firestore/spi/v1/GrpcFirestoreRpc.java @@ -66,6 +66,7 @@ import java.io.IOException; import java.util.Collections; import java.util.concurrent.ScheduledExecutorService; +import java.util.concurrent.TimeUnit; /** * GRPC client implementation of the Firestore RPC methods. Exposes FirestoreOptions on top of the @@ -152,6 +153,9 @@ public void close() throws Exception { for (BackgroundResource resource : clientContext.getBackgroundResources()) { resource.close(); } + for (BackgroundResource resource : clientContext.getBackgroundResources()) { + resource.awaitTermination(1, TimeUnit.SECONDS); + } executorFactory.release(executor); }