![]() |
MySQL 8.0.43
Source Code Documentation
|
Dirty page archiver client context. More...
#include <arch0page.h>
Public Member Functions | |
| Page_Arch_Client_Ctx (bool is_durable) | |
| Constructor: Initialize elements. More... | |
| ~Page_Arch_Client_Ctx () | |
| Destructor. More... | |
| int | start (bool recovery, uint64_t *start_id) |
| Start dirty page tracking and archiving. More... | |
| int | stop (uint64_t *stop_id) |
| Stop dirty page tracking and archiving. More... | |
| void | release () |
| Release archived data so that system can purge it. More... | |
| int | init_during_recovery (Arch_Group *group, lsn_t last_lsn) |
| Initialize context during recovery. More... | |
| bool | is_active () const |
| Check if this client context is active. More... | |
| int | get_pages (Page_Arch_Cbk *cbk_func, void *cbk_ctx, byte *buff, uint buf_len) |
| Get archived page Ids. More... | |
| void | print () |
| Print information related to the archiver client for debugging purposes. More... | |
| Page_Arch_Client_Ctx (Page_Arch_Client_Ctx const &)=delete | |
| Disable copy construction. More... | |
| Page_Arch_Client_Ctx & | operator= (Page_Arch_Client_Ctx const &)=delete |
| Disable assignment. More... | |
Private Member Functions | |
| void | arch_client_mutex_enter () |
| Acquire client archiver mutex. More... | |
| void | arch_client_mutex_exit () |
| Release client archiver mutex. More... | |
Private Attributes | |
| Arch_Client_State | m_state {ARCH_CLIENT_STATE_INIT} |
| Page archiver client state. More... | |
| Arch_Group * | m_group {nullptr} |
| Archive group the client is attached to. More... | |
| bool | m_is_durable |
| True if the client requires durablity. More... | |
| lsn_t | m_start_lsn {LSN_MAX} |
| Start LSN for archived data. More... | |
| lsn_t | m_stop_lsn {LSN_MAX} |
| Stop LSN for archived data. More... | |
| lsn_t | m_last_reset_lsn {LSN_MAX} |
| Reset LSN at the time of last reset. More... | |
| Arch_Page_Pos | m_start_pos |
| Start position for client in archived file group. More... | |
| Arch_Page_Pos | m_stop_pos |
| Stop position for client in archived file group. More... | |
| ib_mutex_t | m_mutex |
| Mutex protecting concurrent operation on data. More... | |
Dirty page archiver client context.
|
inline |
Constructor: Initialize elements.
| [in] | is_durable | true if the client requires durability, else false |
|
inline |
Destructor.
|
delete |
Disable copy construction.
|
inlineprivate |
Acquire client archiver mutex.
It synchronizes members on concurrent start and stop operations.
|
inlineprivate |
Release client archiver mutex.
| int Page_Arch_Client_Ctx::get_pages | ( | Page_Arch_Cbk * | cbk_func, |
| void * | cbk_ctx, | ||
| byte * | buff, | ||
| uint | buf_len | ||
| ) |
Get archived page Ids.
Attempt to read blocks directly from in memory buffer. If overwritten, copy from archived files.
| [in] | cbk_func | called repeatedly with page ID buffer |
| [in] | cbk_ctx | callback function context |
| [in,out] | buff | buffer to fill page IDs |
| [in] | buf_len | buffer length in bytes |
| int Page_Arch_Client_Ctx::init_during_recovery | ( | Arch_Group * | group, |
| lsn_t | last_lsn | ||
| ) |
Initialize context during recovery.
| [in] | group | Group which needs to be attached to the client |
| [in] | last_lsn | last reset lsn |
|
inline |
Check if this client context is active.
|
delete |
Disable assignment.
| void Page_Arch_Client_Ctx::print | ( | ) |
Print information related to the archiver client for debugging purposes.
| void Page_Arch_Client_Ctx::release | ( | ) |
Release archived data so that system can purge it.
| int Page_Arch_Client_Ctx::start | ( | bool | recovery, |
| uint64_t * | start_id | ||
| ) |
Start dirty page tracking and archiving.
| [in] | recovery | true if the tracking is being started as part of recovery process |
| [out] | start_id | fill the start lsn |
| int Page_Arch_Client_Ctx::stop | ( | uint64_t * | stop_id | ) |
Stop dirty page tracking and archiving.
| [out] | stop_id | fill the stop lsn |
|
private |
Archive group the client is attached to.
|
private |
True if the client requires durablity.
|
private |
Mutex protecting concurrent operation on data.
|
private |
Start position for client in archived file group.
|
private |
Page archiver client state.
|
private |
Stop position for client in archived file group.