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