[
https://issues.apache.org/jira/browse/BEAM-14536?focusedWorklogId=776881&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-776881
]
ASF GitHub Bot logged work on BEAM-14536:
-----------------------------------------
Author: ASF GitHub Bot
Created on: 01/Jun/22 14:00
Start Date: 01/Jun/22 14:00
Worklog Time Spent: 10m
Work Description: riteshghorse commented on code in PR #17782:
URL: https://github.com/apache/beam/pull/17782#discussion_r886844018
##########
sdks/go/pkg/beam/io/rtrackers/offsetrange/offsetrange.go:
##########
@@ -208,9 +210,11 @@ func (tracker *Tracker) GetProgress() (done, remaining
float64) {
return
}
-// IsDone returns true if the most recent claimed element is past the end of
the restriction.
+// IsDone returns true if the most recent claimed element is past the end of
the restriction
+// or if the restriction represents no work to be done (aka the start of the
restriction is
+// greater than or equal to the end).
func (tracker *Tracker) IsDone() bool {
- return tracker.err == nil && tracker.claimed >= tracker.rest.End
+ return tracker.err == nil && (tracker.claimed >= tracker.rest.End ||
tracker.rest.Start >= tracker.rest.End)
Review Comment:
Yeah, we should modify this as well. I prefer doing it `tracker.claimed+1 >=
tracker.rest.End` as it is consistent with `GetProgress()`. I've done similar
thing in GrowableTracker.
Issue Time Tracking
-------------------
Worklog Id: (was: 776881)
Time Spent: 2h 40m (was: 2.5h)
> Offsetrange tracker panics when splitting at 0.0 without claiming work
> ----------------------------------------------------------------------
>
> Key: BEAM-14536
> URL: https://issues.apache.org/jira/browse/BEAM-14536
> Project: Beam
> Issue Type: Bug
> Components: sdk-go
> Reporter: Danny McCormick
> Assignee: Danny McCormick
> Priority: P2
> Time Spent: 2h 40m
> Remaining Estimate: 0h
>
> Right now, if you try to call TrySplit on an offsetrange restriction with a
> fraction of 0.0 and without first claiming work, it sets the primary
> restriction to \{Start, Start-1}. This causes newSplitResult to panic -
> https://github.com/apache/beam/blob/ff39fcb5229b15140e41a61bd09f7d590730e93a/sdks/go/pkg/beam/core/runtime/exec/sdf.go#L859
--
This message was sent by Atlassian Jira
(v8.20.7#820007)