----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/53897/ -----------------------------------------------------------
(Updated Nov. 21, 2016, 9:27 p.m.) Review request for mesos and Vinod Kone. Changes ------- Rebase. Bugs: MESOS-6419 https://issues.apache.org/jira/browse/MESOS-6419 Repository: mesos Description ------- After master failover, the new master doesn't know which frameworks were registered with the previous master (because this information is not currently stored in the registry). In the period after the master fails over but before the framework scheduler has re-registered, the master learns about the frameworks in the cluster when agents re-register (an agent reports the FrameworkInfo for all of the frameworks it is running when it re-registers). Such frameworks were previously represented separately from the normal list of frameworks in the master: the master kept a collection of `FrameworkInfo` for these "recovered" frameworks. This commit removes this separate collection of "recovered" frameworks. Instead, the master now treats recovered frameworks very similarly to frameworks that are registered but currently disconnected. For example, recovered frameworks will now have a `Framework` object which tracks the tasks/executors running under that framework; recovered frameworks will be reported via the normal "frameworks" key when querying HTTP endpoints. Similarly, "teardown" operations on recovered frameworks will now work correctly (MESOS-6419). This means there is no longer a concept of "orphan tasks" [1]: if the master knows about a task, the task will be running under a framework (albeit the framework might be recovered or disconnected). A new "recovered" key has been added to various HTTP endpoints/APIs to determine if a framework hasn't yet re-registered after master failover. [1] The exception here is if the cluster contains Mesos agents older than 1.0, because old Mesos agents don't report `FrameworkInfo`s when they re-register. Diffs (updated) ----- include/mesos/master/master.proto 3553c683c17004ac1831ec90271aa8584c950e53 include/mesos/v1/master/master.proto 022b491b7d5c49c5aeddf4ffc97c148f55629c95 src/master/http.cpp 90cbed1ba411e18906fe9c26bc14576a26d1b7b9 src/master/master.hpp b6c610b79aab146ece6b9be59be86f283d1c9ee8 src/master/master.cpp e03a2e8025943825a2902102c43dc0eb66bacb6a src/tests/api_tests.cpp 8889e7807ecead736eaac3910332e86d594e8cec src/tests/fault_tolerance_tests.cpp 1a8888de7faee56d394de30b798982dbb6e32f81 src/tests/master_allocator_tests.cpp bb94e38d5bb472801366c172cfc036f2eecdcbcb src/tests/master_authorization_tests.cpp 4712361021708fff1ebdb5fa34386196c10c838e src/tests/master_tests.cpp c8cd89228eb4e55c9a9655f9de39cb070e14520c src/tests/partition_tests.cpp 5a0d4bd2de6a5aa0e9fdf0d34cd10d16fd4e34a1 src/tests/teardown_tests.cpp 0babf8c99f133c3f0dada772bd5cd2601c47a080 Diff: https://reviews.apache.org/r/53897/diff/ Testing ------- `make check` Thanks, Neil Conway