cluster重启后,compaction出现大量conflict #38964
-
cluster重启前,由于cluster有大量正在进行的compaction task (应该在task queue中没有被清空?)。所以很多segment的metadata的状态是inCompacting.
我猜大概是因为在etcd中,这些input segment还是inCompacting的状态?所以milvus不允许执行这个compaction task。 |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment
-
Compaction相关逻辑主要都在datacoord里,compaction任务会被记录在元数据里,当重启的时候,未完成的任务会被读出执行 milvus/internal/datacoord/compaction.go Line 90 in e6bf141 从元数据读出的任务开始时,会把相关的segment标记为isCompacting。而compaction_trigger跟恢复逻辑互不感知,compaction_trigger会去检测有哪些segment可以被compact,当它发现某些segment是isCompacting时,就会记录这么一条日志segment is compacting: compaction plan conflict |
Beta Was this translation helpful? Give feedback.
Compaction相关逻辑主要都在datacoord里,compaction任务会被记录在元数据里,当重启的时候,未完成的任务会被读出执行
milvus/internal/datacoord/compaction.go
Line 90 in e6bf141
从元数据读出的任务开始时,会把相关的segment标记为isCompacting。而compaction_trigger跟恢复逻辑互不感知,compaction_trigger会去检测有哪些segment可以被compact,当它发现某些segment是isCompacting时,就会记录这么一条日志segment is compacting: compaction plan conflict
这个冲突可以忽略,compaction_trigger会忽略那些isCompacting的segment,当元数据读出的那批任务执行完之后,compaction_trigger就正常运行了。