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>
This commit is contained in:
parent
5f4522cd1f
commit
ffbf35b7e9
4 changed files with 34 additions and 33 deletions
|
@ -28,10 +28,10 @@ var (
|
|||
IssuePath string
|
||||
IssueConnStr string
|
||||
IssueIndexerName string
|
||||
IssueQueueType string
|
||||
IssueQueueDir string
|
||||
IssueQueueConnStr string
|
||||
IssueQueueBatchNumber int
|
||||
IssueQueueType string // DEPRECATED - replaced by queue.issue_indexer
|
||||
IssueQueueDir string // DEPRECATED - replaced by queue.issue_indexer
|
||||
IssueQueueConnStr string // DEPRECATED - replaced by queue.issue_indexer
|
||||
IssueQueueBatchNumber int // DEPRECATED - replaced by queue.issue_indexer
|
||||
StartupTimeout time.Duration
|
||||
|
||||
RepoIndexerEnabled bool
|
||||
|
@ -39,20 +39,17 @@ var (
|
|||
RepoPath string
|
||||
RepoConnStr string
|
||||
RepoIndexerName string
|
||||
UpdateQueueLength int
|
||||
UpdateQueueLength int // DEPRECATED - replaced by queue.issue_indexer
|
||||
MaxIndexerFileSize int64
|
||||
IncludePatterns []glob.Glob
|
||||
ExcludePatterns []glob.Glob
|
||||
ExcludeVendored bool
|
||||
}{
|
||||
IssueType: "bleve",
|
||||
IssuePath: "indexers/issues.bleve",
|
||||
IssueConnStr: "",
|
||||
IssueIndexerName: "gitea_issues",
|
||||
IssueQueueType: LevelQueueType,
|
||||
IssueQueueDir: "queues/common",
|
||||
IssueQueueConnStr: "",
|
||||
IssueQueueBatchNumber: 20,
|
||||
IssueType: "bleve",
|
||||
IssuePath: "indexers/issues.bleve",
|
||||
IssueConnStr: "",
|
||||
IssueIndexerName: "gitea_issues",
|
||||
IssueQueueType: LevelQueueType,
|
||||
|
||||
RepoIndexerEnabled: false,
|
||||
RepoType: "bleve",
|
||||
|
@ -74,10 +71,12 @@ func newIndexerService() {
|
|||
Indexer.IssueConnStr = sec.Key("ISSUE_INDEXER_CONN_STR").MustString(Indexer.IssueConnStr)
|
||||
Indexer.IssueIndexerName = sec.Key("ISSUE_INDEXER_NAME").MustString(Indexer.IssueIndexerName)
|
||||
|
||||
Indexer.IssueQueueType = sec.Key("ISSUE_INDEXER_QUEUE_TYPE").MustString(LevelQueueType)
|
||||
Indexer.IssueQueueDir = filepath.ToSlash(sec.Key("ISSUE_INDEXER_QUEUE_DIR").MustString(filepath.ToSlash(filepath.Join(AppDataPath, "queues/common"))))
|
||||
// The following settings are deprecated and can be overridden by settings in [queue] or [queue.issue_indexer]
|
||||
Indexer.IssueQueueType = sec.Key("ISSUE_INDEXER_QUEUE_TYPE").MustString("")
|
||||
Indexer.IssueQueueDir = filepath.ToSlash(sec.Key("ISSUE_INDEXER_QUEUE_DIR").MustString(""))
|
||||
Indexer.IssueQueueConnStr = sec.Key("ISSUE_INDEXER_QUEUE_CONN_STR").MustString("")
|
||||
Indexer.IssueQueueBatchNumber = sec.Key("ISSUE_INDEXER_QUEUE_BATCH_NUMBER").MustInt(20)
|
||||
Indexer.IssueQueueBatchNumber = sec.Key("ISSUE_INDEXER_QUEUE_BATCH_NUMBER").MustInt(0)
|
||||
Indexer.UpdateQueueLength = sec.Key("UPDATE_BUFFER_LEN").MustInt(0)
|
||||
|
||||
Indexer.RepoIndexerEnabled = sec.Key("REPO_INDEXER_ENABLED").MustBool(false)
|
||||
Indexer.RepoType = sec.Key("REPO_INDEXER_TYPE").MustString("bleve")
|
||||
|
@ -91,7 +90,6 @@ func newIndexerService() {
|
|||
Indexer.IncludePatterns = IndexerGlobFromString(sec.Key("REPO_INDEXER_INCLUDE").MustString(""))
|
||||
Indexer.ExcludePatterns = IndexerGlobFromString(sec.Key("REPO_INDEXER_EXCLUDE").MustString(""))
|
||||
Indexer.ExcludeVendored = sec.Key("REPO_INDEXER_EXCLUDE_VENDORED").MustBool(true)
|
||||
Indexer.UpdateQueueLength = sec.Key("UPDATE_BUFFER_LEN").MustInt(20)
|
||||
Indexer.MaxIndexerFileSize = sec.Key("MAX_FILE_SIZE").MustInt64(1024 * 1024)
|
||||
Indexer.StartupTimeout = sec.Key("STARTUP_TIMEOUT").MustDuration(30 * time.Second)
|
||||
}
|
||||
|
|
|
@ -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)
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue