mtr global logging
More...
#include <mtr0mtr.h>
◆ Shards
◆ State
mtr global redo logging state.
Enable Logging : [ENABLED] -> [ENABLED_RESTRICT] -> [DISABLED]
Disable Logging : [DISABLED] -> [ENABLED_RESTRICT] -> [ENABLED_DBLWR] -> [ENABLED]
Enumerator |
---|
ENABLED | |
ENABLED_DBLWR | |
ENABLED_RESTRICT | |
DISABLED | |
◆ dblwr_disabled()
bool mtr_t::Logging::dblwr_disabled |
( |
| ) |
const |
|
inline |
- Returns
- true iff we can skip data page double write.
◆ disable()
int mtr_t::Logging::disable |
( |
THD * |
thd | ) |
|
Disable mtr redo logging.
Server is crash unsafe without logging.
- Parameters
-
[in] | thd | server connection THD |
- Returns
- mysql error code.
◆ enable()
int mtr_t::Logging::enable |
( |
THD * |
thd | ) |
|
Enable mtr redo logging.
Ensure that the server is crash safe before returning.
- Parameters
-
[in] | thd | server connection THD |
- Returns
- mysql error code.
◆ get_nolog_flush_loop()
uint32_t mtr_t::Logging::get_nolog_flush_loop |
( |
| ) |
const |
|
inline |
◆ init()
void mtr_t::Logging::init |
( |
void |
| ) |
|
|
inline |
Initialize logging state at server start up.
◆ is_disabled()
bool mtr_t::Logging::is_disabled |
( |
| ) |
const |
|
inline |
- Returns
- true iff redo logging is disabled and new mtrs are not going to generate redo log.
◆ is_enabled()
bool mtr_t::Logging::is_enabled |
( |
| ) |
const |
|
inline |
- Returns
- true iff redo logging is enabled and server is crash safe.
◆ mark_mtr()
bool mtr_t::Logging::mark_mtr |
( |
size_t |
index | ) |
|
|
inline |
Mark a no-logging mtr to indicate that it would not generate redo log and system is crash unsafe.
- Returns
- true iff logging is disabled and mtr is marked.
◆ unmark_mtr()
void mtr_t::Logging::unmark_mtr |
( |
size_t |
index | ) |
|
|
inline |
◆ wait_no_log_mtr()
int mtr_t::Logging::wait_no_log_mtr |
( |
THD * |
thd | ) |
|
|
private |
Wait till all no-logging mtrs are finished.
- Returns
- mysql error code.
◆ m_count_nologging_mtr
Shards mtr_t::Logging::m_count_nologging_mtr |
|
private |
Number of no logging mtrs currently running.
◆ m_state
std::atomic<State> mtr_t::Logging::m_state |
|
private |
Global redo logging state.
◆ NOLOG_MAX_FLUSH_LOOP
constexpr uint32_t mtr_t::Logging::NOLOG_MAX_FLUSH_LOOP = 5 |
|
staticconstexpr |
The documentation for this class was generated from the following files: