From 57882a01483c630e1e18b54c9c1f319d63ef08d4 Mon Sep 17 00:00:00 2001 From: Philip Marzullo Date: Thu, 9 Jul 2020 11:56:57 -0400 Subject: [PATCH] 0004471: DataExtractorService fails to set StagedResource for extracted file to DONE --- .../org/jumpmind/symmetric/io/stage/StagedResource.java | 6 +----- .../org/jumpmind/symmetric/io/stage/StagingManager.java | 7 +++---- 2 files changed, 4 insertions(+), 9 deletions(-) diff --git a/symmetric-io/src/main/java/org/jumpmind/symmetric/io/stage/StagedResource.java b/symmetric-io/src/main/java/org/jumpmind/symmetric/io/stage/StagedResource.java index ce1d04cab7..14812dcc4d 100644 --- a/symmetric-io/src/main/java/org/jumpmind/symmetric/io/stage/StagedResource.java +++ b/symmetric-io/src/main/java/org/jumpmind/symmetric/io/stage/StagedResource.java @@ -33,7 +33,6 @@ import java.io.InputStreamReader; import java.io.OutputStream; import java.io.StringReader; -import java.nio.file.Files; import java.text.SimpleDateFormat; import java.util.HashMap; import java.util.Map; @@ -169,10 +168,7 @@ public void setState(State state) { } } - try { - Files.move(file.toPath(), newFile.toPath()); - } catch(IOException e) { - log.error(e.getMessage(),e); + if (!file.renameTo(newFile)) { handleFailedRename(file, newFile); } } diff --git a/symmetric-io/src/main/java/org/jumpmind/symmetric/io/stage/StagingManager.java b/symmetric-io/src/main/java/org/jumpmind/symmetric/io/stage/StagingManager.java index 1d4e7fb587..a0b91e724c 100644 --- a/symmetric-io/src/main/java/org/jumpmind/symmetric/io/stage/StagingManager.java +++ b/symmetric-io/src/main/java/org/jumpmind/symmetric/io/stage/StagingManager.java @@ -223,12 +223,11 @@ public IStagedResource find(String path) { IStagedResource resource = inUse.get(path); if (resource == null) { boolean foundResourcePath = resourcePathsCache.containsKey(path); - if (!foundResourcePath && clusterEnabled) { + if (!foundResourcePath) { synchronized (this) { - IStagedResource staged = createStagedResource(path); - if (staged.getState() == State.DONE) { + resource = createStagedResource(path); + if (resource.getState() == State.DONE) { resourcePathsCache.put(path, path); - resource = staged; foundResourcePath = true; } }