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));