[ https://issues.apache.org/jira/browse/BEAM-11104?focusedWorklogId=757058&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-757058 ]
ASF GitHub Bot logged work on BEAM-11104: ----------------------------------------- Author: ASF GitHub Bot Created on: 14/Apr/22 16:14 Start Date: 14/Apr/22 16:14 Worklog Time Spent: 10m Work Description: lostluck commented on code in PR #17334: URL: https://github.com/apache/beam/pull/17334#discussion_r850600397 ########## sdks/go/pkg/beam/core/runtime/exec/fn.go: ########## @@ -261,21 +274,34 @@ func (n *invoker) ret2(pn typex.PaneInfo, ws []typex.Window, ts typex.EventTime, // ret3 handles processing of a trio of return values. func (n *invoker) ret3(pn typex.PaneInfo, ws []typex.Window, ts typex.EventTime, r0, r1, r2 interface{}) (*FullValue, error) { switch { - case n.outErrIdx >= 0: - if r2 != nil { - return nil, r2.(error) + case n.outEtIdx >= 0: + if n.outErrIdx == 2 { + if r2 != nil { + return nil, r2.(error) + } + n.ret = FullValue{Windows: ws, Timestamp: r0.(typex.EventTime), Elm: r1, Pane: pn} + return &n.ret, nil } - if n.outEtIdx < 0 { - n.ret = FullValue{Windows: ws, Timestamp: ts, Elm: r0, Elm2: r1, Pane: pn} + if n.outPcIdx >= 0 { + n.ret = FullValue{Windows: ws, Timestamp: r0.(typex.EventTime), Elm: r1, Pane: pn, Continuation: r2.(sdf.ProcessContinuation)} return &n.ret, nil } - n.ret = FullValue{Windows: ws, Timestamp: r0.(typex.EventTime), Elm: r1, Pane: pn} - return &n.ret, nil - case n.outEtIdx == 0: n.ret = FullValue{Windows: ws, Timestamp: r0.(typex.EventTime), Elm: r1, Elm2: r2, Pane: pn} return &n.ret, nil default: - panic(fmt.Sprintf("invoker.ret3: %T, %T, and %T don't match permitted return values.", r0, r1, r2)) + if n.outErrIdx == 2 { Review Comment: As I said... > Style wise (and compiler wise) they're identical so no change should occur from this comment. It's also my job to tell you these sorts of things about Go, and the opportunity is during relevant context, even if it's not changing the code. Issue Time Tracking ------------------- Worklog Id: (was: 757058) Time Spent: 11.5h (was: 11h 20m) > [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: 11.5h > 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)