取消备份可能会使 SST 对象缺少返回的文件元数据
作者: YZL0v3ZZ创建于 2026年6月29日更新于 2026年9月1日
标签type/bugcontribution
有什么问题吗?
普通的 Backup gRPC 服务在客户端响应流被取消或断开连接后仍然可以继续保存已排队的内存备份文件。保存工作线程首先将备份 SST 对象写入外部存储,然后构建相应的 brpb::File 描述符并通过 BackupResponse.files 发送回去。如果在保存工作线程到达 tx.unbounded_send(response) 时响应通道已经断开,则发送失败,工作线程返回。此时,外部 SST 对象可能已经存在,但命名该对象并记录其校验和、密钥范围、CF、IV、大小和字节数的元数据尚未传递给备份协调器。
内容来源: tikv/tikv