Cleanup #10506
closedmon: get rid of QuorumServices
0%
Description
A QuorumService is an abstraction allowing for easier management of services requiring a quorum to work correctly.
While it seemed like a good idea at the time, hopeful of being useful for the future expansion of the monitor in terms of in-memory-only services (say, for health purposes), it turned out to be a slight annoyance code-wise.
At the moment, we have 3 services defined in mon/QuorumService.h: HEALTH, TIMECHECK, CONFIG_KEY. Of these, only two are built using the QuorumService class: HealthService and ConfigKeyService. Timechecks are embedded in the Monitor class code.
HealthService is another mind boggling piece of code: defines a HEALTH_DATA service and is implemented by mon/HealthMonitor.cc, which in turn will manage mon/DataHealthService.cc, the latter being responsible for tracking monitor disk usage across the quorum.
Given the small usefulness of this infrastructure compared to its large footprint, I would very much enjoy getting rid of it all or implement it in a way that's so trivial that doesn't make my head hurt.