Customize settings for Advanced Search reindex operations
What does this MR do?
Related to #294210 (closed)
Note: I have this set to merge into the branch from !60861 (merged) but it should be going to master
once that MR merges.
Allow admins to customize the reindexing process by choosing the max # of running slices and how many slices for the reindexing process. Highlight of changes:
- The existing Advanced Search Settings UI was split into two sections: Advanced Search Configuration and Elasticsearch Zero-Downtime Reindexing
- Remove card/grey background from the Elasticsearch Zero-Downtime Reindexing section
- Expose two new form fields for Reindexing: Slice multiplier & Maximum running slices. These fields will replace existing constants in ClusterReindexingService and have defaults.
- Sort by reindexing subtask alias in the Reindexing status section
- Update specs & documentation
How to test
Setup Advanced Search integration using Elasticsearch (including creating the index and enabling the index for searching)
- Navigate to Admin - Settings - Advanced Search
- Expand Elasticsearch Zero-Downtime Reindexing
- Select the
Trigger cluster reindexing
button - Refresh the screen to see the reindexing process move along
Note: Once the reindexing is started, you can speed up the testing process by opening a rails console and initiating the ElasticClusterReindexingCronWorker manually
ElasticClusterReindexingCronWorker.perform_async
Screenshots (strongly suggested)
Does this MR meet the acceptance criteria?
Conformity
-
📋 Does this MR need a changelog?-
I have included a changelog entry. -
I have not included a changelog entry because _____.
-
-
Documentation (if required) -
Code review guidelines -
Merge request performance guidelines -
Style guides -
Database guides -
Separation of EE specific content
Availability and Testing
-
Review and add/update tests for this feature/bug. Consider all test levels. See the Test Planning Process. -
Tested in all supported browsers -
Informed Infrastructure department of a default or new setting change, if applicable per definition of done
Security
If this MR contains changes to processing or storing of credentials or tokens, authorization and authentication methods and other items described in the security review guidelines:
-
Label as security and @ mention @gitlab-com/gl-security/appsec
-
The MR includes necessary changes to maintain consistency between UI, API, email, or other methods -
Security reports checked/validated by a reviewer from the AppSec team