Remove obsolete wiki notes from self-managed instances

Blocked: This issue is blocked as we discovered a problem that needs to be validated by the groupdatabase. Comment referring to the background Migration

Summary

When removing wiki notes that were not used for GitLab.com, the change was not included for Self-Managed.

We need to remove the Obloute wiki notes from self-managed.

A user running Gitlab 14.5.2 is trying to run gitlab-rake gitlab:elastic:index and they are getting the following error:

Index status has been reset
Setting `elasticsearch_indexing` has been enabled.
Enqueuing projects…rake aborted!
NoMethodError: undefined method `primary_key' for Wiki:Class
/opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/load_balancing/connection_proxy.rb:126:in `block in write_using_load_balancer'
/opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/load_balancing/load_balancer.rb:112:in `block in read_write'
/opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/load_balancing/load_balancer.rb:172:in `retry_with_backoff'
/opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/load_balancing/load_balancer.rb:110:in `read_write'
/opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/load_balancing/connection_proxy.rb:125:in `write_using_load_balancer'
/opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/load_balancing/connection_proxy.rb:95:in `method_missing'
/opt/gitlab/embedded/service/gitlab-rails/ee/app/services/elastic/process_bookkeeping_service.rb:102:in `block in maintain_indexed_associations'
/opt/gitlab/embedded/service/gitlab-rails/ee/app/services/elastic/process_bookkeeping_service.rb:120:in `block in each_indexed_association'
/opt/gitlab/embedded/service/gitlab-rails/ee/app/services/elastic/process_bookkeeping_service.rb:111:in `each'
/opt/gitlab/embedded/service/gitlab-rails/ee/app/services/elastic/process_bookkeeping_service.rb:111:in `each_indexed_association'
/opt/gitlab/embedded/service/gitlab-rails/ee/app/services/elastic/process_bookkeeping_service.rb:101:in `maintain_indexed_associations'
/opt/gitlab/embedded/service/gitlab-rails/ee/app/services/elastic/process_initial_bookkeeping_service.rb:28:in `block in backfill_projects!'
/opt/gitlab/embedded/service/gitlab-rails/ee/app/services/elastic/process_initial_bookkeeping_service.rb:25:in `each'
/opt/gitlab/embedded/service/gitlab-rails/ee/app/services/elastic/process_initial_bookkeeping_service.rb:25:in `backfill_projects!'
/opt/gitlab/embedded/service/gitlab-rails/ee/lib/tasks/gitlab/elastic.rake:35:in `block (4 levels) in <top (required)>'
/opt/gitlab/embedded/service/gitlab-rails/ee/lib/tasks/gitlab/elastic.rake:219:in `block in project_id_batches'
/opt/gitlab/embedded/service/gitlab-rails/ee/lib/tasks/gitlab/elastic.rake:217:in `project_id_batches'
/opt/gitlab/embedded/service/gitlab-rails/ee/lib/tasks/gitlab/elastic.rake:34:in `block (3 levels) in <top (required)>'
/opt/gitlab/embedded/service/gitlab-rails/ee/lib/tasks/gitlab/elastic.rake:26:in `block (3 levels) in <top (required)>'
/opt/gitlab/embedded/bin/bundle:23:in `load'
/opt/gitlab/embedded/bin/bundle:23:in `<main>'
Tasks: TOP => gitlab:elastic:index_projects
(See full trace by running task with --trace)

Steps to reproduce

The version of Gitlab is 14.5.2 (GCE Instance with Machine type: n2-standard-8 - 8 vCPUs and 32 GB MEM), Elasticsearch 7.16.1 (GCE Instance with Machine type: e2-standard-2 - 2 vCPUs and 8 GB MEM + Standard persistent disk for data.)

The customer mentioned that based on their monitoring there is not Memory pressure on the Gitlab instance.

There is nothing unusual in the Global Search settings page in the Gitlab UI.

  1. Uncheck Elasticsearch Indexing in the Gitlab Advanced Search UI page.

  2. Remove the index with this rake task: sudo gitlab-rake gitlab:elastic:delete_index.

  3. Start a fresh indexing process by running: sudo gitlab-rake gitlab:elastic:index.

  4. Rake task fails with:

Expand to see Error

