From 0ee35d9e4900c32b175f72ce5fa131f241e9e4c9 Mon Sep 17 00:00:00 2001 From: Igor Bernstein Date: Thu, 14 May 2026 14:08:15 -0400 Subject: [PATCH] fix(bigtable): resolve thread visibility race on heartbeatInterval --- .../bigtable/data/v2/internal/session/SessionImpl.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/java-bigtable/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/internal/session/SessionImpl.java b/java-bigtable/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/internal/session/SessionImpl.java index a2ef4f619821..a030bc6c8cc0 100644 --- a/java-bigtable/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/internal/session/SessionImpl.java +++ b/java-bigtable/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/internal/session/SessionImpl.java @@ -330,10 +330,10 @@ VRpc newCall(VRpcDescriptor descriptor) { @Override public Status startRpc(VRpcImpl rpc, VirtualRpcRequest payload) { - // start monitoring for heartbeat when the vrpc is started - this.nextHeartbeat = clock.instant().plus(heartbeatInterval); - synchronized (lock) { + // start monitoring for heartbeat when the vrpc is started + this.nextHeartbeat = clock.instant().plus(heartbeatInterval); + if (currentRpc != null) { return Status.INTERNAL.withDescription( "Session error: RPC multiplexing is not yet supported");