damccorm commented on a change in pull request #16980:
URL: https://github.com/apache/beam/pull/16980#discussion_r817612803



##########
File path: sdks/go/pkg/beam/core/runtime/exec/pardo.go
##########
@@ -220,6 +226,49 @@ func (n *ParDo) FinishBundle(_ context.Context) error {
        return nil
 }
 
+func (n *ParDo) FinalizeBundle(ctx context.Context) error {
+       failedIndices := []int{}
+       for idx, bfc := range n.bf.callbacks {

Review comment:
       I definitely agree that this is a better approach and will update 
accordingly. With that said:
   
   > You'll note that in Go, that it's not a great idea to simply add new 
methods to an interface, as it will break everything that's trying to implement 
the interface.
   
   Something I'm a little unclear on is what guarantees we actually make about 
compatibility outside of the `beam` package. Are we basically saying that we 
can't change _any_ of our internal interfaces/function definitions? As best I 
could tell, `Unit` isn't something we actively expose to users through any 
normal path. I know we don't at this time have a true concept of internal for 
most of our stuff, but I'm curious how we make decisions on where its ok to 
make changes like this




-- 
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]


Reply via email to