gitlab:elastic:index task does not check pause setting
Summary
If Elasticsearch indexing is paused and the rake gitlab:elastic:index
task is run, the indexing does not automatically index data but puts it into the queue.
Steps to reproduce
-
Go to Admin > Settings > General > Advanced Search (may also a top level setting under Advanced Search)
-
Check the Pause Elasticsearch indexing checkbox and save settings
-
tail the elasticsearch.log file
-
run the rake task
bundle exec rake gitlab:elastic:index
-
notice that these messages will occur in the elasticsearch.log file
{"severity":"INFO","time":"2021-01-12T00:12:03.427Z","correlation_id":"01EVSYYETXPXPQ80AMQBEC1W2A","message":"elasticsearch_pause_indexing setting is enabled. Job was added to the waiting queue","worker_class":"ElasticCommitIndexerWorker","args":[28]}
What is the current bug behavior?
pausing indexing will prevent the index rake task from working immediately
What is the expected correct behavior?
running the rake task should kick off immediate indexing of all projects, snippets, and associated data
Possible fixes
ee/lib/tasks/gitlab/elastic.rake#L4
I'm not sure that the rake task should unpause indexing automatically. It could alert and fail out if indexing is paused and direct the user to unpause indexing before running.