lostluck commented on code in PR #33337:
URL: https://github.com/apache/beam/pull/33337#discussion_r1881367306
##########
sdks/go/pkg/beam/runners/prism/internal/engine/elementmanager.go:
##########
@@ -386,6 +400,19 @@ func (em *ElementManager) Bundles(ctx context.Context,
upstreamCancelFn context.
changedByProcessingTime =
em.processTimeEvents.AdvanceTo(emNow)
em.changedStages.merge(changedByProcessingTime)
}
+ // Run any side channel bundles first.
Review Comment:
Correct.
We do want to prioritized bundles that were added in, instead of creating
new bundles as a result of the eventtime watermark advancing.
Remember, as a general rule: Bundles are only produced as a result of where
the watermark is.
Technically, that's true for OnWindowExpiration as well.
These onWindowExpiration injected bundles also hold back the watermark as a
result (because we can't garbage collect the window until all
onWindowExpiration callbacks for that window have been processed), so it's
better to handle them ASAP, before attempting a "normal" bundle.
--
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]