libfoedus-core
FOEDUS Core Library
|
Shared data in SavepointManagerPimpl. More...
Shared data in SavepointManagerPimpl.
Definition at line 38 of file savepoint_manager_pimpl.hpp.
#include <savepoint_manager_pimpl.hpp>
Public Member Functions | |
SavepointManagerControlBlock ()=delete | |
~SavepointManagerControlBlock ()=delete | |
void | initialize () |
void | uninitialize () |
Public Attributes | |
std::atomic< bool > | master_initialized_ |
Epoch::EpochInteger | initial_current_epoch_ |
Epoch::EpochInteger | initial_durable_epoch_ |
Epoch::EpochInteger | earliest_epoch_ |
soc::SharedPolling | save_wakeup_ |
savepoint thread sleeps on this condition variable. More... | |
Epoch::EpochInteger | saved_durable_epoch_ |
The durable epoch that has been made persistent in previous savepoint-ing. More... | |
Epoch::EpochInteger | requested_durable_epoch_ |
Client SOC sets this value and then wakes up the savepoint thread. More... | |
soc::SharedPolling | save_done_event_ |
Whenever a savepoint has been taken, this event is fired. More... | |
soc::SharedMutex | savepoint_mutex_ |
Read/write to savepoint_ is protected with this mutex. More... | |
snapshot::SnapshotId | new_snapshot_id_ |
The ID of the new snapshot to remember. More... | |
Epoch::EpochInteger | new_snapshot_epoch_ |
Set with new_snapshot_id_. More... | |
FixedSavepoint | savepoint_ |
The content of latest savepoint. More... | |
|
delete |
|
delete |
|
inline |
Definition at line 43 of file savepoint_manager_pimpl.hpp.
References foedus::soc::SharedMutex::initialize(), foedus::soc::SharedPolling::initialize(), foedus::Epoch::kEpochInvalid, foedus::snapshot::kNullSnapshotId, new_snapshot_epoch_, new_snapshot_id_, save_done_event_, save_wakeup_, and savepoint_mutex_.
Referenced by foedus::savepoint::SavepointManagerPimpl::initialize_once().
|
inline |
Definition at line 50 of file savepoint_manager_pimpl.hpp.
References savepoint_mutex_, and foedus::soc::SharedMutex::uninitialize().
Referenced by foedus::savepoint::SavepointManagerPimpl::uninitialize_once().
Epoch::EpochInteger foedus::savepoint::SavepointManagerControlBlock::earliest_epoch_ |
Definition at line 57 of file savepoint_manager_pimpl.hpp.
Referenced by foedus::savepoint::SavepointManagerPimpl::get_earliest_epoch(), and foedus::savepoint::SavepointManagerPimpl::initialize_once().
Epoch::EpochInteger foedus::savepoint::SavepointManagerControlBlock::initial_current_epoch_ |
Definition at line 55 of file savepoint_manager_pimpl.hpp.
Referenced by foedus::savepoint::SavepointManagerPimpl::get_initial_current_epoch(), and foedus::savepoint::SavepointManagerPimpl::initialize_once().
Epoch::EpochInteger foedus::savepoint::SavepointManagerControlBlock::initial_durable_epoch_ |
Definition at line 56 of file savepoint_manager_pimpl.hpp.
Referenced by foedus::savepoint::SavepointManagerPimpl::get_initial_durable_epoch(), and foedus::savepoint::SavepointManagerPimpl::initialize_once().
std::atomic<bool> foedus::savepoint::SavepointManagerControlBlock::master_initialized_ |
Definition at line 54 of file savepoint_manager_pimpl.hpp.
Referenced by foedus::savepoint::SavepointManagerPimpl::initialize_once().
Epoch::EpochInteger foedus::savepoint::SavepointManagerControlBlock::new_snapshot_epoch_ |
Set with new_snapshot_id_.
Definition at line 94 of file savepoint_manager_pimpl.hpp.
Referenced by initialize(), foedus::savepoint::SavepointManagerPimpl::savepoint_main(), and foedus::savepoint::SavepointManagerPimpl::take_savepoint_after_snapshot().
snapshot::SnapshotId foedus::savepoint::SavepointManagerControlBlock::new_snapshot_id_ |
The ID of the new snapshot to remember.
Set from take_savepoint_after_snapshot to request taking a new snapshot just for updating snapshot ID in savepoint file. kNullSnapshotId if not requested.
Definition at line 92 of file savepoint_manager_pimpl.hpp.
Referenced by initialize(), foedus::savepoint::SavepointManagerPimpl::savepoint_main(), and foedus::savepoint::SavepointManagerPimpl::take_savepoint_after_snapshot().
Epoch::EpochInteger foedus::savepoint::SavepointManagerControlBlock::requested_durable_epoch_ |
Client SOC sets this value and then wakes up the savepoint thread.
The value indicates the epoch upto which loggers made sure all log files are durable. So, as soon as we take a savepoint, this officially becomes the new global durable epoch.
Definition at line 71 of file savepoint_manager_pimpl.hpp.
Referenced by foedus::savepoint::SavepointManagerPimpl::get_requested_durable_epoch(), foedus::savepoint::SavepointManagerPimpl::initialize_once(), foedus::savepoint::SavepointManagerPimpl::savepoint_main(), and foedus::savepoint::SavepointManagerPimpl::take_savepoint().
soc::SharedPolling foedus::savepoint::SavepointManagerControlBlock::save_done_event_ |
Whenever a savepoint has been taken, this event is fired.
The thread that has requested the savepoint sleeps on this.
Definition at line 77 of file savepoint_manager_pimpl.hpp.
Referenced by initialize(), foedus::savepoint::SavepointManagerPimpl::savepoint_main(), foedus::savepoint::SavepointManagerPimpl::take_savepoint(), and foedus::savepoint::SavepointManagerPimpl::take_savepoint_after_snapshot().
soc::SharedPolling foedus::savepoint::SavepointManagerControlBlock::save_wakeup_ |
savepoint thread sleeps on this condition variable.
The real variable is saved_durable_epoch_.
Definition at line 63 of file savepoint_manager_pimpl.hpp.
Referenced by initialize(), foedus::savepoint::SavepointManagerPimpl::savepoint_main(), foedus::savepoint::SavepointManagerPimpl::take_savepoint(), foedus::savepoint::SavepointManagerPimpl::take_savepoint_after_snapshot(), and foedus::savepoint::SavepointManagerPimpl::uninitialize_once().
Epoch::EpochInteger foedus::savepoint::SavepointManagerControlBlock::saved_durable_epoch_ |
The durable epoch that has been made persistent in previous savepoint-ing.
Definition at line 65 of file savepoint_manager_pimpl.hpp.
Referenced by foedus::savepoint::SavepointManagerPimpl::get_saved_durable_epoch(), foedus::savepoint::SavepointManagerPimpl::initialize_once(), and foedus::savepoint::SavepointManagerPimpl::savepoint_main().
FixedSavepoint foedus::savepoint::SavepointManagerControlBlock::savepoint_ |
The content of latest savepoint.
This is kind of big, but most part of it is unused.
Definition at line 100 of file savepoint_manager_pimpl.hpp.
Referenced by foedus::savepoint::SavepointManager::change_meta_logger_durable_offset(), foedus::savepoint::SavepointManagerPimpl::get_latest_snapshot_epoch(), foedus::savepoint::SavepointManagerPimpl::get_latest_snapshot_id(), foedus::savepoint::SavepointManagerPimpl::get_logger_savepoint(), foedus::savepoint::SavepointManager::get_meta_logger_offsets(), foedus::savepoint::SavepointManagerPimpl::savepoint_main(), and foedus::savepoint::SavepointManagerPimpl::update_shared_savepoint().
soc::SharedMutex foedus::savepoint::SavepointManagerControlBlock::savepoint_mutex_ |
Read/write to savepoint_ is protected with this mutex.
There is anyway only one writer to savepoint_, but this is required to make sure readers don't see half-updated garbage.
Definition at line 84 of file savepoint_manager_pimpl.hpp.
Referenced by foedus::savepoint::SavepointManagerPimpl::get_logger_savepoint(), initialize(), uninitialize(), and foedus::savepoint::SavepointManagerPimpl::update_shared_savepoint().