开始
SegmentInfos
是否能获得索引
文件segment_N
的文件名?
索引目录中
是否还有未处理
的索引文件?
索引文件是否
满足要求?
取出一个索引文件
否
是
初始化索引文件的
计数引用
索引文件是否为segments_N?
根据segments_N获取一个新的SegmentInfos
两个SegmentInfos
的generation是否相同?
根据新的SegmentInfos
获取CommitPoint
添加CommitPoint到CommitPoint集合commits中
增加新的SegmentInfos对应的索引文件的计数
是
否
另CommitPoint为当前提交点currentCommitPoint
是否出现异常?
是否出现异常?
处理异常
是