[JENKINS-67624] `FileAlreadyExistsException` on startup (#7027)

This commit is contained in:
Basil Crow 2022-08-24 10:45:13 -07:00 committed by GitHub
parent 57797579c6
commit 6b0dc184bf
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 19 additions and 2 deletions

View File

@ -1778,7 +1778,16 @@ public class Util {
if (Files.isDirectory(dir)) { if (Files.isDirectory(dir)) {
return dir; return dir;
} else { } else {
try {
return Files.createDirectory(dir, attrs); return Files.createDirectory(dir, attrs);
} catch (FileAlreadyExistsException e) {
if (Files.isDirectory(dir)) {
// a concurrent caller won the race
return dir;
} else {
throw e;
}
}
} }
} }
@ -1786,7 +1795,15 @@ public class Util {
for (Path name : parent.relativize(dir)) { for (Path name : parent.relativize(dir)) {
child = child.resolve(name); child = child.resolve(name);
if (!Files.isDirectory(child)) { if (!Files.isDirectory(child)) {
try {
Files.createDirectory(child, attrs); Files.createDirectory(child, attrs);
} catch (FileAlreadyExistsException e) {
if (Files.isDirectory(child)) {
// a concurrent caller won the race
} else {
throw e;
}
}
} }
} }