Rake task for ElasticSearch to determine which projects are not indexed
Problem to solve
Currently, a user can find the status of ElasticSearch indexing via sudo gitlab-rake gitlab:elastic:index_repositories_status
, however, this only shows a percentage. It would be great if a rake task existed that could show which projects were not indexed.
Target audience
Further details
Proposal
Create a rake task that returns the project ID, name, full path, etc. that will detail which projects do not have a corresponding IndexStatus.
Permissions and Security
I blieve the only access would be to the Project and IndexStatus models via rails.
Documentation
Elasticsearch integration would need to be improved to contain this new rake task and usage example.
What does success look like, and how can we measure that?
Success would look like the ability to run the take task and get the projects that are not indexed, something like:
root@git:~# sudo gitlab-rake gitlab:elastic:projects_not_indexed
Project 'my-project' (ID: 5) is not indexed
What is the type of buyer?
As this requires ElasticSearch, this would take place for Self-Hosted Starter and above users.