[
https://issues.apache.org/jira/browse/BEAM-11104?focusedWorklogId=757056&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-757056
]
ASF GitHub Bot logged work on BEAM-11104:
-----------------------------------------
Author: ASF GitHub Bot
Created on: 14/Apr/22 16:11
Start Date: 14/Apr/22 16:11
Worklog Time Spent: 10m
Work Description: lostluck commented on code in PR #17334:
URL: https://github.com/apache/beam/pull/17334#discussion_r850595991
##########
sdks/go/pkg/beam/core/graph/edge.go:
##########
@@ -426,8 +426,14 @@ func newDoFnNode(op Opcode, g *Graph, s *Scope, u *DoFn,
in []*Node, rc *coder.C
for i := 0; i < len(in); i++ {
edge.Input = append(edge.Input, &Inbound{Kind: kinds[i], From:
in[i], Type: inbound[i]})
}
+ continuation := false
+ // u.Fn is not guaranteed to be non-nil
+ if u.Fn != nil {
Review Comment:
When Fn is nil, then it's u.Recv is not nil, because [the Fn field is for
functional DoFns and Recv is for structural
DoFns.](https://github.com/apache/beam/blob/bc54bf1cecda957fb63217ce846163fbca4de2bb/sdks/go/pkg/beam/core/graph/fn.go#L30)
So as written, this is only doing the check for functional DoFns, and not
structural ones.
You should be able to handle both if you call `u.ProcessElementFn()` then
call `ProcessContinuation()` on that.
(See handling difference between the two
[here](https://github.com/apache/beam/blob/bc54bf1cecda957fb63217ce846163fbca4de2bb/sdks/go/pkg/beam/core/graph/fn.go#L380))
Issue Time Tracking
-------------------
Worklog Id: (was: 757056)
Time Spent: 11h 10m (was: 11h)
> [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: 11h 10m
> 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)