lostluck commented on a change in pull request #15743:
URL: https://github.com/apache/beam/pull/15743#discussion_r732273445
##########
File path: sdks/go/pkg/beam/pardo.go
##########
@@ -55,7 +55,7 @@ func TryParDo(s Scope, dofn interface{}, col PCollection,
opts ...Option) ([]PCo
sideNode := s.Input.n
sideWfn := sideNode.WindowingStrategy().Fn
if sideWfn.Kind == window.Sessions {
- return nil, fmt.Errorf("error with side input %d in
DoFn %v: PCollections using merging WindowFns are not supported as side inputs.
Consider re-windowing the side input PCollection before use", sideNode, fn)
+ return nil, fmt.Errorf("error with side input %v in
DoFn %v: PCollections using merging WindowFns are not supported as side inputs.
Consider re-windowing the side input PCollection before use", sideNode, fn)
}
if (inWfn.Kind == window.GlobalWindows) && (sideWfn.Kind !=
window.GlobalWindows) {
return nil, fmt.Errorf("main input %v is global
windowed in DoFn %v but side input %v is not, cannot map windows correctly.
Consider re-windowing the side input PCOllection before use", col.n, fn,
sideNode)
Review comment:
So the sideNode says what Type and such is being used, but doesn't say
"this is the 2nd side input into the DoFn", which can be retrieve by changing
the for loop to give you the index ala: `for i, s := range side {`
The type information is useful, but most of the rest of the node printout
information isn't useful for users to find out which side input is the problem.
The types aren't very visible to users at construction time, but "this is the
3rd side input" would be. Hence the earlier phrasing of "side input %d"
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]