Index status has been reset Setting elasticsearch_indexing has been enabled. Enqueuing projects…rake aborted! NoMethodError: undefined method primary_key' for Wiki:Class /opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/load_balancing/connection_proxy.rb:126:in block in write_using_load_balancer' /opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/load_balancing/load_balancer.rb:112:in block in read_write' /opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/load_balancing/load_balancer.rb:172:in retry_with_backoff' /opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/load_balancing/load_balancer.rb:110:in read_write' /opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/load_balancing/connection_proxy.rb:125:in write_using_load_balancer' /opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/load_balancing/connection_proxy.rb:95:in method_missing' /opt/gitlab/embedded/service/gitlab-rails/ee/app/services/elastic/process_bookkeeping_service.rb:102:in block in maintain_indexed_associations' /opt/gitlab/embedded/service/gitlab-rails/ee/app/services/elastic/process_bookkeeping_service.rb:120:in block in each_indexed_association' /opt/gitlab/embedded/service/gitlab-rails/ee/app/services/elastic/process_bookkeeping_service.rb:111:in each' /opt/gitlab/embedded/service/gitlab-rails/ee/app/services/elastic/process_bookkeeping_service.rb:111:in each_indexed_association' /opt/gitlab/embedded/service/gitlab-rails/ee/app/services/elastic/process_bookkeeping_service.rb:101:in maintain_indexed_associations' /opt/gitlab/embedded/service/gitlab-rails/ee/app/services/elastic/process_initial_bookkeeping_service.rb:28:in block in backfill_projects!' /opt/gitlab/embedded/service/gitlab-rails/ee/app/services/elastic/process_initial_bookkeeping_service.rb:25:in each' /opt/gitlab/embedded/service/gitlab-rails/ee/app/services/elastic/process_initial_bookkeeping_service.rb:25:in backfill_projects!' /opt/gitlab/embedded/service/gitlab-rails/ee/lib/tasks/gitlab/elastic.rake:35:in block (4 levels) in <top (required)>' /opt/gitlab/embedded/service/gitlab-rails/ee/lib/tasks/gitlab/elastic.rake:219:in block in project_id_batches' /opt/gitlab/embedded/service/gitlab-rails/ee/lib/tasks/gitlab/elastic.rake:217:in project_id_batches' /opt/gitlab/embedded/service/gitlab-rails/ee/lib/tasks/gitlab/elastic.rake:34:in block (3 levels) in <top (required)>' /opt/gitlab/embedded/service/gitlab-rails/ee/lib/tasks/gitlab/elastic.rake:26:in block (3 levels) in <top (required)>' /opt/gitlab/embedded/bin/bundle:23:in load' /opt/gitlab/embedded/bin/bundle:23:in ' Tasks: TOP => gitlab:elastic:index_projects (See full trace by running task with --trace)

What is the current bug behavior?

The sudo gitlab-rake gitlab:elastic:index rake task fails with above error

What is the expected correct behavior?

The sudo gitlab-rake gitlab:elastic:index rake task should index the Gitlab instance

Relevant logs and/or screenshots

Expand to see Error

Index status has been reset Setting elasticsearch_indexing has been enabled. Enqueuing projects…rake aborted! NoMethodError: undefined method primary_key' for Wiki:Class /opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/load_balancing/connection_proxy.rb:126:in block in write_using_load_balancer' /opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/load_balancing/load_balancer.rb:112:in block in read_write' /opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/load_balancing/load_balancer.rb:172:in retry_with_backoff' /opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/load_balancing/load_balancer.rb:110:in read_write' /opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/load_balancing/connection_proxy.rb:125:in write_using_load_balancer' /opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/load_balancing/connection_proxy.rb:95:in method_missing' /opt/gitlab/embedded/service/gitlab-rails/ee/app/services/elastic/process_bookkeeping_service.rb:102:in block in maintain_indexed_associations' /opt/gitlab/embedded/service/gitlab-rails/ee/app/services/elastic/process_bookkeeping_service.rb:120:in block in each_indexed_association' /opt/gitlab/embedded/service/gitlab-rails/ee/app/services/elastic/process_bookkeeping_service.rb:111:in each' /opt/gitlab/embedded/service/gitlab-rails/ee/app/services/elastic/process_bookkeeping_service.rb:111:in each_indexed_association' /opt/gitlab/embedded/service/gitlab-rails/ee/app/services/elastic/process_bookkeeping_service.rb:101:in maintain_indexed_associations' /opt/gitlab/embedded/service/gitlab-rails/ee/app/services/elastic/process_initial_bookkeeping_service.rb:28:in block in backfill_projects!' /opt/gitlab/embedded/service/gitlab-rails/ee/app/services/elastic/process_initial_bookkeeping_service.rb:25:in each' /opt/gitlab/embedded/service/gitlab-rails/ee/app/services/elastic/process_initial_bookkeeping_service.rb:25:in backfill_projects!' /opt/gitlab/embedded/service/gitlab-rails/ee/lib/tasks/gitlab/elastic.rake:35:in block (4 levels) in <top (required)>' /opt/gitlab/embedded/service/gitlab-rails/ee/lib/tasks/gitlab/elastic.rake:219:in block in project_id_batches' /opt/gitlab/embedded/service/gitlab-rails/ee/lib/tasks/gitlab/elastic.rake:217:in project_id_batches' /opt/gitlab/embedded/service/gitlab-rails/ee/lib/tasks/gitlab/elastic.rake:34:in block (3 levels) in <top (required)>' /opt/gitlab/embedded/service/gitlab-rails/ee/lib/tasks/gitlab/elastic.rake:26:in block (3 levels) in <top (required)>' /opt/gitlab/embedded/bin/bundle:23:in load' /opt/gitlab/embedded/bin/bundle:23:in ' Tasks: TOP => gitlab:elastic:index_projects (See full trace by running task with --trace)

Edited by John McGuire