Milvus 源码学习系列 | 第 17 章:QueryNode v2:Segment 管理、增量消费与 Delegator
上一章我们分析了 QueryCoord v2 的加载调度。QueryCoord v2 做的事情可以概括为:维护期望状态 - 发现缺失的 Channel / Segment - 生成调度任务 - 调用 QueryNode 的 WatchDmChannels / LoadSegments / ReleaseSegments / SyncDistribution但真正把数据变成“可查询视图”的地方,不在 QueryCoord,而在 QueryNode。这一章进入 QueryNode v2 内部,回答一个更贴近执行层的问题:QueryNode 收到 QueryCoord 的调度命令后, 如何加载 Segment、消费增量消息、维护删除数据, 并把这些状态组织成可供 Search / Query 使用的 shard 级视图?为了让链路完整,本章会把下面几件事串起来:WatchDmChannels - 创建 Delegator - 创建 DML Pipeline - 加载 L0 / Growing Segment - 从 WAL seek position 开始消费增量消息 LoadSegments - 加载 sealed Segment 的 binlog