Github user HeartSaVioR commented on a diff in the pull request:

    https://github.com/apache/storm/pull/1608#discussion_r74031650
  
    --- Diff: storm-core/src/jvm/org/apache/storm/StormSubmitter.java ---
    @@ -238,39 +239,24 @@ public static void submitTopologyAs(String name, Map 
stormConf, StormTopology to
                     }
     
                     // Dependency uploading only makes sense for distributed 
mode
    -                List<String> jarsBlobKeys;
    +                List<String> jarsBlobKeys = Collections.emptyList();
                     List<String> artifactsBlobKeys;
     
                     DependencyUploader uploader = new DependencyUploader();
                     try {
                         uploader.init();
                         jarsBlobKeys = 
uploadDependencyJarsToBlobStore(uploader);
                         artifactsBlobKeys = 
uploadDependencyArtifactsToBlobStore(uploader);
    +                    setDependencyBlobsToTopology(topology, jarsBlobKeys, 
artifactsBlobKeys);
    +                    submitTopologyInDistributeMode(name, topology, opts, 
progressListener, asUser, conf, serConf);
    +                } catch (Throwable e) {
    +                    // remove uploaded jars blobs, not artifacts since 
they're shared across the cluster
    +                    uploader.deleteBlobs(jarsBlobKeys);
    --- End diff --
    
    @satishd 
    Yes I think the scenarios you stated can be occurred. But also Nimbus 
throws TException when Nimbus is unable to handle the submission, say, runtime 
exception occurred.
    
    So it's more like loosely catching with less risk vs hardly catching with 
more risk.
    (Risk could be reduced via checking topology name once again indeed.)
    
    After thinking it again, leaving blobs seems less harmful than whole 
contents of topology couldn't be downloaded at all. I'll follow your suggestion.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---

Reply via email to