Subtask #2613
Feature #2611: mon: Single-Paxos
Sandbox PaxosServices accesses to the store
0%
Description
Each service used to have direct access to the MonitorStore, and they could mess around wherever they wanted, allowing them to keep their values anyway they so wished with little regard for uniformity in design.
We now sandbox them, providing a generic interface on the PaxosService (to be used by each service) that will relay the operations to the store with uniformity in mind, while sandboxing the services.
As an example, the old MonitorStore would look like this:
mon.a/
- osdm/
- 1
- 2
- first_committed
- last_committed
- latest_stashed
- last_pn
- accepted_pn
- osd_full/
- 1
- 2
- logm/
- 33
- 34
- first_committed
- last_committed
- last_pn
- accepted_pn
- log
- log.err
- log.info
...
And our objective is to reach such a design in which we obtain the following layout (note, this layout already contemplates using a single Paxos instance for all services):
- mon.a/
- paxos/
- 1
- 2
- 3
- first_committed
- last_committed
- last_pn
- accepted_pn
- osdm/
- 1 /* These
- 2 * are
- full_1 * service
- full_2 * specific
- first_committed * values
- last_committed */
- first_full
- last_full
- logm/
- 33
- 34
- full_33
- first_committed
- last_committed
- first_full
- last_full
- log.err
- log.info
- log
...
History
#1 Updated by Joao Eduardo Luis over 11 years ago
I messed up the formatting and don't seem to be able to edit it. So here goes a decent version of it.
mon.a/ - osdm/ - 1 - 2 - first_committed - last_committed - latest_stashed - last_pn - accepted_pn - osd_full/ - 1 - 2 - logm/ - 33 - 34 - first_committed - last_committed - last_pn - accepted_pn - log - log.err - log.info ...
And our objective is to reach such a design in which we obtain the following layout (note, this layout already contemplates using a single Paxos instance for all services):
- mon.a/ - paxos/ - 1 - 2 - 3 - first_committed - last_committed - last_pn - accepted_pn - osdm/ - 1 /* These - 2 * are - full_1 * service - full_2 * specific - first_committed * values - last_committed */ - first_full - last_full - logm/ - 33 - 34 - full_33 - first_committed - last_committed - first_full - last_full - log.err - log.info - log ...