设计审查: Segment ID 连续性要求与旧 segment 删除后的 gap 处理 #16
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
来源: docs/design.md §3.2 WAL Oracle 架构审查
问题描述
Recovery 要求从 MANIFEST 指定的
recoverySegmentID开始按 segmentID 升序恢复,且 segmentID 必须连续。但设计中没有明确:recoverySegmentID之后的连续性,还是从 segment-0 开始要求全局连续?当前理解的合理推断
但实现时需要明确:如果
recoverySegmentID = 5,但 WAL 目录中存在segment-3.wal(MANIFEST 已覆盖),recovery 应该忽略它还是报错?需要明确
recoverySegmentID,不是 segment-0