Github user revans2 commented on a diff in the pull request: https://github.com/apache/storm/pull/2871#discussion_r224547803 --- Diff: storm-server/src/main/java/org/apache/storm/blobstore/BlobStoreUtils.java --- @@ -191,6 +192,8 @@ public static boolean downloadUpdatedBlob(Map<String, Object> conf, BlobStore bl out.close(); } isSuccess = true; + } catch(FileNotFoundException fnf) { + LOG.warn("FileNotFoundException", fnf); --- End diff -- Line 271 of this file is already dealing with the race. so in theory eating the FileNotFound or rethrowing it as a KeyNotFound exception should be fine. I am just trying to understand where the FileNotFound is coming from. The remoteBlobStore should only be getting thrift exceptions. The only place in the code I see that could throw a FileNotFoundException is when we are interacting with the local blob, but even then the blobstore code should be changing it into a KeyNotFound or some other thrift exception.
---