208 uint32_t &block_len);
237#define log_closer_mutex_enter(log) mutex_enter(&((log).closer_mutex))
239#define log_closer_mutex_enter_nowait(log) \
240 mutex_enter_nowait(&((log).closer_mutex))
242#define log_closer_mutex_exit(log) mutex_exit(&((log).closer_mutex))
260 log_t &log,
lsn_t min_lsn, uint32_t *waits_on_event =
nullptr);
void log_advance_ready_for_write_lsn(log_t &log)
Advances log_buffer_ready_for_write_lsn() using links in the recent written buffer.
Definition: log0buf.cc:1269
void log_buffer_flush_to_disk(log_t &log, bool sync=true)
Write to the log file up to the last log entry.
Definition: log0buf.cc:1183
void log_buffer_x_lock_enter(log_t &log)
Acquires the log buffer x-lock.
Definition: log0buf.cc:633
Log_handle log_buffer_reserve(log_t &log, size_t len)
Reserves space in the redo log for following write operations.
Definition: log0buf.cc:884
lsn_t log_buffer_write(log_t &log, const byte *str, size_t str_len, lsn_t start_lsn)
Writes data to the log buffer.
Definition: log0buf.cc:946
void log_buffer_get_last_block(log_t &log, lsn_t &last_lsn, byte *last_block, uint32_t &block_len)
Get last redo block from redo buffer and end LSN.
Definition: log0buf.cc:1204
void log_buffer_set_first_record_group(log_t &log, lsn_t rec_group_end_lsn)
Modifies header of log block in the log buffer, which contains a given lsn value, and sets offset to ...
Definition: log0buf.cc:1151
lsn_t log_buffer_wait_for_ready_for_write_lsn(log_t &log, lsn_t min_lsn, uint32_t *waits_on_event=nullptr)
Wait until log_buffer_ready_for_write_lsn() returns at least min_lsn.
Definition: log0buf.cc:593
bool log_buffer_resize_low(log_t &log, size_t new_size, lsn_t end_lsn)
Changes size of the log buffer.
Definition: log0log.cc:1220
void log_buffer_sync_in_background()
Writes the log buffer to the log file.
Definition: log0buf.cc:1194
void log_update_buf_limit(log_t &log)
Updates limit used when writing to log buffer.
Definition: log0buf.cc:843
void log_buffer_write_completed(log_t &log, lsn_t start_lsn, lsn_t end_lsn, bool is_last_block)
Adds a link start_lsn -> end_lsn to the log recent written buffer.
Definition: log0buf.cc:1085
void log_buffer_x_lock_exit(log_t &log)
Releases the log buffer x-lock.
Definition: log0buf.cc:685
void log_recent_written_empty_validate(const log_t &log, lsn_t begin, lsn_t end)
Validates that all slots in log recent written buffer for lsn values in range between begin and end,...
bool log_buffer_resize(log_t &log, size_t new_size)
Changes size of the log buffer.
Definition: log0log.cc:1271
lsn_t log_buffer_ready_for_write_lsn(const log_t &log)
Definition: log0buf.h:245
log_t * log_sys
Redo log system (singleton).
Definition: log0log.cc:431
uint64_t lsn_t
Type used for all log sequence number storage and arithmetic.
Definition: log0types.h:63
std::string str(const mysqlrouter::ConfigGenerator::Options::Endpoint &ep)
Definition: config_generator.cc:1105
const char * begin(const char *const c)
Definition: base64.h:44
Cursor end()
A past-the-end Cursor.
Definition: rules_table_service.cc:192
Handle which is used for writes to the log buffer.
Definition: log0buf.h:68
lsn_t start_lsn
LSN of the first data byte.
Definition: log0buf.h:70
lsn_t end_lsn
LSN after the last data byte.
Definition: log0buf.h:73
Redo log - single data structure with state of the redo log system.
Definition: log0sys.h:77
Link_buf< lsn_t > recent_written
The recent written buffer.
Definition: log0sys.h:143