----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/53897/#review156471 -----------------------------------------------------------
Patch looks great! Reviews applied: [53885, 53886, 53887, 53888, 53889, 53890, 53891, 53892, 53893, 53894, 53895, 53896, 53897] Passed command: export OS='ubuntu:14.04' BUILDTOOL='autotools' COMPILER='gcc' CONFIGURATION='--verbose' ENVIRONMENT='GLOG_v=1 MESOS_VERBOSE=1'; ./support/docker_build.sh - Mesos ReviewBot On Nov. 21, 2016, 4:21 p.m., Neil Conway wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/53897/ > ----------------------------------------------------------- > > (Updated Nov. 21, 2016, 4:21 p.m.) > > > Review request for mesos and Vinod Kone. > > > 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 > ----- > > 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 > >