18 #ifndef FOEDUS_SNAPSHOT_SNAPSHOT_OPTIONS_HPP_
19 #define FOEDUS_SNAPSHOT_SNAPSHOT_OPTIONS_HPP_
167 #endif // FOEDUS_SNAPSHOT_SNAPSHOT_OPTIONS_HPP_
Represents an object that can be written to and read from files/bytes in XML format.
uint32_t snapshot_writer_page_pool_size_mb_
The size in MB of one snapshot writer, which holds data pages modified in the snapshot and them seque...
Root package of FOEDUS (Fast Optimistic Engine for Data Unification Services).
foedus::fs::DeviceEmulationOptions emulation_
Settings to emulate slower data device.
#define EXTERNALIZABLE(clazz)
Macro to declare/define essential methods for an externalizable class.
SnapshotOptions()
Constructs option values with default values.
uint32_t log_mapper_bucket_kb_
The size in KB of bucket (buffer for each partition) in mapper.
bool log_mapper_sort_before_send_
Whether to sort logs in mapper side before sending it to reducer.
uint16_t log_mapper_io_buffer_mb_
The size in MB of IO buffer to read log files in mapper.
uint32_t snapshot_interval_milliseconds_
Interval in milliseconds to take snapshots.
uint32_t log_reducer_read_io_buffer_kb_
The size in KB of a buffer in reducer to read one temporary file.
#define CXX11_FINAL
Used in public headers in place of "final" of C++11.
Set of options for snapshot manager.
std::string construct_snapshot_file_path(int snapshot_id, int node) const
'folder_path'/snapshot_'snapshot-id'node'node-id'.data.
uint32_t log_reducer_buffer_mb_
The size in MB of a buffer to store log entries in reducer (partition).
Set of configurations to emulate slower devices for some experiments.
fs::FixedPath folder_path_pattern_
String pattern of path of snapshot folders in each NUMA node.
uint32_t log_reducer_dump_io_buffer_mb_
The size in MB of a buffer to write out sorted log entries in reducer to a temporary file...
std::string get_primary_folder_path() const
Returns the path of first node, which is also used as the primary place to write out global files...
uint32_t snapshot_writer_intermediate_pool_size_mb_
The size in MB of additional page pool for one snapshot writer just for holding intermediate pages...
std::string convert_folder_path_pattern(int node) const
converts folder_path_pattern_ into a string with the given node.
uint16_t snapshot_trigger_page_pool_percent_
When the main page pool runs under this percent (roughly calculated) of free pages, snapshot manager starts snapshotting to drop volatile pages even before the interval.