You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@mesos.apache.org by Charles Reiss <wo...@gmail.com> on 2012/03/14 18:36:26 UTC
Review Request: Make libprocess ignore LIBPROCESS_IP less
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/4355/
-----------------------------------------------------------
Review request for mesos, Benjamin Hindman and Jessica.
Summary
-------
libprocess currently binds to INADDR_ANY and uses the result of getsockname() as __ip__, overwriting its reading of LIBPROCESS_IP. This patch should use the environment variable setting (when it is not 0 == INADDR_ANY) when it is supplied instead of using getsockname().
I think this bug is the cause of MESOS-165.
This addresses bug MESOS-165.
https://issues.apache.org/jira/browse/MESOS-165
Diffs
-----
third_party/libprocess/src/process.cpp 7433be8
Diff: https://reviews.apache.org/r/4355/diff
Testing
-------
Thanks,
Charles
Re: Review Request: Make libprocess ignore LIBPROCESS_IP less
Posted by Benjamin Hindman <be...@berkeley.edu>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/4355/#review6143
-----------------------------------------------------------
Ship it!
Thanks Charles.
- Benjamin
On 2012-03-20 18:04:43, Charles Reiss wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/4355/
> -----------------------------------------------------------
>
> (Updated 2012-03-20 18:04:43)
>
>
> Review request for mesos, Benjamin Hindman and Jessica.
>
>
> Summary
> -------
>
> libprocess currently binds to INADDR_ANY and uses the result of getsockname() as __ip__, overwriting its reading of LIBPROCESS_IP. This patch should use the environment variable setting (when it is not 0 == INADDR_ANY) when it is supplied to choose the address to bind() to.
>
> I think this bug is the cause of MESOS-165.
>
>
> This addresses bug MESOS-165.
> https://issues.apache.org/jira/browse/MESOS-165
>
>
> Diffs
> -----
>
> third_party/libprocess/src/process.cpp 7433be8
>
> Diff: https://reviews.apache.org/r/4355/diff
>
>
> Testing
> -------
>
>
> Thanks,
>
> Charles
>
>
Re: Review Request: Make libprocess ignore LIBPROCESS_IP less
Posted by Charles Reiss <wo...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/4355/
-----------------------------------------------------------
(Updated 2012-03-20 18:04:43.145857)
Review request for mesos, Benjamin Hindman and Jessica.
Summary (updated)
-------
libprocess currently binds to INADDR_ANY and uses the result of getsockname() as __ip__, overwriting its reading of LIBPROCESS_IP. This patch should use the environment variable setting (when it is not 0 == INADDR_ANY) when it is supplied to choose the address to bind() to.
I think this bug is the cause of MESOS-165.
This addresses bug MESOS-165.
https://issues.apache.org/jira/browse/MESOS-165
Diffs
-----
third_party/libprocess/src/process.cpp 7433be8
Diff: https://reviews.apache.org/r/4355/diff
Testing
-------
Thanks,
Charles
Re: Review Request: Make libprocess ignore LIBPROCESS_IP less
Posted by Charles Reiss <wo...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/4355/
-----------------------------------------------------------
(Updated 2012-03-20 18:03:48.016963)
Review request for mesos, Benjamin Hindman and Jessica.
Changes
-------
Uploaded alternate fix.
Summary
-------
libprocess currently binds to INADDR_ANY and uses the result of getsockname() as __ip__, overwriting its reading of LIBPROCESS_IP. This patch should use the environment variable setting (when it is not 0 == INADDR_ANY) when it is supplied instead of using getsockname().
I think this bug is the cause of MESOS-165.
Note: I assumed that we are intentionally binding to INADDR_ANY regardless of what LIBPROCESS_IP is set to, but this seems to indicate that our documentation on the meaning of the 'ip' option is wrong. An alternate fix would be to change process.cpp:1257 to use __ip__ for s_addr if it's not 0.
This addresses bug MESOS-165.
https://issues.apache.org/jira/browse/MESOS-165
Diffs (updated)
-----
third_party/libprocess/src/process.cpp 7433be8
Diff: https://reviews.apache.org/r/4355/diff
Testing
-------
Thanks,
Charles
Re: Review Request: Make libprocess ignore LIBPROCESS_IP less
Posted by Benjamin Hindman <be...@berkeley.edu>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/4355/#review5998
-----------------------------------------------------------
I think the alternative fix is the better one for now (rather than binding to multiple IPs but only actually being usable from one). A fair amount of work would need to go in to make libprocess work well in mulit-homed environments. I still think we'll want to update our documentation though. I'm guessing that Jennifer only has the master on a machine with an "external" IP so that she can see the webui, and --ip doesn't actually play a role in which IP is used for that (we basically do INADDR_ANY for the webui IP), so we should probably mention that in the docs too.
- Benjamin
On 2012-03-14 17:48:10, Charles Reiss wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/4355/
> -----------------------------------------------------------
>
> (Updated 2012-03-14 17:48:10)
>
>
> Review request for mesos, Benjamin Hindman and Jessica.
>
>
> Summary
> -------
>
> libprocess currently binds to INADDR_ANY and uses the result of getsockname() as __ip__, overwriting its reading of LIBPROCESS_IP. This patch should use the environment variable setting (when it is not 0 == INADDR_ANY) when it is supplied instead of using getsockname().
>
> I think this bug is the cause of MESOS-165.
>
> Note: I assumed that we are intentionally binding to INADDR_ANY regardless of what LIBPROCESS_IP is set to, but this seems to indicate that our documentation on the meaning of the 'ip' option is wrong. An alternate fix would be to change process.cpp:1257 to use __ip__ for s_addr if it's not 0.
>
>
> This addresses bug MESOS-165.
> https://issues.apache.org/jira/browse/MESOS-165
>
>
> Diffs
> -----
>
> third_party/libprocess/src/process.cpp 7433be8
>
> Diff: https://reviews.apache.org/r/4355/diff
>
>
> Testing
> -------
>
>
> Thanks,
>
> Charles
>
>
Re: Review Request: Make libprocess ignore LIBPROCESS_IP less
Posted by Charles Reiss <wo...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/4355/
-----------------------------------------------------------
(Updated 2012-03-14 17:48:10.906132)
Review request for mesos, Benjamin Hindman and Jessica.
Changes
-------
Add note to description.
Summary (updated)
-------
libprocess currently binds to INADDR_ANY and uses the result of getsockname() as __ip__, overwriting its reading of LIBPROCESS_IP. This patch should use the environment variable setting (when it is not 0 == INADDR_ANY) when it is supplied instead of using getsockname().
I think this bug is the cause of MESOS-165.
Note: I assumed that we are intentionally binding to INADDR_ANY regardless of what LIBPROCESS_IP is set to, but this seems to indicate that our documentation on the meaning of the 'ip' option is wrong. An alternate fix would be to change process.cpp:1257 to use __ip__ for s_addr if it's not 0.
This addresses bug MESOS-165.
https://issues.apache.org/jira/browse/MESOS-165
Diffs
-----
third_party/libprocess/src/process.cpp 7433be8
Diff: https://reviews.apache.org/r/4355/diff
Testing
-------
Thanks,
Charles