diff --git a/java-datastore/google-cloud-datastore/src/main/java/com/google/cloud/datastore/spi/v1/GrpcDatastoreRpc.java b/java-datastore/google-cloud-datastore/src/main/java/com/google/cloud/datastore/spi/v1/GrpcDatastoreRpc.java index 0947d4a8b4a9..cc5391dfee6a 100644 --- a/java-datastore/google-cloud-datastore/src/main/java/com/google/cloud/datastore/spi/v1/GrpcDatastoreRpc.java +++ b/java-datastore/google-cloud-datastore/src/main/java/com/google/cloud/datastore/spi/v1/GrpcDatastoreRpc.java @@ -75,20 +75,22 @@ public GrpcDatastoreRpc(DatastoreOptions datastoreOptions) throws IOException { ? getClientContextForEmulator(datastoreOptions) : getClientContext(datastoreOptions); - /* For grpc transport options, configure default gRPC Connection pool with minChannelCount = 1 */ - DatastoreStubSettings.Builder builder = + /* For non-emulator, configure default gRPC Connection pool with minChannelCount = 1 */ + DatastoreStubSettings.Builder datastoreStubSettingsBuilder = DatastoreStubSettings.newBuilder(clientContext) - .applyToAllUnaryMethods(retrySettingSetter(datastoreOptions)) - .setTransportChannelProvider( - DatastoreSettings.defaultGrpcTransportProviderBuilder() - .setChannelPoolSettings( - ChannelPoolSettings.builder() - .setInitialChannelCount(DatastoreOptions.INIT_CHANNEL_COUNT) - .setMinChannelCount(DatastoreOptions.MIN_CHANNEL_COUNT) - .build()) - .build()); - - datastoreStub = GrpcDatastoreStub.create(builder.build()); + .applyToAllUnaryMethods(retrySettingSetter(datastoreOptions)); + if (!isEmulator(datastoreOptions)) { + datastoreStubSettingsBuilder.setTransportChannelProvider( + DatastoreSettings.defaultGrpcTransportProviderBuilder() + .setChannelPoolSettings( + ChannelPoolSettings.builder() + .setInitialChannelCount(DatastoreOptions.INIT_CHANNEL_COUNT) + .setMinChannelCount(DatastoreOptions.MIN_CHANNEL_COUNT) + .build()) + .build()); + } + + datastoreStub = GrpcDatastoreStub.create(datastoreStubSettingsBuilder.build()); } catch (IOException e) { throw new IOException(e); }