]> source.dussan.org Git - gitea.git/commitdiff
Stop hanging issue indexer initialisation from preventing shutdown (#10243) (#10249)
authorzeripath <art27@cantab.net>
Wed, 12 Feb 2020 10:22:10 +0000 (10:22 +0000)
committerGitHub <noreply@github.com>
Wed, 12 Feb 2020 10:22:10 +0000 (12:22 +0200)
Co-authored-by: Lauris BH <lauris@nix.lv>
Co-authored-by: Antoine GIRARD <sapk@users.noreply.github.com>
modules/indexer/issues/indexer.go

index 894f37a96315f29c4a7976b7b62bf79d717a7c05..8321cafc8065c72e8b01e78a97ea7838be5a3c31 100644 (file)
@@ -143,25 +143,23 @@ func InitIssueIndexer(syncReindex bool) {
                var populate bool
                switch setting.Indexer.IssueType {
                case "bleve":
-                       graceful.GetManager().RunWithShutdownFns(func(_, atTerminate func(context.Context, func())) {
-                               issueIndexer := NewBleveIndexer(setting.Indexer.IssuePath)
-                               exist, err := issueIndexer.Init()
-                               if err != nil {
-                                       holder.cancel()
-                                       log.Fatal("Unable to initialize Bleve Issue Indexer: %v", err)
+                       issueIndexer := NewBleveIndexer(setting.Indexer.IssuePath)
+                       exist, err := issueIndexer.Init()
+                       if err != nil {
+                               holder.cancel()
+                               log.Fatal("Unable to initialize Bleve Issue Indexer: %v", err)
+                       }
+                       populate = !exist
+                       holder.set(issueIndexer)
+                       graceful.GetManager().RunAtTerminate(context.Background(), func() {
+                               log.Debug("Closing issue indexer")
+                               issueIndexer := holder.get()
+                               if issueIndexer != nil {
+                                       issueIndexer.Close()
                                }
-                               populate = !exist
-                               holder.set(issueIndexer)
-                               atTerminate(context.Background(), func() {
-                                       log.Debug("Closing issue indexer")
-                                       issueIndexer := holder.get()
-                                       if issueIndexer != nil {
-                                               issueIndexer.Close()
-                                       }
-                                       log.Info("PID: %d Issue Indexer closed", os.Getpid())
-                               })
-                               log.Debug("Created Bleve Indexer")
+                               log.Info("PID: %d Issue Indexer closed", os.Getpid())
                        })
+                       log.Debug("Created Bleve Indexer")
                case "db":
                        issueIndexer := &DBIndexer{}
                        holder.set(issueIndexer)