diff --git a/kernel/model/tag.go b/kernel/model/tag.go index 729ad4d8a..07b1151c7 100644 --- a/kernel/model/tag.go +++ b/kernel/model/tag.go @@ -53,7 +53,7 @@ func RemoveTag(label string) (err error) { updateNodes := map[string]*ast.Node{} for treeID, blocks := range treeBlocks { util.PushEndlessProgress("[" + treeID + "]") - tree, e := LoadTreeByBlockID(treeID) + tree, e := LoadTreeByBlockIDWithReindex(treeID) if nil != e { util.ClearPushProgress(100) return e @@ -154,7 +154,7 @@ func RenameTag(oldLabel, newLabel string) (err error) { for treeID, blocks := range treeBlocks { util.PushEndlessProgress("[" + treeID + "]") - tree, e := LoadTreeByBlockID(treeID) + tree, e := LoadTreeByBlockIDWithReindex(treeID) if nil != e { util.ClearPushProgress(100) return e diff --git a/kernel/model/tree.go b/kernel/model/tree.go index 84cd2130c..cd26fb03b 100644 --- a/kernel/model/tree.go +++ b/kernel/model/tree.go @@ -178,8 +178,6 @@ var ( ) func LoadTreeByBlockIDWithReindex(id string) (ret *parse.Tree, err error) { - // 仅提供给 getBlockInfo 接口使用 - if "" == id { logging.LogWarnf("block id is empty") return nil, ErrTreeNotFound @@ -192,8 +190,9 @@ func LoadTreeByBlockIDWithReindex(id string) (ret *parse.Tree, err error) { return } - // 尝试从文件系统加载 - searchTreeInFilesystem(id) + // 尝试从文件系统加载并建立索引 + indexTreeInFilesystem(id) + bt = treenode.GetBlockTree(id) if nil == bt { if "dev" == util.Mode { @@ -243,7 +242,7 @@ func loadTreeByBlockTree(bt *treenode.BlockTree) (ret *parse.Tree, err error) { var searchTreeLimiter = rate.NewLimiter(rate.Every(3*time.Second), 1) -func searchTreeInFilesystem(rootID string) { +func indexTreeInFilesystem(rootID string) { if !searchTreeLimiter.Allow() { return }