Project

General

Profile

Actions

Feature #2611

closed

mon: Single-Paxos

Added by Joao Eduardo Luis almost 12 years ago. Updated about 9 years ago.

Status:
Resolved
Priority:
Normal
Category:
Monitor
Target version:
% Done:

100%

Source:
Tags:
CY2012
Backport:
Reviewed:
Affected Versions:
Pull request ID:

Description

The ceph-mon is (roughly) composed by a Monitor class, responsible for all things monitor-ish, and several monitor services, each one responsible to handle a specific component (e.g., the OSDMonitor will deal with things related with the OSD, while the AuthMonitor will deal with things related with Auth on the cluster).

Each one of these services (actually extending the PaxosService class, but hereupon simply called as 'service'), have their own instance of a Paxos class, and access to a shared MonitorStore.

Although this works, there are several issues with it:

- Each service ties its map versions to the Paxos versions, creating a dependency that simply should not exist.

- There are as many Paxos instances as running services, but we only purpose new values one at a time (a lock on the Monitor makes sure of it). This means that having one Paxos or a thousand of them would bear the same result.

- Adding more services becomes an hazardous and error prone task.

- It's impossible to batch proposals from multiple services in order to reduce proposal time or network activity.

Our main objective is to make the Monitor use one single Paxos instance, shared across all the services.

Furthermore, the usage of the MonitorStore carries a whole set of problems by itself:

- Its interface is far from the most intuitive.

- It's a file-based store with an unorthodox way of guaranteeing consistency in case of failure.

- It does not provide a simple interface guaranteeing that the store will transit from a consistent state onto another consistent state if we apply more than one operation (a problem that would not exist had we transactions like in the ObjectStore or the KeyValueDBStore).

- And finally, we already have interfaces and classes on Ceph that provide storage mechanisms meeting the needs of the Monitor, and there is no need to keep the MonitorStore around.

For these reasons, the MonitorStore will be moved onto a Key/Value Store, backed up by the LevelDBStore class already available on Ceph.


Subtasks 26 (0 open26 closed)

Subtask #2612: Monitor key/value storeResolvedJoao Eduardo Luis

Actions
Subtask #2613: Sandbox PaxosServices accesses to the storeResolvedJoao Eduardo Luis

Actions
Subtask #2614: Single Paxos instance shared across the existing servicesClosedJoao Eduardo Luis

Actions
Subtask #2615: mon: Single-Paxos: MDSMap::get_health() assertingClosedJoao Eduardo Luis

Actions
Subtask #2616: mon: Single-Paxos: AuthMonitor: key_server has no entriesClosedJoao Eduardo Luis

Actions
Subtask #2620: mon: Single-Paxos: MDSMonitor: MMDSBeacon from entity with insufficient priviledgesClosedJoao Eduardo Luis06/20/2012

Actions
Subtask #2621: mon: Single-Paxos: synchronize the MonitorDBStore of oblivious monitorResolvedJoao Eduardo Luis07/06/201207/09/2012

Actions
Subtask #2736: mon: Single-Paxos: Sync: Implement message passingResolvedJoao Eduardo Luis07/06/2012

Actions
Subtask #2744: mon: Single-Paxos: Sync: Create new Message typeResolvedJoao Eduardo Luis07/06/2012

Actions
Subtask #2745: mon: Single-Paxos: Sync: Add new message support to the Monitor classClosedJoao Eduardo Luis07/06/2012

Actions
Subtask #2746: mon: Single-Paxos: Sync: Test message passingRejectedJoao Eduardo Luis07/06/2012

Actions
Subtask #3069: mon: Single-Paxos: messaging: log MMonSync messages for offline matchingRejectedJoao Eduardo Luis09/01/2012

Actions
Subtask #2737: mon: Single-Paxos: Sync: Force trimming to be proposed through PaxosResolvedJoao Eduardo Luis07/06/2012

Actions
Subtask #2738: mon: Single-Paxos: Sync: Add snapshot support to the monitor storeRejectedJoao Eduardo Luis07/06/2012

Actions
Subtask #2739: mon: Single-Paxos: Sync: Synchronize the store of a drifted monitorResolvedJoao Eduardo Luis07/09/201207/09/2012

Actions
Subtask #2757: mon: Single-Paxos: Sync: pack chunks of the MonitorDBStore into transactionsResolvedJoao Eduardo Luis07/09/201207/09/2012

Actions
Subtask #2756: mon: Single-Paxos: LevelDBStore: Make iterator thread-safeResolvedJoao Eduardo Luis07/09/201207/09/2012

