xSQL Transaction Logging Parameters

The xSQL configuration file can be used to define eXtremeDB Transaction Logging parameters corresponding to the C API mco_TL_start_data_t structure.

For an overview see page Configuration File Parameters

The tl_params section consists of a set of "name : value" pairs enclosed within braces. For example:

 
    tl_params : {
        flags : [crc, iterable],
        log_path : "my.log",
        ...
    }
     

The following table lists the possible options for the tl_params section with the corresponding C API structures and values specified in the comment:

Option name : example value Comment
flags : [crc, iterable],

Transaction log flags (mco_TL_start_data::flags). Combination of

crc (MCO_TRANSLOG_CRC) and

iterable(MCO_TRANSLOG_ITERABLE)

MCO_TRANSLOG_APPEND, MCO_TRANSLOG_SIZE_CLBK, MCO_TRANSLOG_SYNC_INSTANTLY and MCO_TRANSLOG_SYNC_COUNT are enabled automatically (see below)

Default value 0

log_path : "my.log", Path to logfile. Required, no default value.
snapshot_path : "my.img", Path to saved image used by mco_translog_db_save(). Not required, but if not set, the mco_translog_db_save() API cannot be called
disk_page_size : 4096, Size of single disk page in bytes (mco_TL_start_data::disk_page_size). Default value 4096
flush_depth : 10,

Maximum count of records not flushed (mco_TL_start_data::flush_depth).

If set to 0, don't flush. If set to 1, the MCO_TRANSLOG_SYNC_INSTANTLY flag is automatically set. If > 1, MCO_TRANSLOG_SYNC_COUNT flag is automatically set

Default value 0 (no flushing)

max_size : 1m,

Max size of log file in bytes. When the limit is reached the mco_translog_db_save() is automatically called. It saves a database image and truncates the log file. Parameter snapshot_path is required when max_size > 0

Default value 0 (no limit)

snapshot_period : 5000,

Period in milliseconds to automatically call mco_translog_db_save().

This function saves a database image and truncates the log file. Parameter snapshot_path is required when snapshot_period > 0

Can be used together with max_size

Default value 0 (don't snapshot periodically)

apply : auto,

Whether to apply saved TL files when the xSQL is started. Possible values are:

yes - do apply ( mco_db_load(snapshot_path) + mco_translog_apply(log_path) ). If files do not exist or another error occurs, don't start xSQL

no - don't apply TL, just create the database with specified parameters

auto - apply TL if snapshot_path and log_path files exist

Default value auto

stopped : false,

Boolean parameter, if true then TL is not started automatically (but is configured)

Default value false