ElasticIndexBulkCronWorker - undefined method `elastic_namespace_ancestry' for nil:NilClass
Summary
seeing errors in Kibana: exception message: undefined method
elastic_namespace_ancestry' for nil:NilClass`
backtrace
ee/app/models/ee/project.rb:768:in `elastic_namespace_ancestry', ee/app/models/ee/user.rb:243:in `block in search_membership_ancestry', ee/app/models/ee/user.rb:242:in `flat_map', ee/app/models/ee/user.rb:242:in `search_membership_ancestry', ee/lib/elastic/latest/user_instance_proxy.rb:34:in `as_indexed_json', ee/lib/elastic/multi_version_util.rb:76:in `as_indexed_json', ee/lib/gitlab/elastic/bulk_indexer.rb:64:in `index', ee/lib/gitlab/elastic/bulk_indexer.rb:39:in `process', ee/app/services/elastic/process_bookkeeping_service.rb:243:in `submit_document', ee/app/services/elastic/process_bookkeeping_service.rb:165:in `block in execute_with_redis', ee/lib/gitlab/elastic/document_reference.rb:29:in `each', ee/lib/gitlab/elastic/document_reference.rb:29:in `each', ee/app/services/elastic/process_bookkeeping_service.rb:164:in `execute_with_redis', ee/app/services/elastic/process_bookkeeping_service.rb:126:in `block in execute', lib/gitlab/redis/wrapper.rb:23:in `block in with', lib/gitlab/redis/wrapper.rb:23:in `with', ee/app/services/elastic/process_bookkeeping_service.rb:97:in `with_redis', ee/app/services/elastic/process_bookkeeping_service.rb:126:in `execute', ee/app/workers/concerns/elastic/bulk_cron_worker.rb:24:in `block in perform', lib/gitlab/exclusive_lease_helpers.rb:38:in `in_lock', ee/app/workers/concerns/elastic/bulk_cron_worker.rb:23:in `perform', lib/gitlab/database/load_balancing/sidekiq_server_middleware.rb:26:in `call', lib/gitlab/sidekiq_middleware/duplicate_jobs/strategies/until_executing.rb:16:in `perform', lib/gitlab/sidekiq_middleware/duplicate_jobs/duplicate_job.rb:44:in `perform', lib/gitlab/sidekiq_middleware/duplicate_jobs/server.rb:8:in `call', lib/gitlab/application_context.rb:115:in `block in use', lib/gitlab/application_context.rb:115:in `use', lib/gitlab/sidekiq_middleware/worker_context.rb:11:in `wrap_in_optional_context', lib/gitlab/sidekiq_middleware/worker_context/server.rb:19:in `block in call', lib/gitlab/application_context.rb:115:in `block in use', lib/gitlab/application_context.rb:115:in `use', lib/gitlab/application_context.rb:55:in `with_context', lib/gitlab/sidekiq_middleware/worker_context/server.rb:17:in `call', lib/gitlab/sidekiq_status/server_middleware.rb:7:in `call', lib/gitlab/sidekiq_versioning/middleware.rb:9:in `call', lib/gitlab/sidekiq_middleware/query_analyzer.rb:7:in `block in call', lib/gitlab/database/query_analyzer.rb:37:in `within', lib/gitlab/sidekiq_middleware/query_analyzer.rb:7:in `call', lib/gitlab/sidekiq_middleware/admin_mode/server.rb:14:in `call', lib/gitlab/sidekiq_middleware/instrumentation_logger.rb:9:in `call', lib/gitlab/sidekiq_middleware/batch_loader.rb:7:in `call', lib/gitlab/sidekiq_middleware/extra_done_log_metadata.rb:7:in `call', lib/gitlab/sidekiq_middleware/request_store_middleware.rb:10:in `block in call', lib/gitlab/with_request_store.rb:17:in `enabling_request_store', lib/gitlab/with_request_store.rb:10:in `with_request_store', lib/gitlab/sidekiq_middleware/request_store_middleware.rb:9:in `call', lib/gitlab/sidekiq_middleware/server_metrics.rb:76:in `block in call', lib/gitlab/sidekiq_middleware/server_metrics.rb:103:in `block in instrument', lib/gitlab/metrics/background_transaction.rb:33:in `run', lib/gitlab/sidekiq_middleware/server_metrics.rb:103:in `instrument', lib/gitlab/sidekiq_middleware/server_metrics.rb:75:in `call', lib/gitlab/sidekiq_middleware/monitor.rb:10:in `block in call', lib/gitlab/sidekiq_daemon/monitor.rb:49:in `within_job', lib/gitlab/sidekiq_middleware/monitor.rb:9:in `call', lib/gitlab/sidekiq_middleware/size_limiter/server.rb:13:in `call', lib/gitlab/sidekiq_logging/structured_logger.rb:21:in `call'
Steps to reproduce
Not sure yet
What is the current bug behavior?
the indexing process is throwing an error when trying to get the elastic_namespace_ancestry
field on a nil namespace
What is the expected correct behavior?
the indexing process should handle the situation and not throw a nomethod error
Possible fixes
line of code where the error is occurring: https://gitlab.com/gitlab-org/gitlab/-/blob/master/ee/lib/elastic/latest/application_instance_proxy.rb#L22