je-ik commented on a change in pull request #12155:
URL: https://github.com/apache/beam/pull/12155#discussion_r453739657
##########
File path:
runners/direct-java/src/main/java/org/apache/beam/runners/direct/QuiescenceDriver.java
##########
@@ -70,6 +71,8 @@ public static ExecutionDriver create(
private final Map<AppliedPTransform<?, ?, ?>,
ConcurrentLinkedQueue<CommittedBundle<?>>>
pendingRootBundles;
private final Queue<WorkUpdate> pendingWork = new ConcurrentLinkedQueue<>();
+ private final Map<AppliedPTransform<?, ?, ?>,
Collection<CommittedBundle<?>>> inflightBundles =
+ new ConcurrentHashMap<>();
Review comment:
Moved the comment to code. One more note - the issue arrises, because of
how output watermark of PTransform is directly connected to input watermark of
downstream PTransform. Maybe a more "technically correct" solution would be to
attach output watermark updates to the bundle processing, so that bundle
life-cycle would become:
- start bundle
- finish bundle (and enqueue and resulting bundles to pendingUpdates in
downstream PTransform)
- update output watermark
But that would most probably require a more complex refactor.
##########
File path:
runners/direct-java/src/main/java/org/apache/beam/runners/direct/QuiescenceDriver.java
##########
@@ -70,6 +71,8 @@ public static ExecutionDriver create(
private final Map<AppliedPTransform<?, ?, ?>,
ConcurrentLinkedQueue<CommittedBundle<?>>>
pendingRootBundles;
private final Queue<WorkUpdate> pendingWork = new ConcurrentLinkedQueue<>();
+ private final Map<AppliedPTransform<?, ?, ?>,
Collection<CommittedBundle<?>>> inflightBundles =
+ new ConcurrentHashMap<>();
Review comment:
Moved the comment to code. One more note - the issue arrises, because of
how output watermark of PTransform is directly connected to input watermark of
downstream PTransform. Maybe a more "technically correct" solution would be to
attach output watermark updates to the bundle processing, so that bundle
life-cycle would become:
- start bundle
- finish bundle (and enqueue and resulting bundles to pendingUpdates in
downstream PTransform)
- update output watermark
But that would most probably require a more complex refactor.
----------------------------------------------------------------
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.
For queries about this service, please contact Infrastructure at:
[email protected]