[ https://issues.apache.org/jira/browse/BEAM-11104?focusedWorklogId=755312&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-755312 ]
ASF GitHub Bot logged work on BEAM-11104: ----------------------------------------- Author: ASF GitHub Bot Created on: 11/Apr/22 16:50 Start Date: 11/Apr/22 16:50 Worklog Time Spent: 10m Work Description: jrmccluskey commented on code in PR #17334: URL: https://github.com/apache/beam/pull/17334#discussion_r847539904 ########## sdks/go/pkg/beam/core/runtime/exec/fn.go: ########## @@ -224,14 +227,17 @@ func (n *invoker) Invoke(ctx context.Context, pn typex.PaneInfo, ws []typex.Wind } // ret1 handles processing of a single return value. -// Errors or single values are the only options. +// Errors, single values, or a ProcessContinuation are the only options. func (n *invoker) ret1(pn typex.PaneInfo, ws []typex.Window, ts typex.EventTime, r0 interface{}) (*FullValue, error) { switch { case n.outErrIdx >= 0: if r0 != nil { return nil, r0.(error) } return nil, nil + case n.outPcIdx >= 0: + n.ret = FullValue{Windows: ws, Timestamp: ts, Pane: pn, Continuation: r0.(sdf.ProcessContinuation)} Review Comment: Interesting question. We've established that we want an explicit stop value from the DoFn in the interface, so we'd probably not want to treat a nil value as a stop. A nil value here isn't technically problematic since we'd ignore it when we pick up the FullValue again and treat it as if the process completed successfully, but you're right in that we shouldn't allow users to do that Issue Time Tracking ------------------- Worklog Id: (was: 755312) Time Spent: 6h 20m (was: 6h 10m) > [Go SDK] DoFn Self Checkpointing > -------------------------------- > > Key: BEAM-11104 > URL: https://issues.apache.org/jira/browse/BEAM-11104 > Project: Beam > Issue Type: Sub-task > Components: sdk-go > Reporter: Robert Burke > Assignee: Jack McCluskey > Priority: P3 > Time Spent: 6h 20m > Remaining Estimate: 0h > > Allow SplittableDoFns to self checkpoint. > Design doc: > https://docs.google.com/document/d/1_JbzjY9JR07ZK5v7PcZevUfzHPsqwzfV7W6AouNpMPk/edit?usp=sharing -- This message was sent by Atlassian Jira (v8.20.1#820001)