libfoedus-core
FOEDUS Core Library
savepoint.hpp File Reference
Include dependency graph for savepoint.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  foedus::savepoint::Savepoint
 The information we maintain in savepoint manager and externalize to a file. More...
 
struct  foedus::savepoint::LoggerSavepointInfo
 Information in savepoint for one logger. More...
 
struct  foedus::savepoint::FixedSavepoint
 Savepoint that can be stored in shared memory. More...
 

Namespaces

 foedus
 Root package of FOEDUS (Fast Optimistic Engine for Data Unification Services).
 
 foedus::savepoint
 Savepoint Manager, which durably and atomically remembers what happened in the engine occasionally (eg.
 

Class Documentation

struct foedus::savepoint::LoggerSavepointInfo

Information in savepoint for one logger.

Definition at line 140 of file savepoint.hpp.

Class Members
LogFileOrdinal current_log_file_ Indicates the log file each logger is currently appending to.
uint64_t current_log_file_offset_durable_ Indicates the exclusive end of durable region in the current log file.

In other words, epochs are larger than durable_epoch_ from this offset. During restart, current log files are truncated to this size to discard incomplete logs.

LogFileOrdinal oldest_log_file_ Ordinal of the oldest active log file in each logger.
Invariant
oldest_log_files_[x] <= current_log_files_[x]

Each logger writes out files suffixed with ordinal (eg ".0", ".1"...). The older logs files are deactivated and deleted after log gleaner consumes them. This variable indicates the oldest active file for each logger.

uint64_t oldest_log_file_offset_begin_ Indicates the inclusive beginning of active region in the oldest log file.