[
https://issues.apache.org/jira/browse/BEAM-14484?focusedWorklogId=772574&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-772574
]
ASF GitHub Bot logged work on BEAM-14484:
-----------------------------------------
Author: ASF GitHub Bot
Created on: 19/May/22 19:06
Start Date: 19/May/22 19:06
Worklog Time Spent: 10m
Work Description: lostluck commented on code in PR #17716:
URL: https://github.com/apache/beam/pull/17716#discussion_r877353920
##########
sdks/go/pkg/beam/core/runtime/exec/datasource.go:
##########
@@ -348,6 +349,18 @@ func (n *DataSource) makeEncodeElms() func([]*FullValue)
([][]byte, error) {
return encodeElms
}
+func getBoundedRTrackerFromRoot(root *FullValue) (sdf.BoundableRTracker,
float64, bool) {
+ tracker, ok :=
root.Elm.(*FullValue).Elm2.(*FullValue).Elm.(sdf.BoundableRTracker)
+ if !ok {
Review Comment:
Please add a Warning Log in the failing type assert cases. It shouldn't be
possible for these to fail this way. TBH We should probably 2 phase it. First
ensure it's an RTracker (and fail with the warning with the actual type with
%T) and then check if it's Boundable.
Then if it isn't, wrap it with the "oh it must be bounded" tracker
implementation, since Only Boundable RTrackers can be Unbounded. Makes things
more permissive, but fails more cleanly.
##########
sdks/go/pkg/beam/core/runtime/exec/datasource.go:
##########
@@ -348,6 +349,18 @@ func (n *DataSource) makeEncodeElms() func([]*FullValue)
([][]byte, error) {
return encodeElms
}
+func getBoundedRTrackerFromRoot(root *FullValue) (sdf.BoundableRTracker,
float64, bool) {
+ tracker, ok :=
root.Elm.(*FullValue).Elm2.(*FullValue).Elm.(sdf.BoundableRTracker)
+ if !ok {
+ return nil, -1.0, false
+ }
+ size, ok := root.Elm2.(float64)
+ if !ok {
Review Comment:
Same comment here. By construction, it should always be a float64, so if
it's not, there's a real problem we need to know about and it should be logged.
Issue Time Tracking
-------------------
Worklog Id: (was: 772574)
Time Spent: 3h 10m (was: 3h)
> Improve error message surrounding primary returns in the self-checkpointing
> code
> --------------------------------------------------------------------------------
>
> Key: BEAM-14484
> URL: https://issues.apache.org/jira/browse/BEAM-14484
> Project: Beam
> Issue Type: Improvement
> Components: sdk-go
> Reporter: Jack McCluskey
> Assignee: Jack McCluskey
> Priority: P1
> Time Spent: 3h 10m
> Remaining Estimate: 0h
>
> The error message in the Go SDK harness around returned primaries in the
> self-checkpointing code
> ([https://github.com/apache/beam/blob/ea1f292e9cf31fc8c4803b10d811f0d3ee184ae7/sdks/go/pkg/beam/core/runtime/exec/datasource.go#L375)]
> is unclear and should be made more explicit. It should also guide the user
> towards making sure that the restriction behaves properly in the
> self-checkpointing case.
--
This message was sent by Atlassian Jira
(v8.20.7#820007)