-
Notifications
You must be signed in to change notification settings - Fork 6k
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
added address resolution fix for running in docker containers #11944
added address resolution fix for running in docker containers #11944
Conversation
@@ -186,7 +186,8 @@ def get_address_info_from_redis_helper(redis_address, | |||
client_node_ip_address = client_info["NodeManagerAddress"] | |||
if (client_node_ip_address == node_ip_address | |||
or (client_node_ip_address == "127.0.0.1" | |||
and redis_ip_address == get_node_ip_address())): | |||
and redis_ip_address == get_node_ip_address()) |
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.
Come to think of it, do we actually want get_node_ip_address(redis_address)
here rather than leaving the argument as the default 8.8.8.8? If the GlobalState will be reporting the IP addresses that it sees from the perspective of redis_address
(which might not always be the same as the view from 8.8.8.8 Google DNS)?
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.
Could you also make a change in this file:
// Keep this method logic in sync with `services.get_address_info_from_redis_helper` |
@ijrsvt In response to #11944 (review) |
Looks good, but seems to be causing Java test failures still. |
I noticed the IF conditions do not match exactly between python and Java, even before my change. Can this be related? |
@ericl, @fyrestone, @rkooo567 - could any of you guys assist here? I'm not sure how to proceed further... |
@raulchen do you know someone familiar with the Java failure in this case? |
Reverting the Java change for now. |
@@ -186,7 +186,8 @@ def get_address_info_from_redis_helper(redis_address, | |||
client_node_ip_address = client_info["NodeManagerAddress"] | |||
if (client_node_ip_address == node_ip_address | |||
or (client_node_ip_address == "127.0.0.1" | |||
and redis_ip_address == get_node_ip_address())): | |||
and redis_ip_address == get_node_ip_address()) | |||
or client_node_ip_address == redis_ip_address): |
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.
If we call ray.init
from worker node (not head node), this will return the wrong address info
. We should return the given worker node address info not the head node address info. @roireshef @ericl
This PR fixes #11943
which is a bug in address resolution when running in a docker container
Related issue number
#11943
Checks
scripts/format.sh
to lint the changes in this PR.