Skip to content

Commit

Permalink
Allowing multiple users to access the /tmp/ray file at the same time (r…
Browse files Browse the repository at this point in the history
…ay-project#3591)

* Allowing multiple users to access the /tmp/ray file at the same time

Previous sequence that caused this issue:
* User A starts ray with `ray.init` when /tmp/ray does not exist
* User B starts ray with `ray.init` and /tmp/ray now exists

User B will get a permissions error
Checking the permissions, /tmp/ray is 700

I have identified a race condition in `try_to_create_directory`
* Multiple processes try to create /tmp/ray at the same time
* chmod is either silently erroring or working properly within the race condition

Resolution: Move chmod outside of the check for whether the directory exists or not.

* Adding try except for users who do not own the directory
  • Loading branch information
devin-petersohn authored and pcmoritz committed Dec 21, 2018
1 parent 34bab62 commit a174a46
Showing 1 changed file with 3 additions and 0 deletions.
3 changes: 3 additions & 0 deletions python/ray/tempfile_services.py
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,10 @@ def try_to_create_directory(directory_path):
"exists.".format(directory_path))
# Change the log directory permissions so others can use it. This is
# important when multiple people are using the same machine.
try:
os.chmod(directory_path, 0o0777)
except PermissionError:
pass


def get_temp_root():
Expand Down

0 comments on commit a174a46

Please sign in to comment.