-
Notifications
You must be signed in to change notification settings - Fork 5.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Core]Add RAY_REDIS_ADDRESS environment to specify external address. #20966
[Core]Add RAY_REDIS_ADDRESS environment to specify external address. #20966
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good, thanks!
# Test starting Ray with --external-kv-storage-config. | ||
check_call_ray([ | ||
"start", "--head", "--external-kv-storage-config", | ||
"redis:127.0.0.1:6379", "--port", "0" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
should we use redis://
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, I also think redis://
is better. @mwtian
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Chatted with Yi Cheng this afternoon. I think the format we choose should support the following settings:
- multiple Redis ip:port.
- Redis password, together with (1) above.
- non-redis backend in future, with potentially more complex configs.
With redis://
, would it be --external-kv-storage-config=redis://123:4?password=xxx,redis://124:5?password=yyy,redis://125:6?password=zzz
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
what's in my mind is that if we are using redis:// kind of format, it'll be easier for future extension and also you can pass parameter in the URL and use urlparser in py to decode them.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hmm We need to support passing a separate password for each redis host. Currently only one same password used for multiple external redis.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
According to my understanding, the --redis-password
option may be removed, if password not specified in cli the default password used.
e.g. For --external-kv-storage-config=redis://host1:port1,redis://host2:port2?password=yyy
:
the default password used for host1, and password=yyy
used for host2.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sounds good. Sorry for not being clear at the beginning. Ideally we can move all redis password and redis shard settings to be under this flag. How about not supporting the --redis-password flag as default value?
Please let us know if you see other Redis configurations we should support here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hmm After thinking it over, I doubt whether we really need to set multiple different passwords for multiple redis? I'm afraid in most of the time, users will set the same password for multiple redis. Maybe there be some over design here.
Currently, only one password required although multiple redis provided. See #13170 @iycheng @mwtian
Could we change the flag to besides, I don't think we need |
I'm ok with this alternative, or |
Yep, we can name it with function prefix maybe, |
cc @iycheng |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It seems that we need update the doc page as well? But anyway it could be updated in another PR.
@mwtian CC
Java#testIsolationInTheSameNamespaces, tests:test_runtime_env also failed on other commits. retrying boostraup_env... |
boostraup_env succeeded. merging this. |
The WandbLoggingCallback is run on the driver side, with the experiment directory was the cwd. Using resume=True will pick up state from other trials (as the file name is global), and thus lead to warning messages. Thus, we should default to resume=False when using the callback. This PR also incorporates changes from #20966. Co-authored by: Queimo <[email protected]> Co-authored by: Karim <[email protected]>
Why are these changes needed?
Support RAY_REDIS_ADDRESS environment variable option when ray start.
Related issue number
Checks
scripts/format.sh
to lint the changes in this PR.