![]() |
MySQL 8.0.43
Source Code Documentation
|
Innodb clone descriptors. More...
Go to the source code of this file.
Classes | |
| struct | Clone_Desc_Header |
| Header common to all descriptors. More... | |
| struct | Clone_Task_Meta |
| Task information in clone operation. More... | |
| class | Chnunk_Bitmap |
| Bitmap for completed chunks in current state. More... | |
| class | Chnunk_Bitmap::Bitmap_Operator_Impl |
| Bitmap array index operator implementation. More... | |
| struct | Chunk_Info |
| Incomplete Chunk information. More... | |
| struct | Clone_Desc_Locator |
| CLONE_DESC_LOCATOR: Descriptor for a task for clone operation. More... | |
| struct | Clone_Desc_Task_Meta |
| CLONE_DESC_TASK_METADATA: Descriptor for a task for clone operation. More... | |
| struct | Clone_Desc_State |
| CLONE_DESC_STATE: Descriptor for current snapshot state. More... | |
| struct | Clone_File_Meta |
| Clone file information. More... | |
| struct | Clone_Desc_File_MetaData |
| CLONE_DESC_FILE_METADATA: Descriptor for file metadata. More... | |
| struct | Clone_Desc_Data |
| CLONE_DESC_DATA: Descriptor for data. More... | |
Typedefs | |
| using | Chunk_Map = std::map< uint32_t, uint32_t > |
| Map for current block number for unfinished chunks. More... | |
Enumerations | |
| enum | Snapshot_State : uint32_t { CLONE_SNAPSHOT_NONE = 0 , CLONE_SNAPSHOT_INIT , CLONE_SNAPSHOT_FILE_COPY , CLONE_SNAPSHOT_PAGE_COPY , CLONE_SNAPSHOT_REDO_COPY , CLONE_SNAPSHOT_DONE } |
| Snapshot state transfer during clone. More... | |
| enum | Clone_Desc_Type { CLONE_DESC_LOCATOR = 1 , CLONE_DESC_TASK_METADATA , CLONE_DESC_STATE , CLONE_DESC_FILE_METADATA , CLONE_DESC_DATA , CLONE_DESC_MAX } |
| Clone descriptors contain meta information needed for applying cloned data. More... | |
Functions | |
| uint | choose_desc_version (const byte *ref_loc) |
| Choose lowest descriptor version between reference locator and currently supported version. More... | |
| bool | clone_validate_locator (const byte *desc_loc, uint desc_len) |
| Check if clone locator is valid. More... | |
Variables | |
| const uint64_t | CLONE_LOC_INVALID_ID = 0 |
| Invalid locator ID. More... | |
| const uint32_t | CLONE_DESC_MAX_BASE_LEN |
| Maximum base length for any serialized descriptor. More... | |
| const uint32_t | CLONE_ALIGN_DIRECT_IO = 4 * 1024 |
| Align by 4K for O_DIRECT. More... | |
| const int | CLONE_MAX_TASKS = 128 |
| Maximum number of concurrent tasks for each clone. More... | |
| const size_t | CLONE_MAX_TRANSFER_STAGES = 3 |
| Total number of data transfer stages in clone. More... | |
Innodb clone descriptors.
| using Chunk_Map = std::map<uint32_t, uint32_t> |
Map for current block number for unfinished chunks.
Used during restart from incomplete clone operation.
| enum Clone_Desc_Type |
Clone descriptors contain meta information needed for applying cloned data.
These are PODs with interface to serialize and deserialize them.
| enum Snapshot_State : uint32_t |
Snapshot state transfer during clone.
Clone Type: HA_CLONE_BLOCKING
Clone Type: HA_CLONE_REDO
Clone Type: HA_CLONE_HYBRID
Clone Type: HA_CLONE_PAGE: Not implemented
Choose lowest descriptor version between reference locator and currently supported version.
| [in] | ref_loc | reference locator |
Check if clone locator is valid.
| [in] | desc_loc | serialized descriptor |
| [in] | desc_len | descriptor length |
| const uint32_t CLONE_ALIGN_DIRECT_IO = 4 * 1024 |
Align by 4K for O_DIRECT.
| const uint32_t CLONE_DESC_MAX_BASE_LEN |
Maximum base length for any serialized descriptor.
This is only used for optimal allocation and has no impact on version compatibility.
| const uint64_t CLONE_LOC_INVALID_ID = 0 |
Invalid locator ID.
| const int CLONE_MAX_TASKS = 128 |
Maximum number of concurrent tasks for each clone.
| const size_t CLONE_MAX_TRANSFER_STAGES = 3 |
Total number of data transfer stages in clone.