[
https://issues.apache.org/jira/browse/BEAM-4658?focusedWorklogId=127656&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-127656
]
ASF GitHub Bot logged work on BEAM-4658:
----------------------------------------
Author: ASF GitHub Bot
Created on: 26/Jul/18 06:09
Start Date: 26/Jul/18 06:09
Worklog Time Spent: 10m
Work Description: youngoli commented on a change in pull request #6050:
[BEAM-4658] Update pipeline representation in runner support libraries to
handle timers.
URL: https://github.com/apache/beam/pull/6050#discussion_r205290440
##########
File path:
runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/graph/Networks.java
##########
@@ -193,29 +201,55 @@ public final NodeT apply(NodeT input) {
"Only networks without self loops are supported, given %s",
network);
- // Linked hashset will prevent duplicates from appearing and will maintain
insertion order.
- LinkedHashSet<NodeT> nodes = new LinkedHashSet<>(network.nodes().size());
- Queue<NodeT> processingOrder = new ArrayDeque<>();
- // Add all the roots
- for (NodeT node : network.nodes()) {
- if (network.inDegree(node) == 0) {
- processingOrder.add(node);
- }
- }
+ // Uses the following algorithm:
Review comment:
Using this algorithm for topological order doesn't seem appropriate. From
what I could understand from the paper, this algorithm generates a vertex
sequence that makes it easy to remove feedback arcs (i.e. eliminate any
cycles), but doesn't actually maintain topological order.
As a concrete example, if you had a graph that looked like so:
```
Source1 --\
---> A ---> B ---> Sink
Source2 --/
```
Topologically I would expect the result to be: `Source1, Source2, A, B,
Sink`. But instead this algorithm would produce `Source1, Source2, B, A, Sink`
because B is considered to have the higher delta than A (delta(B) = 0, delta(A)
= -1).
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
Issue Time Tracking
-------------------
Worklog Id: (was: 127656)
Time Spent: 50m (was: 40m)
> Update pipeline representation in runner support libraries to handle timers
> ---------------------------------------------------------------------------
>
> Key: BEAM-4658
> URL: https://issues.apache.org/jira/browse/BEAM-4658
> Project: Beam
> Issue Type: Sub-task
> Components: runner-core
> Reporter: Luke Cwik
> Assignee: Luke Cwik
> Priority: Major
> Time Spent: 50m
> Remaining Estimate: 0h
>
> Expose relevant timer information on *ExecutableStage* to runners
> Update fusion logic to handle timers.
> Provide execution time interface to fire timers into *RemoteBundle*s and also
> to receive new timers that are being set.
>
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)