MySQL 8.0.40
Source Code Documentation
|
Innodb Clone System. More...
#include <chrono>
#include "db0err.h"
#include "mysql/plugin.h"
#include "sql/handler.h"
#include "univ.i"
#include "ut0mutex.h"
#include "clone0api.h"
#include "clone0desc.h"
#include "clone0repl.h"
#include "clone0snapshot.h"
#include <tuple>
Go to the source code of this file.
Classes | |
struct | Clone_Task |
Task for clone operation. More... | |
class | Clone_Task_Manager |
Task manager for manging the tasks for a clone operation. More... | |
class | Clone_Handle |
Clone Handle for copying or applying data. More... | |
class | Clone_Sys |
Clone System. More... | |
class | Clone_Sys::Wait_stage |
RAII style wrapper to enter and exit wait stage. More... | |
class | Clone_Sys::Acquire_clone |
Macros | |
#define | CLONE_FILES_DIR OS_FILE_PREFIX "clone" OS_PATH_SEPARATOR_STR |
Directory under data directory for all clone status files. More... | |
Typedefs | |
using | Clone_Msec = std::chrono::milliseconds |
using | Clone_Sec = std::chrono::seconds |
using | Clone_Min = std::chrono::minutes |
using | Clone_Sys_State = std::atomic< Clone_System_State > |
Enumerations | |
enum | Clone_System_State { CLONE_SYS_INACTIVE , CLONE_SYS_ACTIVE , CLONE_SYS_ABORT } |
Clone system state. More... | |
enum | Clone_Handle_State { CLONE_STATE_INIT = 1 , CLONE_STATE_ACTIVE , CLONE_STATE_IDLE , CLONE_STATE_ABORT } |
Clone Handle State. More... | |
enum | Clone_Task_State { CLONE_TASK_INACTIVE = 1 , CLONE_TASK_ACTIVE } |
Clone task state. More... | |
Variables | |
const size_t | CLONE_INNODB_FILE_LEN = 64 |
Clone in progress file name length. More... | |
const char | CLONE_INNODB_RECOVERY_CRASH_POINT [] |
Clone simulate recovery error file name. More... | |
const char | CLONE_INNODB_IN_PROGRESS_FILE [] |
Clone in progress file name. More... | |
const char | CLONE_INNODB_ERROR_FILE [] |
Clone error file name. More... | |
const char | CLONE_INNODB_FIXUP_FILE [] |
Clone fix up file name. More... | |
const char | CLONE_INNODB_RECOVERY_FILE [] |
Clone recovery status. More... | |
const char | CLONE_INNODB_NEW_FILES [] |
Clone file name for list of files cloned in place. More... | |
const char | CLONE_INNODB_REPLACED_FILES [] |
Clone file name for list of files to be replaced. More... | |
const char | CLONE_INNODB_OLD_FILES [] |
Clone file name for list of old files to be removed. More... | |
const char | CLONE_INNODB_DDL_FILES [] |
Clone file name for list of temp files renamed by ddl. More... | |
const char | CLONE_INNODB_REPLACED_FILE_EXTN [] = "." OS_FILE_PREFIX "clone" |
Clone file extension for files to be replaced. More... | |
const char | CLONE_INNODB_SAVED_FILE_EXTN [] = "." OS_FILE_PREFIX "clone_save" |
Clone file extension for saved old files. More... | |
const char | CLONE_INNODB_DDL_FILE_EXTN [] = "." OS_FILE_PREFIX "clone_ddl" |
Clone file extension for temporary renamed file. More... | |
const Clone_Msec | CLONE_DEF_SLEEP {100} |
Default sleep time while waiting: 100 ms. More... | |
const Clone_Sec | CLONE_DEF_ALERT_INTERVAL {5} |
Default alert interval in multiple of sleep time: 5 seconds. More... | |
const Clone_Min | CLONE_DEF_TIMEOUT {30} |
Default timeout in multiple of sleep time: 30 minutes. More... | |
const int | MAX_SNAPSHOTS = 1 |
Maximum number of concurrent snapshots. More... | |
const int | MAX_CLONES = 1 |
Maximum number of concurrent clones. More... | |
const int | CLONE_ARR_SIZE = 2 * MAX_CLONES |
Clone system array size. More... | |
const int | SNAPSHOT_ARR_SIZE = 2 * MAX_SNAPSHOTS |
Snapshot system array size. More... | |
Clone_Sys * | clone_sys |
Clone system global. More... | |
Innodb Clone System.
#define CLONE_FILES_DIR OS_FILE_PREFIX "clone" OS_PATH_SEPARATOR_STR |
Directory under data directory for all clone status files.
using Clone_Min = std::chrono::minutes |
using Clone_Msec = std::chrono::milliseconds |
using Clone_Sec = std::chrono::seconds |
using Clone_Sys_State = std::atomic<Clone_System_State> |
enum Clone_Handle_State |
enum Clone_System_State |
enum Clone_Task_State |
const int CLONE_ARR_SIZE = 2 * MAX_CLONES |
Clone system array size.
const Clone_Sec CLONE_DEF_ALERT_INTERVAL {5} |
Default alert interval in multiple of sleep time: 5 seconds.
const Clone_Msec CLONE_DEF_SLEEP {100} |
Default sleep time while waiting: 100 ms.
const Clone_Min CLONE_DEF_TIMEOUT {30} |
Default timeout in multiple of sleep time: 30 minutes.
const char CLONE_INNODB_DDL_FILE_EXTN[] = "." OS_FILE_PREFIX "clone_ddl" |
Clone file extension for temporary renamed file.
const char CLONE_INNODB_DDL_FILES[] |
Clone file name for list of temp files renamed by ddl.
const char CLONE_INNODB_ERROR_FILE[] |
Clone error file name.
const size_t CLONE_INNODB_FILE_LEN = 64 |
Clone in progress file name length.
const char CLONE_INNODB_FIXUP_FILE[] |
Clone fix up file name.
Present when clone needs table fix up.
const char CLONE_INNODB_IN_PROGRESS_FILE[] |
Clone in progress file name.
const char CLONE_INNODB_NEW_FILES[] |
Clone file name for list of files cloned in place.
const char CLONE_INNODB_OLD_FILES[] |
Clone file name for list of old files to be removed.
const char CLONE_INNODB_RECOVERY_CRASH_POINT[] |
Clone simulate recovery error file name.
const char CLONE_INNODB_RECOVERY_FILE[] |
Clone recovery status.
const char CLONE_INNODB_REPLACED_FILE_EXTN[] = "." OS_FILE_PREFIX "clone" |
Clone file extension for files to be replaced.
const char CLONE_INNODB_REPLACED_FILES[] |
Clone file name for list of files to be replaced.
const char CLONE_INNODB_SAVED_FILE_EXTN[] = "." OS_FILE_PREFIX "clone_save" |
Clone file extension for saved old files.
|
extern |
Clone system global.
Clone system global.
const int MAX_CLONES = 1 |
Maximum number of concurrent clones.
const int MAX_SNAPSHOTS = 1 |
Maximum number of concurrent snapshots.
const int SNAPSHOT_ARR_SIZE = 2 * MAX_SNAPSHOTS |
Snapshot system array size.