[
https://issues.apache.org/jira/browse/MESOS-3068?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14637213#comment-14637213
]
Joseph Wu commented on MESOS-3068:
----------------------------------
I'm not certain if we want to conflate this with the Registrar, but even if the
Maintenance-storing does not get implemented into the Registrar class, what we
require from a maintenance-storing class is pretty similar:
* We need to recover on initialization or after failover.
* We need to apply operations on the stored object.
The Maintenance-storing-class would look akin to a copy-pasted Registrar class,
with "Registry" renamed to "Maintenance", and without the Registrar::Recover
Operation and the _recover continuation.
> Registry operations are hardcoded for a single key (Registry object)
> --------------------------------------------------------------------
>
> Key: MESOS-3068
> URL: https://issues.apache.org/jira/browse/MESOS-3068
> Project: Mesos
> Issue Type: Task
> Components: master, replicated log
> Reporter: Joseph Wu
> Assignee: Joseph Wu
> Labels: mesosphere
>
> This is primarily a refactoring.
> The prototype for modifying the registry is currently:
> {code}
> Try<bool> operator () (
> Registry* registry,
> hashset<SlaveID>* slaveIDs,
> bool strict);
> {code}
> In order to support Maintenance schedules (possibly Quotas as well), there
> should be an alternate prototype for Maintenance. Something like:
> {code}
> Try<bool> operation () (
> Maintenance* maintenance,
> bool strict);
> {code}
> The existing RegistrarProcess::update (src/master/registrar.cpp) should be
> refactored to allow for more than one key. If necessary, refactor existing
> operations defined in src/master/master.hpp (AdminSlave, ReadminSlave,
> RemoveSlave).
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)