STORM-3523 prevent supervisor restart freeing slot on FNF exception
diff --git a/storm-server/src/main/java/org/apache/storm/localizer/AsyncLocalizer.java b/storm-server/src/main/java/org/apache/storm/localizer/AsyncLocalizer.java
index eaa6384..578be2b 100644
--- a/storm-server/src/main/java/org/apache/storm/localizer/AsyncLocalizer.java
+++ b/storm-server/src/main/java/org/apache/storm/localizer/AsyncLocalizer.java
@@ -21,6 +21,7 @@
import com.codahale.metrics.Meter;
import com.codahale.metrics.Timer;
import java.io.File;
+import java.io.FileNotFoundException;
import java.io.IOException;
import java.nio.file.DirectoryStream;
import java.nio.file.Files;
@@ -449,7 +450,15 @@
topoConfBlob.removeReference(pna);
}
- for (LocalResource lr : getLocalResources(pna)) {
+ List<LocalResource> localResources;
+ try {
+ localResources = getLocalResources(pna);
+ } catch (FileNotFoundException e) {
+ LOG.warn("Local resources for {} no longer available", pna, e);
+ return;
+ }
+
+ for (LocalResource lr : localResources) {
try {
removeBlobReference(lr.getBlobName(), pna, lr.shouldUncompress());
} catch (Exception e) {