From 71f10d8d1766303a2588015491ff8dae1f13bd56 Mon Sep 17 00:00:00 2001 From: scwhittle Date: Wed, 27 May 2026 13:50:33 +0200 Subject: [PATCH 1/2] [Cloud Spanner Change Streams] Fix inverted evaluation of cancelQueryOnHeartbeat (#38695) This meant that low latency mode for heartbeats was enabled by default and disabled in low latency mode instead of the desired opposite. --- .../spanner/changestreams/action/HeartbeatRecordAction.java | 2 +- .../changestreams/action/HeartbeatRecordActionTest.java | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/spanner/changestreams/action/HeartbeatRecordAction.java b/sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/spanner/changestreams/action/HeartbeatRecordAction.java index 1b66a548b3d2..773f54a15d24 100644 --- a/sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/spanner/changestreams/action/HeartbeatRecordAction.java +++ b/sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/spanner/changestreams/action/HeartbeatRecordAction.java @@ -104,6 +104,6 @@ public Optional run( return Optional.empty(); } // no new data, finish reading data - return cancelQueryOnHeartbeat ? Optional.empty() : Optional.of(ProcessContinuation.resume()); + return cancelQueryOnHeartbeat ? Optional.of(ProcessContinuation.resume()) : Optional.empty(); } } diff --git a/sdks/java/io/google-cloud-platform/src/test/java/org/apache/beam/sdk/io/gcp/spanner/changestreams/action/HeartbeatRecordActionTest.java b/sdks/java/io/google-cloud-platform/src/test/java/org/apache/beam/sdk/io/gcp/spanner/changestreams/action/HeartbeatRecordActionTest.java index adfc4ea35d48..48fd7c30a1a8 100644 --- a/sdks/java/io/google-cloud-platform/src/test/java/org/apache/beam/sdk/io/gcp/spanner/changestreams/action/HeartbeatRecordActionTest.java +++ b/sdks/java/io/google-cloud-platform/src/test/java/org/apache/beam/sdk/io/gcp/spanner/changestreams/action/HeartbeatRecordActionTest.java @@ -232,7 +232,7 @@ public void testEndTimestampNotReachedOnCancellingAction() { watermarkEstimator, endTimestamp); - assertEquals(Optional.empty(), maybeContinuation); + assertEquals(Optional.of(ProcessContinuation.resume()), maybeContinuation); verify(watermarkEstimator).setWatermark(new Instant(timestamp.toSqlTimestamp().getTime())); } @@ -254,7 +254,7 @@ public void testEndTimestampNotReachedOnAction() { watermarkEstimator, endTimestamp); - assertEquals(Optional.of(ProcessContinuation.resume()), maybeContinuation); + assertEquals(Optional.empty(), maybeContinuation); verify(watermarkEstimator).setWatermark(new Instant(timestamp.toSqlTimestamp().getTime())); } } From d19e54af55279a3ee4d63549e068797156122998 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rados=C5=82aw=20Stankiewicz?= Date: Mon, 25 May 2026 15:49:10 +0200 Subject: [PATCH 2/2] Update action.yml upgrade gradle action to enable the CI - 5.0.0 was removed by apache/infrastructure-actions@9ef334e --- .github/actions/setup-environment-action/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/setup-environment-action/action.yml b/.github/actions/setup-environment-action/action.yml index aa10257e3f93..fb5f91de4551 100644 --- a/.github/actions/setup-environment-action/action.yml +++ b/.github/actions/setup-environment-action/action.yml @@ -76,7 +76,7 @@ runs: distribution: 'temurin' java-version: ${{ inputs.java-version == 'default' && '11' || inputs.java-version }} - name: Setup Gradle - uses: gradle/actions/setup-gradle@4d9f0ba0025fe599b4ebab900eb7f3a1d93ef4c2 # v5 + uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5.0.2 with: cache-disabled: ${{ inputs.disable-cache }} validate-wrappers: false