Project

General

Profile

Actions

Subtask #2756

closed

Feature #2611: mon: Single-Paxos

Subtask #2621: mon: Single-Paxos: synchronize the MonitorDBStore of oblivious monitor

Subtask #2739: mon: Single-Paxos: Sync: Synchronize the store of a drifted monitor

mon: Single-Paxos: LevelDBStore: Make iterator thread-safe

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

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

100%

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

Description

The current iterator implementation iterates directly over the database state, even if there are concurrent updates.

Since leveldb offers snapshot support, giving a consistent read-only view of the state of the database at the point in time at which the snapshot was taken, we should make the iterator use a snapshot instead of using directly the current database state.

This is specially useful for synchronizing the monitor stores, while allowing transactions to be applied onto the database (i.e., allowing Paxos proposals to be committed) while still keeping a consistent view of the store state at the moment the synchronization started.

Actions

Also available in: Atom PDF