一、功能
TDSQL Boundless 存储引擎基于 Raft 协议实现多副本一致性。当副本组(Replication Group)新增副本、或某个副本的日志进度已落后过多(超出来源节点保留的日志范围)时,系统会通过快照安装机制将全量数据发送给该副本,帮助其快速追平数据,而不必逐条重放日志。该视图可帮助你:
·实时查看集群内所有正在进行的快照安装任务及其文件传输进度。
·定位某个副本组当前快照安装任务的数据来源节点和目标节点。
·结合错误信息排查快照安装失败的原因。
该视图仅展示当前正在进行的快照安装任务,任务结束(完成或失败)后将从视图中移除。
二、适用版本
TDSQL Boundless V21.6.4.0及以上版本。
三、字段说明
META_CLUSTER_INSTALL_SNAPSHOT_PROGRESS 视图各字段的含义如下表所示:
| 字段名 | 类型 | 描述 |
| SOURCE_NODE | varchar(256) | 该快照数据的来源节点地址。 |
| DEST_NODE | varchar(256) | 该快照数据要安装的目标节点地址,即需要追平数据的副本所在节点。 |
| TERM | bigint unsigned | 发起该次快照安装时,来源节点所在的 Raft 任期(Term)。 |
| TYPE | varchar(64) | 触发本次快照安装的原因:Replica 表示该副本为新增副本,需要通过快照直接获取全量数据;Log Delay 表示该副本已存在,但日志进度落后过多,需要通过快照追平数据。 |
| REP_GROUP_ID | bigint unsigned | 该快照安装任务所属的副本组(Replication Group)ID。 |
| START_TIME | varchar(64) | 该快照安装任务的开始时间。 |
| TRANSFERED_FILE_NUM | bigint unsigned | 目标节点已接收的文件数量。 |
| TOTAL_FILE_NUM | bigint unsigned | 本次快照安装涉及的文件总数量。 |
| REMAINING_FILE_NUM | bigint unsigned | 尚未传输完成的文件数量,等于 TOTAL_FILE_NUM 减去 TRANSFERED_FILE_NUM。 |
| FILE_PROGRESS | varchar(64) | 按文件数量计算的传输进度,取值范围0 – 1,保留4位小数。 |
| FILE_PROGRESS_PERCENT | varchar(64) | 按文件数量计算的传输进度百分比,保留2位小数。 |
| TRANSFERED_FILE_SIZE | varchar(64) | 已传输的数据大小,为便于阅读的格式化结果,例如 1.2 GB。 |
| TOTAL_FILE_SIZE | varchar(64) | 本次快照安装涉及的数据总大小,为便于阅读的格式化结果。 |
| REMAINING_FILE_SIZE | varchar(64) | 尚未传输完成的数据大小,为便于阅读的格式化结果,等于 TOTAL_FILE_SIZE 减去 TRANSFERED_FILE_SIZE。 |
| TRANSFERED_FILE_SIZE_BYTES | bigint unsigned | 已传输的数据大小,单位为字节。 |
| TOTAL_FILE_SIZE_BYTES | bigint unsigned | 本次快照安装涉及的数据总大小,单位为字节。 |
| REMAINING_FILE_SIZE_BYTES | bigint unsigned | 尚未传输完成的数据大小,单位为字节。 |
| SIZE_PROGRESS | varchar(64) | 按数据大小计算的传输进度,取值范围0 – 1,保留4位小数。 |
| SIZE_PROGRESS_PERCENT | varchar(64) | 按数据大小计算的传输进度百分比,保留2位小数。 |
| STAGE | varchar(64) | 该快照安装任务当前所处的阶段。由于该视图仅展示进行中的任务,该字段恒为 doing。 |
| ERR_MSG | varchar(256) | 该快照安装任务的错误信息,无错误时为空。 |
| COST_INFO | longtext | 该快照安装任务各阶段的耗时统计信息。 |
四、示例 1:查看集群内所有正在进行的快照安装任务
SELECT SOURCE_NODE, DEST_NODE, REP_GROUP_ID, TYPE, FILE_PROGRESS_PERCENT, SIZE_PROGRESS_PERCENT, START_TIMEFROM information_schema.META_CLUSTER_INSTALL_SNAPSHOT_PROGRESS;
五、示例 2:查看某个副本组当前的快照安装进度
SELECT *FROM information_schema.META_CLUSTER_INSTALL_SNAPSHOT_PROGRESSWHERE REP_GROUP_ID = 100001;
六、示例 3:排查快照安装失败的任务
SELECT SOURCE_NODE, DEST_NODE, REP_GROUP_ID, TYPE, ERR_MSGFROM information_schema.META_CLUSTER_INSTALL_SNAPSHOT_PROGRESSWHERE ERR_MSG IS NOT NULL AND ERR_MSG <> '';
七、注意事项
·该视图仅展示当前正在进行(STAGE 为 doing)的快照安装任务,任务完成或失败后将从视图中移除,不提供历史记录查询。
·该视图汇聚展示集群内所有存储节点上的快照安装任务,无需分别登录各节点查看。