[qos-ch/logback] 0637d2: Fix exception when threads write files to same dir

Branch: refs/heads/master Home: https://github.com/qos-ch/logback Commit: 0637d22cf8a6c0f41487021c9ff087e8bd256274 https://github.com/qos-ch/logback/commit/0637d22cf8a6c0f41487021c9ff087e8bd2... Author: Tony Trinh <tony19@gmail.com> Date: 2014-05-26 (Mon, 26 May 2014) Changed paths: M logback-core/src/main/java/ch/qos/logback/core/FileAppender.java M logback-core/src/main/java/ch/qos/logback/core/rolling/helper/Compressor.java M logback-core/src/main/java/ch/qos/logback/core/rolling/helper/RenameUtil.java M logback-core/src/main/java/ch/qos/logback/core/util/FileUtil.java M logback-core/src/test/java/ch/qos/logback/core/appender/FileAppenderTest.java M logback-core/src/test/java/ch/qos/logback/core/util/FileUtilTest.java Log Message: ----------- Fix exception when threads write files to same dir When Multiple FileAppenders attempt to write files to the same nonexistent directory, concurrent threads could attempt to create the directory at the same time, where only one succeeds, while the others hit an IllegalStateException. This patch modifies FileUtil.createMissingParentDirectories() to gracefully handle existing directories (no exceptions thrown). This patch also removes FileUtil.isParentDirectoryCreationRequired() as this allows for race conditions between the existence-check and the directory creation. Note that File.mkdirs() already performs an existence-check. Fixes LOGBACK-128
participants (1)
-
Tony Trinh