From 3db8faab0d5c2fa86dd3439eea0b5cd65877d221 Mon Sep 17 00:00:00 2001 From: Yuhao Yang Date: Tue, 10 Dec 2019 21:00:19 -0800 Subject: [PATCH] [tune] fix log dir race condition (#6420) --- python/ray/tune/trainable.py | 4 ++-- python/ray/utils.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/python/ray/tune/trainable.py b/python/ray/tune/trainable.py index a6b668de2..9e8c830a0 100644 --- a/python/ray/tune/trainable.py +++ b/python/ray/tune/trainable.py @@ -76,8 +76,8 @@ class Trainable(object): self._logdir = self._result_logger.logdir else: logdir_prefix = datetime.today().strftime("%Y-%m-%d_%H-%M-%S") - if not os.path.exists(DEFAULT_RESULTS_DIR): - os.makedirs(DEFAULT_RESULTS_DIR) + ray.utils.try_to_create_directory( + DEFAULT_RESULTS_DIR, warn_if_exist=False) self._logdir = tempfile.mkdtemp( prefix=logdir_prefix, dir=DEFAULT_RESULTS_DIR) self._result_logger = UnifiedLogger( diff --git a/python/ray/utils.py b/python/ray/utils.py index db808683a..f64420b1e 100644 --- a/python/ray/utils.py +++ b/python/ray/utils.py @@ -552,7 +552,6 @@ def try_to_create_directory(directory_path, warn_if_exist=True): directory_path: The path of the directory to create. warn_if_exist (bool): Warn if the directory already exists. """ - logger = logging.getLogger("ray") directory_path = os.path.expanduser(directory_path) if not os.path.exists(directory_path): try: @@ -561,6 +560,7 @@ def try_to_create_directory(directory_path, warn_if_exist=True): if e.errno != errno.EEXIST: raise e if warn_if_exist: + logger = logging.getLogger("ray") logger.warning( "Attempted to create '{}', but the directory already " "exists.".format(directory_path))