Ethanlm commented on a change in pull request #3226: [STORM-3583] Handle 
exceptions when AsyncLocalizer tries to get local resources
URL: https://github.com/apache/storm/pull/3226#discussion_r393189955
 
 

 ##########
 File path: 
storm-server/src/main/java/org/apache/storm/localizer/AsyncLocalizer.java
 ##########
 @@ -456,13 +460,31 @@ public void releaseSlotFor(LocalAssignment assignment, 
int port) throws IOExcept
             topoConfBlob.removeReference(pna);
         }
 
-        for (LocalResource lr : getLocalResources(pna)) {
-            try {
-                removeBlobReference(lr.getBlobName(), pna, 
lr.shouldUncompress());
-            } catch (Exception e) {
-                throw new IOException(e);
+
+        // ALERT: A possible race condition should have been resolved
+        // by separating the thread pools into downloadExecService and 
taskExecService
+        // https://github.com/apache/storm/pull/3153
+        // Will need further investigation if the race condition happens again
+        List<LocalResource> localResources;
+        try {
+            // Precondition1: Base blob stormconf.ser and stormcode.ser have 
been localized
+            // Precondition2: Both these two blob files are fully downloaded 
and proper permission been set
+            localResources = getLocalResources(pna);
+        } catch (Exception e) {
 
 Review comment:
   This can be `IOException`

----------------------------------------------------------------
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]


With regards,
Apache Git Services

Reply via email to