Hello all,

I'm trying to convert PubSubLiteIO into an SDF. I'm running into the
following error on dataflow with a RestrictionTracker returning UNBOUNDED
to isBounded. It looks like calls are being made to `checkDone`, but
looking at the documentation of `checkDone`, I don't think there's any
rational thing I can do in this case. Does anyone know what should be done
for this method?

The following exist in the RestrictionTracker javadoc:
-Must throw an exception with an informative error message, if there is
still any unclaimed work remaining in the restriction. (there is, the
restriction is unbounded)
-{@link RestrictionTracker#checkDone} MUST succeed

Thanks,

Dan

"Error message from worker: java.lang.IllegalStateException: Last attempted
offset was 3188438 in range [1998348, 9223372036854775807), claiming work
in [3188439, 9223372036854775807) was not attempted

org.apache.beam.vendor.guava.v26_0_jre.com.google.common.base.Preconditions.checkState(Preconditions.java:862)

org.apache.beam.sdk.transforms.splittabledofn.OffsetRangeTracker.checkDone(OffsetRangeTracker.java:117)

com.google.cloud.pubsublite.beam.PubsubLiteOffsetRangeTracker.checkDone(PubsubLiteOffsetRangeTracker.java:60)

org.apache.beam.runners.dataflow.worker.repackaged.org.apache.beam.sdk.fn.splittabledofn.RestrictionTrackers$RestrictionTrackerObserver.checkDone(RestrictionTrackers.java:77)

org.apache.beam.runners.dataflow.worker.repackaged.org.apache.beam.runners.core.OutputAndTimeBoundedSplittableProcessElementInvoker.invokeProcessElement(OutputAndTimeBoundedSplittableProcessElementInvoker.java:226)

org.apache.beam.runners.dataflow.worker.repackaged.org.apache.beam.runners.core.SplittableParDoViaKeyedWorkItems$ProcessFn.processElement(SplittableParDoViaKeyedWorkItems.java:524)"

Reply via email to