You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@storm.apache.org by GitBox <gi...@apache.org> on 2020/08/13 15:43:43 UTC

[GitHub] [storm] bipinprasad commented on a change in pull request #3322: [STORM-3685] Detect and prevent cycles when Topology is submitted.

bipinprasad commented on a change in pull request #3322:
URL: https://github.com/apache/storm/pull/3322#discussion_r470047775



##########
File path: storm-client/src/jvm/org/apache/storm/utils/Utils.java
##########
@@ -1907,4 +1909,131 @@ private void readArchive(ZipFile zipFile) throws IOException {
             }
         }
     }
+
+    /**
+     * Create a map of forward edges for spouts and bolts in a topology. The mapping contains ids of the spouts and bolts.
+     *
+     * @param topology StormTopology to examine.
+     * @return a map with entry for each SpoutId/BoltId to a set of out bound edges of SpoutIds/BoltIds.
+     */
+    private static Map<String, Set<String>> getStormTopologyForwardGraph(StormTopology topology) {
+        Map<String, Set<String>> edgesOut = new HashMap<>();
+
+        if (topology.get_spouts() != null) {
+            topology.get_spouts().entrySet().forEach(entry -> {
+                if (!Utils.isSystemId(entry.getKey())) {

Review comment:
       I wondered about the code in Topology.getComponents() - but seems superfluous. I will remove the get_inputs on spout and check for isSystemId check.




----------------------------------------------------------------
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:
users@infra.apache.org