diff options
author | Lunny Xiao <xiaolunwen@gmail.com> | 2018-12-19 22:51:53 +0800 |
---|---|---|
committer | techknowlogick <hello@techknowlogick.com> | 2018-12-19 09:51:53 -0500 |
commit | b45d58805a3d7a1294713a95faa39c016ebd3930 (patch) | |
tree | 11f870d06e094a2cce2ca8ba8984ba1d71004e65 /modules | |
parent | 200b974e198f5a18bf8b6638e1f8f21de17602fb (diff) | |
download | gitea-b45d58805a3d7a1294713a95faa39c016ebd3930.tar.gz gitea-b45d58805a3d7a1294713a95faa39c016ebd3930.zip |
fix indexer reindex bug when gitea restart (#5563) (#5564)
* fix issue indexer bug reindex when restart gitea
* also fix code indexer reindex when gitea restart
Diffstat (limited to 'modules')
-rw-r--r-- | modules/indexer/issue.go | 14 | ||||
-rw-r--r-- | modules/indexer/repo.go | 13 |
2 files changed, 19 insertions, 8 deletions
diff --git a/modules/indexer/issue.go b/modules/indexer/issue.go index b0d231a7cf..29c78307b6 100644 --- a/modules/indexer/issue.go +++ b/modules/indexer/issue.go @@ -60,7 +60,7 @@ func InitIssueIndexer(populateIndexer func() error) { return } - if err = createIssueIndexer(); err != nil { + if err = createIssueIndexer(setting.Indexer.IssuePath, issueIndexerLatestVersion); err != nil { log.Fatal(4, "InitIssuesIndexer: create index, %v", err) } if err = populateIndexer(); err != nil { @@ -69,7 +69,7 @@ func InitIssueIndexer(populateIndexer func() error) { } // createIssueIndexer create an issue indexer if one does not already exist -func createIssueIndexer() error { +func createIssueIndexer(path string, latestVersion int) error { mapping := bleve.NewIndexMapping() docMapping := bleve.NewDocumentMapping() @@ -100,8 +100,14 @@ func createIssueIndexer() error { mapping.AddDocumentMapping("_all", bleve.NewDocumentDisabledMapping()) var err error - issueIndexer, err = bleve.New(setting.Indexer.IssuePath, mapping) - return err + issueIndexer, err = bleve.New(path, mapping) + if err != nil { + return err + } + + return rupture.WriteIndexMetadata(path, &rupture.IndexMetadata{ + Version: latestVersion, + }) } // IssueIndexerBatch batch to add updates to diff --git a/modules/indexer/repo.go b/modules/indexer/repo.go index 4d1e792152..20e0fa6b18 100644 --- a/modules/indexer/repo.go +++ b/modules/indexer/repo.go @@ -84,7 +84,7 @@ func InitRepoIndexer(populateIndexer func() error) { return } - if err = createRepoIndexer(); err != nil { + if err = createRepoIndexer(setting.Indexer.RepoPath, repoIndexerLatestVersion); err != nil { log.Fatal(4, "CreateRepoIndexer: %v", err) } if err = populateIndexer(); err != nil { @@ -93,7 +93,7 @@ func InitRepoIndexer(populateIndexer func() error) { } // createRepoIndexer create a repo indexer if one does not already exist -func createRepoIndexer() error { +func createRepoIndexer(path string, latestVersion int) error { var err error docMapping := bleve.NewDocumentMapping() numericFieldMapping := bleve.NewNumericFieldMapping() @@ -119,8 +119,13 @@ func createRepoIndexer() error { mapping.AddDocumentMapping(repoIndexerDocType, docMapping) mapping.AddDocumentMapping("_all", bleve.NewDocumentDisabledMapping()) - repoIndexer, err = bleve.New(setting.Indexer.RepoPath, mapping) - return err + repoIndexer, err = bleve.New(path, mapping) + if err != nil { + return err + } + return rupture.WriteIndexMetadata(path, &rupture.IndexMetadata{ + Version: latestVersion, + }) } func filenameIndexerID(repoID int64, filename string) string { |