diff options
author | zeripath <art27@cantab.net> | 2021-06-16 23:19:20 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-06-16 18:19:20 -0400 |
commit | ffbf35b7e9e2ea65525229f2c7d5a076c98e66ba (patch) | |
tree | 2c90817cdc64b6cda4399959f0609c58cb5b6624 /modules/setting/queue.go | |
parent | 5f4522cd1fc4207138c54c706b65f62083fb4299 (diff) | |
download | gitea-ffbf35b7e9e2ea65525229f2c7d5a076c98e66ba.tar.gz gitea-ffbf35b7e9e2ea65525229f2c7d5a076c98e66ba.zip |
Clean-up the settings hierarchy for issue_indexer queue (#16001)
There are a couple of settings in `[indexer]` relating to the `issue_indexer` queue
which override settings in unpredictable ways. This PR adjusts this hierarchy and makes
explicit that these settings are deprecated.
Signed-off-by: Andrew Thornton <art27@cantab.net>
Co-authored-by: techknowlogick <techknowlogick@gitea.io>
Diffstat (limited to 'modules/setting/queue.go')
-rw-r--r-- | modules/setting/queue.go | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/modules/setting/queue.go b/modules/setting/queue.go index 41e95fbe5a..4ff02b61eb 100644 --- a/modules/setting/queue.go +++ b/modules/setting/queue.go @@ -65,7 +65,7 @@ func GetQueueSettings(name string) QueueSettings { q.SetName = q.QueueName + Queue.SetName } if !filepath.IsAbs(q.DataDir) { - q.DataDir = filepath.Join(AppDataPath, q.DataDir) + q.DataDir = filepath.ToSlash(filepath.Join(AppDataPath, q.DataDir)) } _, _ = sec.NewKey("DATADIR", q.DataDir) @@ -98,6 +98,7 @@ func NewQueueService() { Queue.QueueLength = sec.Key("LENGTH").MustInt(20) Queue.BatchLength = sec.Key("BATCH_LENGTH").MustInt(20) Queue.ConnectionString = sec.Key("CONN_STR").MustString("") + defaultType := sec.Key("TYPE").String() Queue.Type = sec.Key("TYPE").MustString("persistable-channel") Queue.Network, Queue.Addresses, Queue.Password, Queue.DBIndex, _ = ParseQueueConnStr(Queue.ConnectionString) Queue.WrapIfNecessary = sec.Key("WRAP_IF_NECESSARY").MustBool(true) @@ -117,7 +118,7 @@ func NewQueueService() { for _, key := range section.Keys() { sectionMap[key.Name()] = true } - if _, ok := sectionMap["TYPE"]; !ok { + if _, ok := sectionMap["TYPE"]; !ok && defaultType == "" { switch Indexer.IssueQueueType { case LevelQueueType: _, _ = section.NewKey("TYPE", "level") @@ -125,21 +126,23 @@ func NewQueueService() { _, _ = section.NewKey("TYPE", "persistable-channel") case RedisQueueType: _, _ = section.NewKey("TYPE", "redis") + case "": + _, _ = section.NewKey("TYPE", "level") default: log.Fatal("Unsupported indexer queue type: %v", Indexer.IssueQueueType) } } - if _, ok := sectionMap["LENGTH"]; !ok { + if _, ok := sectionMap["LENGTH"]; !ok && Indexer.UpdateQueueLength != 0 { _, _ = section.NewKey("LENGTH", fmt.Sprintf("%d", Indexer.UpdateQueueLength)) } - if _, ok := sectionMap["BATCH_LENGTH"]; !ok { + if _, ok := sectionMap["BATCH_LENGTH"]; !ok && Indexer.IssueQueueBatchNumber != 0 { _, _ = section.NewKey("BATCH_LENGTH", fmt.Sprintf("%d", Indexer.IssueQueueBatchNumber)) } - if _, ok := sectionMap["DATADIR"]; !ok { + if _, ok := sectionMap["DATADIR"]; !ok && Indexer.IssueQueueDir != "" { _, _ = section.NewKey("DATADIR", Indexer.IssueQueueDir) } - if _, ok := sectionMap["CONN_STR"]; !ok { + if _, ok := sectionMap["CONN_STR"]; !ok && Indexer.IssueQueueConnStr != "" { _, _ = section.NewKey("CONN_STR", Indexer.IssueQueueConnStr) } |