> On Oct. 12, 2016, 12:54 a.m., Vinod Kone wrote:
> > don't quite follow the second para in the description. you say agent is no 
> > longer in transitioning while re-registering but then you want keep it in 
> > recovered map which results in the `transitioning()` to return true? am i 
> > reading it right?

The proposal rule is: reconciliation should ignore the effect of in-progress 
operations (since they might not succeed). So if an agent was in `recovered` 
but has not finished reregistration, reconciliation should treat it as 
`recovered` but not yet `reregistered` -- i.e., it should be `transitioning()` 
and reconciliation should return no results. So if the agent was recovered from 
the registry but has not yet finished reregistration, explicit reconciliation 
will be a no-op; if the agent was marked unreachable but has not yet finished 
reregistration, explicit reconciliation will return `TASK_UNREACHABLE`.


> On Oct. 12, 2016, 12:54 a.m., Vinod Kone wrote:
> > src/master/master.cpp, line 1894
> > <https://reviews.apache.org/r/52083/diff/1/?file=1505708#file1505708line1894>
> >
> >     hmm. this means an agent could be in `recovered` map and 
> > `reregistering` or `markingUnreachable` maps at the same time. didn't we 
> > decide to not do that? are you still planning to do that cleanup?

This is intentional. An agent appears in `recovered` if it has been recovered 
from the registrar and it has EITHER: (a) completed re-registration, or (b) 
completed being marked unreachable. The `reregistering` and 
`markingUnreachable` collections track whether there is an in-progress 
operation attempting to do (a) or (b), respectively. We only updated 
`recovered` when the in-progress operation has completed successfully.


- Neil


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


On Sept. 20, 2016, 3:26 p.m., Neil Conway wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/52083/
> -----------------------------------------------------------
> 
> (Updated Sept. 20, 2016, 3:26 p.m.)
> 
> 
> Review request for mesos and Vinod Kone.
> 
> 
> Bugs: MESOS-6206
>     https://issues.apache.org/jira/browse/MESOS-6206
> 
> 
> Repository: mesos
> 
> 
> Description
> -------
> 
> Previously, explicit reconciliation for an agent that was in the process
> of reregistering or unregistering returned no results. This degree of
> cleverness seems unwarranted: if the agent hasn't completed the
> reregistration or unregistration process, it seems quite reasonable for
> the master to return the previous state of the agent (this is what the
> framework would observe if their reconcile request lost the race with
> the reregister/unregister, anyway).
> 
> Note that since reregistering agents are no longer considered to be "in
> transition", we need to slightly adjust the rules for how we update the
> `slaves.recovered` collection in the master: an agent remains in the
> "recovered" collection until it has been marked reachable in the
> registry (rather than removing it from "recovered" as soon as the
> reregistration process beings). This is more consistent with how we
> manage the other collections in the master anyway.
> 
> 
> Diffs
> -----
> 
>   src/master/master.hpp 35db198748b8652eb53e17f592f6b40d1e6a3ed9 
>   src/master/master.cpp 66a672f6d16233e96b29e330a9e6c474546fa851 
>   src/tests/master_tests.cpp e6c8362da6a5669e2a2d18f6eb4e454365a84f60 
>   src/tests/reconciliation_tests.cpp 1412090299df388456f04ed58a1d384ce3ff550a 
> 
> Diff: https://reviews.apache.org/r/52083/diff/
> 
> 
> Testing
> -------
> 
> `make check` on OSX, Linux.
> 
> 
> Thanks,
> 
> Neil Conway
> 
>

Reply via email to