Project

General

Profile

Actions

Cleanup #10506

closed

mon: get rid of QuorumServices

Added by Joao Eduardo Luis over 9 years ago. Updated 11 days ago.

Status:
Rejected
Priority:
Normal
Category:
Code Hygiene
Target version:
% Done:

0%

Tags:
Backport:
Reviewed:
Affected Versions:
Component(RADOS):
Monitor
Pull request ID:

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.

Actions

Also available in: Atom PDF