Actions
Subtask #2758: mon: Single-Paxos: Sync: Extend the in-memory mock-up of KeyValueDB to support the safe iteratorResolvedJoao Eduardo Luis07/09/201207/09/2012

Actions
Subtask #2805: mon: Single-Paxos: Sync: Create a test unit to verify the correctness of the whole-space and snapshot iteratorsResolvedJoao Eduardo Luis07/20/2012

Actions
Subtask #2741: mon: Single-Paxos: Sync: Assess requirements for QA testsResolvedJoao Eduardo Luis07/06/2012

Actions
Subtask #2622: mon: Single-Paxos: convert existing, old MonitorStore to a brand new MonitorDBStoreResolvedJoao Eduardo Luis06/20/2012

Actions
Subtask #2633: mon: Single-Paxos: ceph tool unable to connect to monitorClosedJoao Eduardo Luis06/21/2012

Actions
Subtask #2643: mon: Single-Paxos: mds: Strange message behavior on peonClosedJoao Eduardo Luis06/21/2012

Actions
Subtask #2645: mon: Single-Paxos: Could not decrypt ticket info (immediately after running vstart.sh -n -x)RejectedJoao Eduardo Luis06/22/2012

Actions
Subtask #2659: mon: Single-Paxos: ceph tool -w subscriptions not being updatedCan't reproduceJoao Eduardo Luis06/27/2012

Actions
Subtask #2674: mon: Single-Paxos: mon commits suicide after remove&addRejectedJoao Eduardo Luis06/29/2012

Actions

Related issues 7 (0 open7 closed)

Related to Ceph - Bug #4026: mon: Single-Paxos: abort on LogMonitor::update_from_paxosResolvedJoao Eduardo Luis02/05/2013

Actions
Related to Ceph - Bug #4040: mon: Single-Paxos: on PGMonitor, FAILED assert(0 == "update_from_paxos: error parsing incremental update")ResolvedJoao Eduardo Luis02/07/2013

Actions
Related to Ceph - Bug #4041: mon: Single-Paxos: on Paxos, leader didn't trim old versionsCan't reproduceJoao Eduardo Luis02/07/2013

Actions
Related to Ceph - Bug #4037: mon: Single-Paxos: on Paxos, FAILED assert(begin->last_committed == last_committed)ResolvedJoao Eduardo Luis02/06/2013

Actions
Related to Ceph - Bug #4175: mon: Single-Paxos: during proposal of learned value, assert(have_pending)ResolvedJoao Eduardo Luis02/17/2013

Actions
Related to Ceph - Bug #4162: mon: Single-Paxos: on sync, corrupted paxos storeResolvedJoao Eduardo Luis02/16/2013

Actions
Has duplicate Ceph - Bug #4103: mon: Single-Paxos: on MonitorDBStore, segfault during syncDuplicateJoao Eduardo Luis02/12/2013

Actions
Actions #1

Updated by Anonymous over 11 years ago

  • Tags set to CY2012
Actions #2

Updated by Sage Weil over 11 years ago

  • Translation missing: en.field_story_points set to 50
  • Translation missing: en.field_position set to 1
  • Translation missing: en.field_position changed from 1 to 1385
Actions #3

Updated by Sage Weil over 11 years ago

  • Translation missing: en.field_position deleted (1385)
  • Translation missing: en.field_position set to 76
Actions #4

Updated by Sage Weil over 11 years ago

  • Translation missing: en.field_position deleted (120)
  • Translation missing: en.field_position set to 2
Actions #5

Updated by Sage Weil over 11 years ago

  • Translation missing: en.field_position deleted (8)
  • Translation missing: en.field_position set to 7
Actions #6

Updated by Sage Weil about 11 years ago

  • Target version set to v0.57c
  • Translation missing: en.field_position deleted (8)
  • Translation missing: en.field_position set to 3
Actions #7

Updated by Samuel Just about 11 years ago

  • Translation missing: en.field_position deleted (8)
  • Translation missing: en.field_position set to 8
Actions #8

Updated by Ian Colle about 11 years ago

  • Target version changed from v0.57c to v0.58
  • Translation missing: en.field_position deleted (8)
  • Translation missing: en.field_position set to 1
Actions #9

Updated by Sage Weil about 11 years ago

  • Target version changed from v0.58 to v0.59
Actions #10

Updated by Sage Weil about 11 years ago

  • Status changed from In Progress to Resolved
Actions

Also available in: Atom PDF