You are viewing a plain text version of this content. The canonical link for it is here.
Posted to reviews@mesos.apache.org by Marco Massenzio <ma...@mesosphere.io> on 2015/07/01 01:31:43 UTC

Re: Review Request 36061: Slave exits gracefully on DNS lookup failure.


> On June 30, 2015, 6:48 p.m., Joris Van Remoortere wrote:
> > 3rdparty/libprocess/src/process.cpp, lines 899-902
> > <https://reviews.apache.org/r/36061/diff/1/?file=996141#file996141line899>
> >
> >     1. Did you choose to `LOG(ERROR)` followed by `exit(EXIT_FAILURE)` for a specific reason?
> >     I think this would be more clear (but maybe you did it on purpose :-))
> >     ```
> >     EXIT(EXIT_FAILURE) << "...";
> >     ```
> >     
> >     2. s/Could not/Failed to/ (Most of our error messages start like this)
> >     
> >     3. Can we put the hostname in ticks? `for '" << hostname << "'; the`

my bad - just not used to use EXIT() macro.
Fixed.


- Marco


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/36061/#review89943
-----------------------------------------------------------


On June 30, 2015, 6:41 p.m., Marco Massenzio wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/36061/
> -----------------------------------------------------------
> 
> (Updated June 30, 2015, 6:41 p.m.)
> 
> 
> Review request for mesos, Adam B and Joris Van Remoortere.
> 
> 
> Repository: mesos
> 
> 
> Description
> -------
> 
> Jira: MESOS-2962
> 
> Slave fails with Abort stacktrace when DNS cannot resolve hostname
> 
> If the DNS cannot resolve the hostname for a slave node, we correctly return an Error object, but we then fail with a segfault.
> 
> This code adds a more user-friendly message and exits normally (with an `EXIT_FAILURE` code).
> For example, forcing `net::getIp()` to always return an Error, now causes the slave to exit like this:
> ```
> $ ./bin/mesos-slave.sh --master=10.10.1.121:5405
> WARNING: Logging before InitGoogleLogging() is written to STDERR
> E0630 11:31:45.777465 1944417024 process.cpp:899] Could not obtain the IP address for stratos.local; the DNS service may not be able to resolve it: >>> Marco was here!!!
> 
> $ echo $?
> 1
> ```
> 
> 
> Diffs
> -----
> 
>   3rdparty/libprocess/src/process.cpp d99947c1598c43c47c88ef3e8038081855f0d1dc 
> 
> Diff: https://reviews.apache.org/r/36061/diff/
> 
> 
> Testing
> -------
> 
> make check
> and manual failing the DNS
> 
> 
> Thanks,
> 
> Marco Massenzio
> 
>