diff --git a/kernel/model/transaction.go b/kernel/model/transaction.go index 727ca49b4..26a88d569 100644 --- a/kernel/model/transaction.go +++ b/kernel/model/transaction.go @@ -1227,7 +1227,16 @@ func AutoFixIndex() { } } +var autoFixLock = sync.Mutex{} + func autoFixIndex() { + if util.IsMutexLocked(&autoFixLock) { + return + } + + autoFixLock.Lock() + defer autoFixLock.Unlock() + rootUpdated := treenode.GetRootUpdated() for rootID, updated := range rootUpdated { root := sql.GetBlock(rootID)