🐛 Index fixing should not be performed before data synchronization https://github.com/siyuan-note/siyuan/issues/10761
This commit is contained in:
parent
2c1e8966e7
commit
0322e022f1
4 changed files with 19 additions and 4 deletions
|
@ -48,7 +48,6 @@ func main() {
|
|||
util.PushClearAllMsg()
|
||||
|
||||
job.StartCron()
|
||||
go model.CheckIndex()
|
||||
go model.AutoGenerateDocHistory()
|
||||
go cache.LoadAssets()
|
||||
go util.CheckFileSysStatus()
|
||||
|
|
|
@ -64,7 +64,6 @@ func StartKernel(container, appDir, workspaceBaseDir, timezoneID, localIPs, lang
|
|||
util.PushClearAllMsg()
|
||||
|
||||
job.StartCron()
|
||||
go model.CheckIndex()
|
||||
go model.AutoGenerateDocHistory()
|
||||
go cache.LoadAssets()
|
||||
}()
|
||||
|
|
|
@ -24,6 +24,7 @@ import (
|
|||
"runtime/debug"
|
||||
"strings"
|
||||
"sync"
|
||||
"sync/atomic"
|
||||
"time"
|
||||
|
||||
"github.com/88250/gulu"
|
||||
|
@ -40,8 +41,18 @@ import (
|
|||
"github.com/siyuan-note/siyuan/kernel/util"
|
||||
)
|
||||
|
||||
// CheckIndex 自动校验数据库索引 https://github.com/siyuan-note/siyuan/issues/7016 https://github.com/siyuan-note/siyuan/issues/10563
|
||||
func CheckIndex() {
|
||||
var (
|
||||
checkIndexPerformed = atomic.Bool{}
|
||||
)
|
||||
|
||||
// checkIndex 自动校验数据库索引,仅在数据同步执行完成后执行一次。
|
||||
func checkIndex() {
|
||||
if checkIndexPerformed.Load() {
|
||||
return
|
||||
}
|
||||
|
||||
logging.LogInfof("start checking index...")
|
||||
|
||||
task.AppendTask(task.DatabaseIndexFix, removeDuplicateDatabaseIndex)
|
||||
sql.WaitForWritingDatabase()
|
||||
|
||||
|
@ -61,6 +72,9 @@ func CheckIndex() {
|
|||
util.PushStatusBar(Conf.Language(185))
|
||||
})
|
||||
debug.FreeOSMemory()
|
||||
logging.LogInfof("finish checking index")
|
||||
|
||||
checkIndexPerformed.Store(true)
|
||||
}
|
||||
|
||||
var autoFixLock = sync.Mutex{}
|
||||
|
|
|
@ -1330,6 +1330,9 @@ func syncRepo(exit, byHand bool) (dataChanged bool, err error) {
|
|||
autoSyncErrCount = 0
|
||||
|
||||
processSyncMergeResult(exit, byHand, mergeResult, trafficStat, "a", elapsed)
|
||||
|
||||
// 首次数据同步执行完成后再执行索引订正 Index fixing should not be performed before data synchronization https://github.com/siyuan-note/siyuan/issues/10761
|
||||
checkIndex()
|
||||
return
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue