来源: docs/design.md §3.2 WAL Oracle 架构审查
Recovery 要求从 MANIFEST 指定的 recoverySegmentID 开始按 segmentID 升序恢复,且 segmentID 必须连续。但设计中没有明确:
recoverySegmentID
"已被 MANIFEST 证明不再需要的旧 WAL segment 可以删除,不参与连续性校验;连续性要求只适用于 recovery 起点之后仍需恢复的 WAL segment。"
但实现时需要明确:如果 recoverySegmentID = 5,但 WAL 目录中存在 segment-3.wal(MANIFEST 已覆盖),recovery 应该忽略它还是报错?
recoverySegmentID = 5
segment-3.wal
No dependencies set.
The note is not visible to the blocked user.
来源: 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