You are viewing a plain text version of this content. The canonical link for it is here.
Posted to github@beam.apache.org by GitBox <gi...@apache.org> on 2021/07/20 19:50:43 UTC
[GitHub] [beam] lukecwik commented on a change in pull request #15191: [BEAM-12639] Allow for zero splits in SplitAndSizeRestriction
lukecwik commented on a change in pull request #15191:
URL: https://github.com/apache/beam/pull/15191#discussion_r673433028
##########
File path: sdks/go/pkg/beam/core/runtime/exec/sdf_invokers_test.go
##########
@@ -382,3 +382,50 @@ func (fn *VetKvSdf) ProcessElement(rt *VetRTracker, i, j int, emit func(*VetRest
rest.ProcessElm = true
emit(rest)
}
+
+// VetEmptyInitialSplitSdf runs an SDF in order to test that these methods get called properly,
+// each method will flip the corresponding flag in the passed in VetRestriction,
+// overwrite the restriction's Key and Val with the last seen input elements,
+// and retain the other fields in the VetRestriction.
+type VetEmptyInitialSplitSdf struct {
Review comment:
That looks so convenient but was unable to get it to work since the ProcessElement method was not being found.
Code I used was:
```
// VetEmptyInitialSplitSdf runs an SDF in order to test that these methods get called properly,
// each method will flip the corresponding flag in the passed in VetRestriction,
// overwrite the restriction's Key and Val with the last seen input elements,
// and retain the other fields in the VetRestriction.
type VetEmptyInitialSplitSdf struct {
sdf *VetSdf `default:"{}"`
}
// SplitRestriction outputs zero restrictions.
func (fn *VetEmptyInitialSplitSdf) SplitRestriction(i int, rest *VetRestriction) []*VetRestriction {
return []*VetRestriction{}
}
```
Error I got was:
```
=== RUN TestSdfNodes
--- FAIL: TestSdfNodes (0.00s)
sdf_test.go:62: invalid function: graph.AsDoFn: for Fn named github.com/apache/beam/sdks/go/pkg/beam/core/runtime/exec.VetEmptyInitialSplitSdf
failed to find ProcessElement method
```
Will merge as-is. Using the type embedding seems very convenient to have.
--
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: github-unsubscribe@beam.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org