mirror of
https://gitee.com/milvus-io/milvus.git
synced 2026-01-07 19:31:51 +08:00
See also #30571 When `compactionExecutor` stops one compaction task, the `stop` method will case `injectDone` called. However in `executeTask` when `compact` method returns error, it shall also invoke `injectDone` as well. That the reason `Unlock of unlocked RWMutex` panicking happened. This PR add sync.Once to make sure that `injectDone` is called only once. We did not remove any of the `injectDone` since removal any of those invocation may cause logic problem. --------- Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>