Skip to content

Commit b65e37e

Browse files
authored
fix indexer reindex bug when gitea restart (#5563)
* fix issue indexer bug reindex when restart gitea * also fix code indexer reindex when gitea restart
1 parent c649635 commit b65e37e

File tree

2 files changed

+19
-8
lines changed

2 files changed

+19
-8
lines changed

modules/indexer/issue.go

+10-4
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ func InitIssueIndexer(populateIndexer func() error) {
6060
return
6161
}
6262

63-
if err = createIssueIndexer(); err != nil {
63+
if err = createIssueIndexer(setting.Indexer.IssuePath, issueIndexerLatestVersion); err != nil {
6464
log.Fatal(4, "InitIssuesIndexer: create index, %v", err)
6565
}
6666
if err = populateIndexer(); err != nil {
@@ -69,7 +69,7 @@ func InitIssueIndexer(populateIndexer func() error) {
6969
}
7070

7171
// createIssueIndexer create an issue indexer if one does not already exist
72-
func createIssueIndexer() error {
72+
func createIssueIndexer(path string, latestVersion int) error {
7373
mapping := bleve.NewIndexMapping()
7474
docMapping := bleve.NewDocumentMapping()
7575

@@ -100,8 +100,14 @@ func createIssueIndexer() error {
100100
mapping.AddDocumentMapping("_all", bleve.NewDocumentDisabledMapping())
101101

102102
var err error
103-
issueIndexer, err = bleve.New(setting.Indexer.IssuePath, mapping)
104-
return err
103+
issueIndexer, err = bleve.New(path, mapping)
104+
if err != nil {
105+
return err
106+
}
107+
108+
return rupture.WriteIndexMetadata(path, &rupture.IndexMetadata{
109+
Version: latestVersion,
110+
})
105111
}
106112

107113
// IssueIndexerBatch batch to add updates to

modules/indexer/repo.go

+9-4
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ func InitRepoIndexer(populateIndexer func() error) {
8484
return
8585
}
8686

87-
if err = createRepoIndexer(); err != nil {
87+
if err = createRepoIndexer(setting.Indexer.RepoPath, repoIndexerLatestVersion); err != nil {
8888
log.Fatal(4, "CreateRepoIndexer: %v", err)
8989
}
9090
if err = populateIndexer(); err != nil {
@@ -93,7 +93,7 @@ func InitRepoIndexer(populateIndexer func() error) {
9393
}
9494

9595
// createRepoIndexer create a repo indexer if one does not already exist
96-
func createRepoIndexer() error {
96+
func createRepoIndexer(path string, latestVersion int) error {
9797
var err error
9898
docMapping := bleve.NewDocumentMapping()
9999
numericFieldMapping := bleve.NewNumericFieldMapping()
@@ -119,8 +119,13 @@ func createRepoIndexer() error {
119119
mapping.AddDocumentMapping(repoIndexerDocType, docMapping)
120120
mapping.AddDocumentMapping("_all", bleve.NewDocumentDisabledMapping())
121121

122-
repoIndexer, err = bleve.New(setting.Indexer.RepoPath, mapping)
123-
return err
122+
repoIndexer, err = bleve.New(path, mapping)
123+
if err != nil {
124+
return err
125+
}
126+
return rupture.WriteIndexMetadata(path, &rupture.IndexMetadata{
127+
Version: latestVersion,
128+
})
124129
}
125130

126131
func filenameIndexerID(repoID int64, filename string) string {

0 commit comments

Comments
 (0)