Browse Source

Fix create parent directory will cause FileAlreadyExistsException (#15576)

Co-authored-by: Rick Cheng <rickchengx@gmail.com>
dev_wenjun_refactorMaster
Wenjun Ruan 10 months ago committed by GitHub
parent
commit
4541e74e53
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 10
      dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/FileUtils.java

10
dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/FileUtils.java

@ -35,6 +35,7 @@ import java.io.FileOutputStream;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
import java.nio.charset.StandardCharsets; import java.nio.charset.StandardCharsets;
import java.nio.file.FileAlreadyExistsException;
import java.nio.file.Files; import java.nio.file.Files;
import java.nio.file.Path; import java.nio.file.Path;
import java.nio.file.attribute.PosixFilePermission; import java.nio.file.attribute.PosixFilePermission;
@ -287,8 +288,13 @@ public class FileUtils {
createDirectoryWith755(parent); createDirectoryWith755(parent);
} }
Files.createDirectory(path); try {
Files.setPosixFilePermissions(path, PERMISSION_755); Files.createDirectory(path);
Files.setPosixFilePermissions(path, PERMISSION_755);
} catch (FileAlreadyExistsException fileAlreadyExistsException) {
// Catch the FileAlreadyExistsException here to avoid create the same parent directory in parallel
log.debug("The directory: {} already exists", path);
}
} }
} }

Loading…
Cancel
Save