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 2022/03/02 11:44:56 UTC

[GitHub] [beam] damccorm commented on a change in pull request #16980: [BEAM-10976] Bundle finalization: Harness and some exec changes

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: github-unsubscribe@beam.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org