Browse Source

fix indexer reindex bug when gitea restart (#5563)

* fix issue indexer bug reindex when restart gitea

* also fix code indexer reindex when gitea restart
master
Lunny Xiao GitHub 6 years ago
parent
commit
b65e37ed72
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 19 additions and 8 deletions
  1. +10
    -4
      modules/indexer/issue.go
  2. +9
    -4
      modules/indexer/repo.go

+ 10
- 4
modules/indexer/issue.go View File

@@ -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


+ 9
- 4
modules/indexer/repo.go View File

@@ -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 {


Loading…
Cancel
Save