You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beam.apache.org by lc...@apache.org on 2020/05/09 14:02:19 UTC

[beam] branch master updated: check lastAttemptedOffset non-null

This is an automated email from the ASF dual-hosted git repository.

lcwik pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/beam.git


The following commit(s) were added to refs/heads/master by this push:
     new 8bba19a  check lastAttemptedOffset non-null
     new da4a1b2  Merge pull request #11648 from jaketf/fix/OffsetRangeTrackerErrorHandling
8bba19a is described below

commit 8bba19a58c62877b2ed2001e20d3874aaea08126
Author: Jacob Ferriero <jf...@google.com>
AuthorDate: Fri May 8 17:28:49 2020 -0700

    check lastAttemptedOffset non-null
---
 .../beam/sdk/transforms/splittabledofn/OffsetRangeTracker.java    | 4 ++++
 .../sdk/transforms/splittabledofn/OffsetRangeTrackerTest.java     | 8 ++++++++
 2 files changed, 12 insertions(+)

diff --git a/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/splittabledofn/OffsetRangeTracker.java b/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/splittabledofn/OffsetRangeTracker.java
index 8d63a24..2743a1d 100644
--- a/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/splittabledofn/OffsetRangeTracker.java
+++ b/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/splittabledofn/OffsetRangeTracker.java
@@ -95,6 +95,10 @@ public class OffsetRangeTracker extends RestrictionTracker<OffsetRange, Long>
       return;
     }
     checkState(
+        lastAttemptedOffset != null,
+        "Last attempted offset should not be null. No work was claimed in non-empty range %s.",
+        range);
+    checkState(
         lastAttemptedOffset >= range.getTo() - 1,
         "Last attempted offset was %s in range %s, claiming work in [%s, %s) was not attempted",
         lastAttemptedOffset,
diff --git a/sdks/java/core/src/test/java/org/apache/beam/sdk/transforms/splittabledofn/OffsetRangeTrackerTest.java b/sdks/java/core/src/test/java/org/apache/beam/sdk/transforms/splittabledofn/OffsetRangeTrackerTest.java
index 2f1aed9..6fdd254 100644
--- a/sdks/java/core/src/test/java/org/apache/beam/sdk/transforms/splittabledofn/OffsetRangeTrackerTest.java
+++ b/sdks/java/core/src/test/java/org/apache/beam/sdk/transforms/splittabledofn/OffsetRangeTrackerTest.java
@@ -144,6 +144,14 @@ public class OffsetRangeTrackerTest {
   }
 
   @Test
+  public void testDoneBeforeClaim() throws Exception {
+    expected.expectMessage(
+        "Last attempted offset should not be null. No work was claimed in non-empty range [100, 200)");
+    OffsetRangeTracker tracker = new OffsetRangeTracker(new OffsetRange(100, 200));
+    tracker.checkDone();
+  }
+
+  @Test
   public void testCheckDoneAfterTryClaimPastEndOfRange() {
     OffsetRangeTracker tracker = new OffsetRangeTracker(new OffsetRange(100, 200));
     assertTrue(tracker.tryClaim(150L));