diff options
author | Harald Musum <musum@oath.com> | 2018-01-01 19:02:15 +0100 |
---|---|---|
committer | Harald Musum <musum@oath.com> | 2018-01-01 19:02:15 +0100 |
commit | 6fc2c790cef0fd93f26d5b0d125e2598c78f2c97 (patch) | |
tree | 8f27590a3063bc592b85dc5d269e89491def2524 /filedistribution/src | |
parent | f269b3f950262a95193f689c423188aa5005eb0b (diff) |
Delete temp file if move fails because file already exists
Diffstat (limited to 'filedistribution/src')
-rw-r--r-- | filedistribution/src/main/java/com/yahoo/vespa/filedistribution/FileReceiver.java | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/filedistribution/src/main/java/com/yahoo/vespa/filedistribution/FileReceiver.java b/filedistribution/src/main/java/com/yahoo/vespa/filedistribution/FileReceiver.java index c2825528f7e..d9d1b4984eb 100644 --- a/filedistribution/src/main/java/com/yahoo/vespa/filedistribution/FileReceiver.java +++ b/filedistribution/src/main/java/com/yahoo/vespa/filedistribution/FileReceiver.java @@ -248,8 +248,11 @@ public class FileReceiver { log.log(LogLevel.DEBUG, "File moved from " + tempFile.getAbsolutePath()+ " to " + destination.getAbsolutePath()); } catch (FileAlreadyExistsException e) { // Don't fail if it already exists (we might get the file from several config servers when retrying, servers are down etc. - // so it might be written already) + // so it might be written already). Delete temp file in that case, to avoid filling the disk. log.log(LogLevel.DEBUG, "File '" + destination.getAbsolutePath() + "' already exists, continuing: " + e.getMessage()); + try { + Files.delete(tempFile.toPath()); + } catch (IOException ioe) { /* ignore failure */} } catch (IOException e) { String message = "Failed moving file '" + tempFile.getAbsolutePath() + "' to '" + destination.getAbsolutePath() + "'"; log.log(LogLevel.ERROR, message, e); |