Sidekiq and Webservice deployments not using the configured Redis user
Summary
Sidekiq and Webservice pods are trying to communicate with Redis using the default user when the user is explicitly set to a different user using global.redis.user
configuration value.
The installation works, if both the default and the custom Redis users are enabled, and use the same password, or when the default Redis user is configured for GitLab to use.
Steps to reproduce
- Deploy a Redis instance with default user disabled, and create a different user with sufficient permissions for GitLab.
- Set
global.redis.user
to the previously created Redis user. - In the logs of Sidekiq and Webservice, we can observe that they are trying to connect to Redis via a connection url which does not include the custom user and the password as seen in the logs (in redis(s)://user:pw@url/port format)
Configuration used
global:
redis:
host: redis.gitlab.svc.cluster.local
user: redis-user
scheme: rediss
port: 6379/10
auth:
enabled: true
secret: gitlab-redis-secret
key: password
redis:
install: false
Current behavior
Sidekiq and Webservice pods connecting to Redis via default user.
Expected behavior
Sidekiq and Webservice pods connecting to Redis via only the configured user.
Versions
- Chart: 8.2.1
- Platform:
- Self-hosted: OpenShift
- Kubernetes: (
kubectl version
)- Client: v1.28.2
- Server: v1.21.14
- Helm: (
helm version
)- Client: v3.9.0
Relevant logs
Sidekiq log
{
"component": "gitlab",
"subcomponent": "exceptions_json",
"severity": "ERROR",
"time": "2024-07-31T12:32:02.683Z",
"meta.caller_id": "Cronjob",
"correlation_id": "ad49002804b5f0f9f65\n72108aec61bf6",
"meta.root_caller_id": "Cronjob",
"meta.feature_category": "groups_and_projects",
"exception.class": "RedisClient::CommandError",
"exception.message": "NOAUTH Authentication\n required. (rediss://redis.gitlab.svc.cluster.local:6379/10)",
"exception.backtrace": [
"redis-client (0.22.2) lib/redis_client/connection_mixin.rb:36:in `call'",
"redis-cl\nient (0.22.2) lib/redis_client.rb:294:in `block (2 levels) in call_v'",
"redis-client (0.22.2) lib/redis_client/middlewares.rb:16:in `call'",
"lib/gitlab/instrumentation/redis_client_\nmiddleware.rb:14:in `block in call'",
"lib/gitlab/instrumentation/redis_helper.rb:17:in `instrument_call'",
"lib/gitlab/instrumentation/redis_client_middleware.rb:13:in `call'",
"redis\n-client (0.22.2) lib/redis_client.rb:293:in `block in call_v'",
"redis-client (0.22.2) lib/redis_client.rb:699:in `ensure_connected'",
"lib/gitlab/patch/redis_client.rb:12:in `ensure_\nconnected'",
"redis-client (0.22.2) lib/redis_client.rb:292:in `call_v'",
"redis (5.2.0) lib/redis/client.rb:90:in `call_v'",
"redis (5.2.0) lib/redis.rb:152:in `block in send_command'\n",
"redis (5.2.0) lib/redis.rb:151:in `synchronize'",
"redis (5.2.0) lib/redis.rb:151:in `send_command'",
"redis (5.2.0) lib/redis/commands/strings.rb:95:in `set'",
"lib/gitlab/sidekiq_\nmiddleware/duplicate_jobs/duplicate_job.rb:62:in `block in check!'",
"lib/gitlab/redis/wrapper.rb:25:in `block in with'",
"connection_pool (2.4.1) lib/connection_pool.rb:110:in `block\n (2 levels) in with'",
"connection_pool (2.4.1) lib/connection_pool.rb:109:in `handle_interrupt'",
"connection_pool (2.4.1) lib/connection_pool.rb:109:in `block in with'",
"connection_\npool (2.4.1) lib/connection_pool.rb:106:in `handle_interrupt'",
"connection_pool (2.4.1) lib/connection_pool.rb:106:in `with'",
"lib/gitlab/redis/wrapper.rb:25:in `with'",
"lib/gitlab/\nsidekiq_middleware/duplicate_jobs/duplicate_job.rb:271:in `with_redis'",
"lib/gitlab/sidekiq_middleware/duplicate_jobs/duplicate_job.rb:62:in `check!'",
"lib/gitlab/sidekiq_middleware\n/duplicate_jobs/strategies/deduplicates_when_scheduling.rb:75:in `check!'",
"lib/gitlab/sidekiq_middleware/duplicate_jobs/strategies/deduplicates_when_scheduling.rb:35:in `block in d\neduplicate?'",
"lib/gitlab/sidekiq_middleware/duplicate_jobs/strategies/base.rb:45:in `with_dedup_lock'",
"lib/gitlab/sidekiq_middleware/duplicate_jobs/strategies/deduplicates_when_sc\nheduling.rb:34:in `deduplicate?'",
"lib/gitlab/sidekiq_middleware/duplicate_jobs/strategies/deduplicates_when_scheduling.rb:18:in `schedule'",
"lib/gitlab/sidekiq_middleware/duplicate\n_jobs/duplicate_job.rb:37:in `schedule'",
"lib/gitlab/sidekiq_middleware/duplicate_jobs/client.rb:8:in `call'",
"vendor/gems/sidekiq-7.1.6/lib/sidekiq/middleware/chain.rb:182:in `trav\nerse'",
"vendor/gems/sidekiq-7.1.6/lib/sidekiq/middleware/chain.rb:183:in `block in traverse'",
"lib/gitlab/sidekiq_middleware/concurrency_limit/middleware.rb:20:in `schedule'",
"lib/g\nitlab/sidekiq_middleware/concurrency_limit/client.rb:8:in `call'",
"vendor/gems/sidekiq-7.1.6/lib/sidekiq/middleware/chain.rb:182:in `traverse'",
"vendor/gems/sidekiq-7.1.6/lib/sideki\nq/middleware/chain.rb:183:in `block in traverse'",
"lib/gitlab/sidekiq_middleware/pause_control/strategies/base.rb:21:in `schedule'",
"lib/gitlab/sidekiq_middleware/pause_control/stra\ntegy_handler.rb:15:in `schedule'",
"lib/gitlab/sidekiq_middleware/pause_control/client.rb:8:in `call'",
"vendor/gems/sidekiq-7.1.6/lib/sidekiq/middleware/chain.rb:182:in `traverse'",
"\nvendor/gems/sidekiq-7.1.6/lib/sidekiq/middleware/chain.rb:183:in `block in traverse'",
"lib/gitlab/database/load_balancing/sidekiq_client_middleware.rb:23:in `call'",
"vendor/gems/sid\nekiq-7.1.6/lib/sidekiq/middleware/chain.rb:182:in `traverse'",
"vendor/gems/sidekiq-7.1.6/lib/sidekiq/middleware/chain.rb:183:in `block in traverse'",
"gitlab-labkit (0.36.1) lib/labk\nit/middleware/sidekiq/client.rb:21:in `block in call'",
"vendor/gems/sidekiq-7.1.6/lib/sidekiq/middleware/chain.rb:180:in `traverse'",
"vendor/gems/sidekiq-7.1.6/lib/sidekiq/middlewar\ne/chain.rb:183:in `block in traverse'",
"gitlab-labkit (0.36.1) lib/labkit/middleware/sidekiq/context/client.rb:23:in `block in call'",
"gitlab-labkit (0.36.1) lib/labkit/context.rb:3\n5:in `with_context'",
"gitlab-labkit (0.36.1) lib/labkit/middleware/sidekiq/context/client.rb:20:in `call'",
"vendor/gems/sidekiq-7.1.6/lib/sidekiq/middleware/chain.rb:182:in `travers\ne'",
"vendor/gems/sidekiq-7.1.6/lib/sidekiq/middleware/chain.rb:173:in `invoke'",
"gitlab-labkit (0.36.1) lib/labkit/middleware/sidekiq/client.rb:20:in `call'",
"vendor/gems/sidekiq-7.\n1.6/lib/sidekiq/middleware/chain.rb:182:in `traverse'",
"vendor/gems/sidekiq-7.1.6/lib/sidekiq/middleware/chain.rb:183:in `block in traverse'",
"lib/gitlab/application_context.rb:151:\nin `block in use'",
"gitlab-labkit (0.36.1) lib/labkit/context.rb:35:in `with_context'",
"lib/gitlab/application_context.rb:151:in `use'",
"lib/gitlab/application_context.rb:82:in `wit\nh_context'",
"lib/gitlab/sidekiq_middleware/worker_context/client.rb:36:in `block in call'",
"lib/gitlab/application_context.rb:151:in `block in use'",
"gitlab-labkit (0.36.1) lib/labk\nit/context.rb:35:in `with_context'",
"lib/gitlab/application_context.rb:151:in `use'",
"lib/gitlab/sidekiq_middleware/worker_context.rb:11:in `wrap_in_optional_context'",
"lib/gitlab/s\nidekiq_middleware/worker_context/client.rb:18:in `call'",
"vendor/gems/sidekiq-7.1.6/lib/sidekiq/middleware/chain.rb:182:in `traverse'",
"vendor/gems/sidekiq-7.1.6/lib/sidekiq/middlew\nare/chain.rb:183:in `block in traverse'",
"sentry-sidekiq (5.17.3) lib/sentry/sidekiq/sentry_context_middleware.rb:63:in `call'",
"vendor/gems/sidekiq-7.1.6/lib/sidekiq/middleware/cha\nin.rb:182:in `traverse'",
"vendor/gems/sidekiq-7.1.6/lib/sidekiq/middleware/chain.rb:173:in `invoke'",
"vendor/gems/sidekiq-7.1.6/lib/sidekiq/client.rb:88:in `push'",
"vendor/gems/side\nkiq-7.1.6/lib/sidekiq/job.rb:361:in `client_push'",
"vendor/gems/sidekiq-7.1.6/lib/sidekiq/job.rb:198:in `perform_async'",
"lib/gitlab/patch/sidekiq_job_setter.rb:16:in `block in perf\norm_async'",
"lib/gitlab/sidekiq_sharding/router.rb:29:in `block in route'",
"lib/gitlab/sidekiq_sharding/validator.rb:31:in `allow_unrouted_sidekiq_calls'",
"lib/gitlab/sidekiq_shardi\nng/router.rb:29:in `route'",
"lib/gitlab/patch/sidekiq_job_setter.rb:14:in `perform_async'",
"sidekiq-cron (1.12.0) lib/sidekiq/cron/job.rb:102:in `enqueue_sidekiq_worker'",
"sidekiq-c\nron (1.12.0) lib/sidekiq/cron/job.rb:67:in `enque!'",
"sidekiq-cron (1.12.0) lib/sidekiq/cron/job.rb:45:in `test_and_enque_for_time!'",
"sidekiq-cron (1.12.0) lib/sidekiq/cron/poller.\nrb:36:in `enqueue_job'",
"sidekiq-cron (1.12.0) lib/sidekiq/cron/poller.rb:23:in `block in enqueue'",
"sidekiq-cron (1.12.0) lib/sidekiq/cron/poller.rb:22:in `each'",
"sidekiq-cron (1.\n12.0) lib/sidekiq/cron/poller.rb:22:in `enqueue'",
"lib/gitlab/patch/sidekiq_poller.rb:9:in `block (2 levels) in enqueue'",
"gems/gitlab-safe_request_store/lib/gitlab/safe_request_sto\nre.rb:66:in `enabling_request_store'",
"gems/gitlab-safe_request_store/lib/gitlab/safe_request_store.rb:59:in `ensure_request_store'",
"lib/gitlab/patch/sidekiq_poller.rb:8:in `block\nin enqueue'",
"activesupport (7.0.8.4) lib/active_support/execution_wrapper.rb:92:in `wrap'",
"activesupport (7.0.8.4) lib/active_support/reloader.rb:72:in `block in wrap'",
"activesup\nport (7.0.8.4) lib/active_support/execution_wrapper.rb:92:in `wrap'",
"activesupport (7.0.8.4) lib/active_support/reloader.rb:71:in `wrap'",
"lib/gitlab/patch/sidekiq_poller.rb:7:in `\nenqueue'",
"vendor/gems/sidekiq-7.1.6/lib/sidekiq/scheduled.rb:99:in `block in start'",
"vendor/gems/sidekiq-7.1.6/lib/sidekiq/component.rb:10:in `watchdog'",
"vendor/gems/sidekiq-7.1.\n6/lib/sidekiq/component.rb:19:in `block in safe_thread'"
],
"user.username": null,
"tags.program": "sidekiq",
"tags.locale": "en",
"tags.feature_category": "groups_and_projects",
"tags.correl\nation_id": "ad49002804b5f0f9f6572108aec61bf6",
"extra.storage": "queues_metadata",
"extra.storage_shard": "default"
}
Webservice log
{
"component": "gitlab",
"subcomponent": "exceptions_json",
"severity": "ERROR",
"time": "2024-07-31T12:34:55.194Z",
"correlation_id": "a0ec3663-9aaa-4c91-8e22-580de8581a6b",
"exception.class": "RedisClient::Com\n mandError",
"exception.message": "NOAUTH Authentication required. (rediss://redis.gitlab.svc.cluster.local:6379/10)",
"exception.backtrace": [
"redis-client (0.22.2) lib/redis_client/connection_mixin.rb:\n 36:in `call'",
"redis-client (0.22.2) lib/redis_client.rb:294:in `block (2 levels) in call_v'",
"redis-client (0.22.2) lib/redis_client/middlewares.rb:16:in `call'",
"lib/gitlab/instrumentation/redis_client_middlew\n are.rb:14:in `block in call'",
"lib/gitlab/instrumentation/redis_helper.rb:17:in `instrument_call'",
"lib/gitlab/instrumentation/redis_client_middleware.rb:13:in `call'",
"redis-client (0.22.2) lib/redis_client.rb:\n 293:in `block in call_v'",
"redis-client (0.22.2) lib/redis_client.rb:699:in `ensure_connected'",
"lib/gitlab/patch/redis_client.rb:12:in `ensure_connected'",
"redis-client (0.22.2) lib/redis_client.rb:292:in `call\n _v'",
"redis (5.2.0) lib/redis/client.rb:90:in `call_v'",
"redis (5.2.0) lib/redis.rb:152:in `block in send_command'",
"redis (5.2.0) lib/redis.rb:151:in `synchronize'",
"redis (5.2.0) lib/redis.rb:151:in `send_comm\n and'",
"redis (5.2.0) lib/redis/commands/strings.rb:97:in `set'",
"activesupport (7.0.8.4) lib/active_support/cache/redis_cache_store.rb:392:in `block (2 levels) in write_serialized_entry'",
"connection_pool (2.4.1\n ) lib/connection_pool.rb:110:in `block (2 levels) in with'",
"connection_pool (2.4.1) lib/connection_pool.rb:109:in `handle_interrupt'",
"connection_pool (2.4.1) lib/connection_pool.rb:109:in `block in with'",
"con\n nection_pool (2.4.1) lib/connection_pool.rb:106:in `handle_interrupt'",
"connection_pool (2.4.1) lib/connection_pool.rb:106:in `with'",
"activesupport (7.0.8.4) lib/active_support/cache/redis_cache_store.rb:392:in\n `block in write_serialized_entry'",
"activesupport (7.0.8.4) lib/active_support/cache/redis_cache_store.rb:468:in `failsafe'",
"activesupport (7.0.8.4) lib/active_support/cache/redis_cache_store.rb:391:in `write_\n serialized_entry'",
"activesupport (7.0.8.4) lib/active_support/cache/strategy/local_cache.rb:139:in `write_serialized_entry'",
"activesupport (7.0.8.4) lib/active_support/cache/redis_cache_store.rb:374:in `write_\n entry'",
"activesupport (7.0.8.4) lib/active_support/cache.rb:507:in `block in write'",
"activesupport (7.0.8.4) lib/active_support/cache.rb:783:in `block in instrument'",
"activesupport (7.0.8.4) lib/active_suppor\n t/notifications.rb:206:in `block in instrument'",
"activesupport (7.0.8.4) lib/active_support/notifications/instrumenter.rb:24:in `instrument'",
"activesupport (7.0.8.4) lib/active_support/notifications.rb:206:in\n `instrument'",
"activesupport (7.0.8.4) lib/active_support/cache.rb:783:in `instrument'",
"activesupport (7.0.8.4) lib/active_support/cache.rb:505:in `write'",
"activesupport (7.0.8.4) lib/active_support/cache.rb:8\n 12:in `save_block_result_to_cache'",
"activesupport (7.0.8.4) lib/active_support/cache.rb:338:in `fetch'",
"flipper-active_support_cache_store (0.26.2) lib/flipper/adapters/active_support_cache_store.rb:72:in `get\n '",
"flipper-active_support_cache_store (0.26.2) lib/flipper/adapters/active_support_cache_store.rb:73:in `block in get'",
"activesupport (7.0.8.4) lib/active_support/cache.rb:809:in `block in save_block_result_to\n _cache'",
"activesupport (7.0.8.4) lib/active_support/cache.rb:783:in `block in instrument'",
"activesupport (7.0.8.4) lib/active_support/notifications.rb:206:in `block in instrument'",
"activesupport (7.0.8.4) lib\n /active_support/notifications/instrumenter.rb:24:in `instrument'",
"activesupport (7.0.8.4) lib/active_support/notifications.rb:206:in `instrument'",
"activesupport (7.0.8.4) lib/active_support/cache.rb:783:in `in\n strument'",
"activesupport (7.0.8.4) lib/active_support/cache.rb:808:in `save_block_result_to_cache'",
"activesupport (7.0.8.4) lib/active_support/cache.rb:338:in `fetch'",
"flipper-active_support_cache_store (0.26\n .2) lib/flipper/adapters/active_support_cache_store.rb:72:in `get'",
"flipper (0.26.2) lib/flipper/adapters/memoizable.rb:67:in `block in get'",
"flipper (0.26.2) lib/flipper/adapters/memoizable.rb:67:in `fetch'",
"flipper (0.26.2) lib/flipper/adapters/memoizable.rb:67:in `get'",
"flipper (0.26.2) lib/flipper/feature.rb:234:in `gate_values'",
"flipper (0.26.2) lib/flipper/feature.rb:108:in `block in enabled?'",
"flipper (0.2\n 6.2) lib/flipper/feature.rb:379:in `block in instrument'",
"flipper (0.26.2) lib/flipper/instrumenters/noop.rb:5:in `instrument'",
"flipper (0.26.2) lib/flipper/feature.rb:376:in `instrument'",
"flipper (0.26.2) li\n b/flipper/feature.rb:105:in `enabled?'",
"lib/feature.rb:323:in `block in current_feature_value'",
"lib/feature.rb:338:in `with_feature'",
"lib/feature.rb:319:in `current_feature_value'",
"lib/feature.rb:130:in `ena\n bled?'",
"lib/feature.rb:145:in `disabled?'",
"lib/gitlab/lograge/custom_options.rb:39:in `call'",
"lograge (0.11.2) lib/lograge.rb:37:in `custom_options'",
"lograge (0.11.2) lib/lograge/log_subscribers/base.rb:61:i\n n `custom_options'",
"lograge (0.11.2) lib/lograge/log_subscribers/base.rb:32:in `extract_request'",
"lograge (0.11.2) lib/lograge/log_subscribers/base.rb:20:in `process_main_event'",
"lograge (0.11.2) lib/lograge/\n log_subscribers/action_controller.rb:5:in `process_action'",
"activesupport (7.0.8.4) lib/active_support/subscriber.rb:149:in `finish'",
"activesupport (7.0.8.4) lib/active_support/log_subscriber.rb:115:in `finish\n '",
"activesupport (7.0.8.4) lib/active_support/notifications/fanout.rb:211:in `finish'",
"activesupport (7.0.8.4) lib/active_support/notifications/fanout.rb:76:in `block in finish'",
"activesupport (7.0.8.4) lib/a\n ctive_support/notifications/fanout.rb:91:in `block in iterate_guarding_exceptions'",
"activesupport (7.0.8.4) lib/active_support/notifications/fanout.rb:90:in `each'",
"activesupport (7.0.8.4) lib/active_support/n\n otifications/fanout.rb:90:in `iterate_guarding_exceptions'",
"activesupport (7.0.8.4) lib/active_support/notifications/fanout.rb:76:in `finish'",
"activesupport (7.0.8.4) lib/active_support/notifications/instrumen\n ter.rb:49:in `finish_with_state'",
"activesupport (7.0.8.4) lib/active_support/notifications/instrumenter.rb:30:in `instrument'",
"activesupport (7.0.8.4) lib/active_support/notifications.rb:206:in `instrument'",
"\n actionpack (7.0.8.4) lib/action_controller/metal/instrumentation.rb:66:in `process_action'",
"actionpack (7.0.8.4) lib/action_controller/metal/params_wrapper.rb:259:in `process_action'",
"activerecord (7.0.8.4) li\n b/active_record/railties/controller_runtime.rb:27:in `process_action'",
"actionpack (7.0.8.4) lib/abstract_controller/base.rb:151:in `process'",
"actionview (7.0.8.4) lib/action_view/rendering.rb:39:in `process'",
"actionpack (7.0.8.4) lib/action_controller/metal.rb:188:in `dispatch'",
"actionpack (7.0.8.4) lib/action_controller/metal.rb:251:in `dispatch'",
"actionpack (7.0.8.4) lib/action_dispatch/routing/route_set.rb:49:i\n n `dispatch'",
"actionpack (7.0.8.4) lib/action_dispatch/routing/route_set.rb:32:in `serve'",
"actionpack (7.0.8.4) lib/action_dispatch/journey/router.rb:50:in `block in serve'",
"actionpack (7.0.8.4) lib/action_di\n spatch/journey/router.rb:32:in `each'",
"actionpack (7.0.8.4) lib/action_dispatch/journey/router.rb:32:in `serve'",
"actionpack (7.0.8.4) lib/action_dispatch/routing/route_set.rb:852:in `call'",
"gitlab-experiment\n (0.9.1) lib/gitlab/experiment/middleware.rb:19:in `call'",
"omniauth (2.1.0) lib/omniauth/strategy.rb:470:in `call_app!'",
"omniauth_openid_connect (0.6.1) lib/omniauth/strategies/openid_connect.rb:155:in `other_p\n hase'",
"omniauth (2.1.0) lib/omniauth/strategy.rb:195:in `call!'",
"omniauth (2.1.0) lib/omniauth/strategy.rb:169:in `call'",
"flipper (0.26.2) lib/flipper/middleware/memoizer.rb:72:in `memoized_call'",
"flipper (0\n .26.2) lib/flipper/middleware/memoizer.rb:37:in `call'",
"lib/gitlab/middleware/sidekiq_shard_awareness_validation.rb:20:in `block in call'",
"lib/gitlab/sidekiq_sharding/validator.rb:42:in `enabled'",
"lib/gitlab/\n middleware/sidekiq_shard_awareness_validation.rb:20:in `call'",
"lib/gitlab/middleware/memory_report.rb:13:in `call'",
"lib/gitlab/middleware/speedscope.rb:13:in `call'",
"lib/gitlab/database/load_balancing/rack_mi\n ddleware.rb:23:in `call'",
"lib/gitlab/middleware/go.rb:24:in `call'",
"lib/gitlab/etag_caching/middleware.rb:21:in `call'",
"lib/gitlab/middleware/query_analyzer.rb:11:in `block in call'",
"lib/gitlab/database/quer\n y_analyzer.rb:40:in `within'",
"lib/gitlab/middleware/query_analyzer.rb:11:in `call'",
"lib/gitlab/middleware/organizations/current.rb:20:in `call'",
"batch-loader (2.0.5) lib/batch_loader/middleware.rb:11:in `call\n '",
"rack-attack (6.7.0) lib/rack/attack.rb:103:in `call'",
"apollo_upload_server (2.1.6) lib/apollo_upload_server/middleware.rb:19:in `call'",
"lib/gitlab/middleware/multipart.rb:173:in `call'",
"rack-attack (6.7.0\n ) lib/rack/attack.rb:127:in `call'",
"warden (1.2.9) lib/warden/manager.rb:36:in `block in call'",
"warden (1.2.9) lib/warden/manager.rb:34:in `catch'",
"warden (1.2.9) lib/warden/manager.rb:34:in `call'",
"rack-cor\n s (2.0.2) lib/rack/cors.rb:102:in `call'",
"rack (2.2.9) lib/rack/tempfile_reaper.rb:15:in `call'",
"rack (2.2.9) lib/rack/etag.rb:27:in `call'",
"rack (2.2.9) lib/rack/conditional_get.rb:27:in `call'",
"rack (2.2.9\n ) lib/rack/head.rb:12:in `call'",
"actionpack (7.0.8.4) lib/action_dispatch/http/permissions_policy.rb:38:in `call'",
"actionpack (7.0.8.4) lib/action_dispatch/http/content_security_policy.rb:36:in `call'",
"lib/gi\n tlab/middleware/read_only/controller.rb:50:in `call'",
"lib/gitlab/middleware/read_only.rb:18:in `call'",
"lib/gitlab/middleware/unauthenticated_session_expiry.rb:18:in `call'",
"rack (2.2.9) lib/rack/session/abstr\n act/id.rb:266:in `context'",
"rack (2.2.9) lib/rack/session/abstract/id.rb:260:in `call'",
"actionpack (7.0.8.4) lib/action_dispatch/middleware/cookies.rb:704:in `call'",
"lib/gitlab/middleware/same_site_cookies.rb\n :27:in `call'",
"actionpack (7.0.8.4) lib/action_dispatch/middleware/callbacks.rb:27:in `block in call'",
"activesupport (7.0.8.4) lib/active_support/callbacks.rb:99:in `run_callbacks'",
"actionpack (7.0.8.4) lib/a\n ction_dispatch/middleware/callbacks.rb:26:in `call'",
"sentry-rails (5.17.3) lib/sentry/rails/rescued_exception_interceptor.rb:12:in `call'",
"actionpack (7.0.8.4) lib/action_dispatch/middleware/debug_exceptions.r\n b:28:in `call'",
"lib/gitlab/middleware/path_traversal_check.rb:27:in `call'",
"lib/gitlab/middleware/handle_malformed_strings.rb:21:in `call'",
"sentry-ruby (5.17.3) lib/sentry/rack/capture_exceptions.rb:29:in `bl\n ock (2 levels) in call'",
"sentry-ruby (5.17.3) lib/sentry/hub.rb:251:in `with_session_tracking'",
"sentry-ruby (5.17.3) lib/sentry-ruby.rb:403:in `with_session_tracking'",
"sentry-ruby (5.17.3) lib/sentry/rack/cap\n ture_exceptions.rb:20:in `block in call'",
"sentry-ruby (5.17.3) lib/sentry/hub.rb:59:in `with_scope'",
"sentry-ruby (5.17.3) lib/sentry-ruby.rb:383:in `with_scope'",
"sentry-ruby (5.17.3) lib/sentry/rack/capture_e\n xceptions.rb:19:in `call'",
"actionpack (7.0.8.4) lib/action_dispatch/middleware/show_exceptions.rb:29:in `call'",
"lib/gitlab/middleware/basic_health_check.rb:25:in `call'",
"lograge (0.11.2) lib/lograge/rails_ext\n /rack/logger.rb:15:in `call_app'",
"railties (7.0.8.4) lib/rails/rack/logger.rb:25:in `block in call'",
"activesupport (7.0.8.4) lib/active_support/tagged_logging.rb:99:in `block in tagged'",
"activesupport (7.0.8.\n 4) lib/active_support/tagged_logging.rb:37:in `tagged'",
"activesupport (7.0.8.4) lib/active_support/tagged_logging.rb:99:in `tagged'",
"railties (7.0.8.4) lib/rails/rack/logger.rb:25:in `call'",
"actionpack (7.0.8\n .4) lib/action_dispatch/middleware/remote_ip.rb:93:in `call'",
"lib/gitlab/middleware/handle_ip_spoof_attack_error.rb:25:in `call'",
"lib/gitlab/middleware/request_context.rb:15:in `call'",
"lib/gitlab/middleware/w\n ebhook_recursion_detection.rb:15:in `call'",
"request_store (1.5.1) lib/request_store/middleware.rb:19:in `call'",
"rack (2.2.9) lib/rack/method_override.rb:24:in `call'",
"rack (2.2.9) lib/rack/runtime.rb:22:in `c\n all'",
"rack-timeout (0.7.0) lib/rack/timeout/core.rb:154:in `block in call'",
"rack-timeout (0.7.0) lib/rack/timeout/support/timeout.rb:19:in `timeout'",
"rack-timeout (0.7.0) lib/rack/timeout/core.rb:153:in `call\n '",
"config/initializers/fix_local_cache_middleware.rb:11:in `call'",
"lib/gitlab/middleware/compressed_json.rb:44:in `call'",
"actionpack (7.0.8.4) lib/action_dispatch/middleware/executor.rb:14:in `call'",
"lib/git\n lab/middleware/rack_multipart_tempfile_factory.rb:19:in `call'",
"rack (2.2.9) lib/rack/sendfile.rb:110:in `call'",
"lib/gitlab/middleware/sidekiq_web_static.rb:20:in `call'",
"lib/gitlab/metrics/requests_rack_midd\n leware.rb:79:in `call'",
"gitlab-labkit (0.36.1) lib/labkit/middleware/rack.rb:22:in `block in call'",
"gitlab-labkit (0.36.1) lib/labkit/context.rb:35:in `with_context'",
"gitlab-labkit (0.36.1) lib/labkit/middlew\n are/rack.rb:21:in `call'",
"actionpack (7.0.8.4) lib/action_dispatch/middleware/request_id.rb:26:in `call'",
"actionpack (7.0.8.4) lib/action_dispatch/middleware/host_authorization.rb:131:in `call'",
"railties (7.0\n .8.4) lib/rails/engine.rb:530:in `call'",
"railties (7.0.8.4) lib/rails/railtie.rb:226:in `public_send'",
"railties (7.0.8.4) lib/rails/railtie.rb:226:in `method_missing'",
"lib/gitlab/middleware/release_env.rb:13:\n in `call'",
"rack (2.2.9) lib/rack/urlmap.rb:74:in `block in call'",
"rack (2.2.9) lib/rack/urlmap.rb:58:in `each'",
"rack (2.2.9) lib/rack/urlmap.rb:58:in `call'",
"puma (6.4.0) lib/puma/configuration.rb:272:in `ca\n ll'",
"puma (6.4.0) lib/puma/request.rb:100:in `block in handle_request'",
"puma (6.4.0) lib/puma/thread_pool.rb:378:in `with_force_shutdown'",
"puma (6.4.0) lib/puma/request.rb:99:in `handle_request'",
"puma (6.4.0\n ) lib/puma/server.rb:443:in `process_client'",
"puma (6.4.0) lib/puma/server.rb:241:in `block in run'",
"puma (6.4.0) lib/puma/thread_pool.rb:155:in `block in spawn_thread'"
],
"user.username": null,
"tags.program": "w\n eb",
"tags.locale": "en",
"tags.feature_category": null,
"tags.correlation_id": "a0ec3663-9aaa-4c91-8e22-580de8581a6b",
"extra.storage": "feature_flag",
"extra.storage_shard": "default"
}