Skip to content

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)

New collapsed sections

image

Expanded Settings

image

Expanded Reindexing

image

Does this MR meet the acceptance criteria?

Conformity

Availability and Testing

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
Edited by Terri Chu

Merge request reports