Github user danny0405 commented on a diff in the pull request:
https://github.com/apache/storm/pull/2812#discussion_r212787423
--- Diff:
storm-server/src/main/java/org/apache/storm/localizer/LocallyCachedTopologyBlob.java
---
@@ -125,6 +129,12 @@ public long getRemoteVersion(ClientBlobStore store)
throws KeyNotFoundException,
@Override
public long fetchUnzipToTemp(ClientBlobStore store)
throws IOException, KeyNotFoundException, AuthorizationException {
+ synchronized (LocallyCachedTopologyBlob.class) {
+ if (!Files.exists(topologyBasicBlobsRootDir)) {
--- End diff --
An class lock may be not sufficient if we have multiple blob instance on
one host( or multi supervisors cause one supervisor will have a blob instance),
and there will be a write conflictï¼ a host scope file lock would be better.
---