ArgumentError: negative array size in Geo scheduler workers

Sentry: https://sentry.gitlap.com/gitlab/geo1/issues/113945/

ArgumentError: negative array size
  from app/workers/geo/base_scheduler_worker.rb:127:in `shift'
  from app/workers/geo/base_scheduler_worker.rb:127:in `schedule_jobs'
  from app/workers/geo/base_scheduler_worker.rb:51:in `block (2 levels) in perform'
  from app/workers/geo/base_scheduler_worker.rb:39:in `loop'
  from app/workers/geo/base_scheduler_worker.rb:39:in `block in perform'
  from exclusive_lease_guard.rb:22:in `try_obtain_lease'
  from app/workers/geo/base_scheduler_worker.rb:34:in `perform'
  from app/workers/geo/repository_shard_sync_worker.rb:14:in `perform'
  from sidekiq/processor.rb:199:in `execute_job'
  from sidekiq/processor.rb:170:in `block (2 levels) in process'
  from sidekiq/middleware/chain.rb:128:in `block in invoke'
  from lib/gitlab/sidekiq_status/server_middleware.rb:5:in `call'
  from sidekiq/middleware/chain.rb:130:in `block in invoke'
  from lib/gitlab/sidekiq_middleware/request_store_middleware.rb:6:in `call'
  from sidekiq/middleware/chain.rb:130:in `block in invoke'
  from lib/gitlab/sidekiq_middleware/memory_killer.rb:16:in `call'
  from sidekiq/middleware/chain.rb:130:in `block in invoke'
  from lib/gitlab/sidekiq_middleware/arguments_logger.rb:6:in `call'
  from sidekiq/middleware/chain.rb:130:in `block in invoke'
  from lib/gitlab/metrics/sidekiq_middleware.rb:13:in `block in call'
  from lib/gitlab/metrics/transaction.rb:48:in `run'
  from lib/gitlab/metrics/sidekiq_middleware.rb:13:in `call'
  from sidekiq/middleware/chain.rb:130:in `block in invoke'
  from sidekiq/middleware/server/active_record.rb:15:in `call'
  from sidekiq/middleware/chain.rb:130:in `block in invoke'
  from raven/integrations/sidekiq.rb:7:in `call'
  from sidekiq/middleware/chain.rb:130:in `block in invoke'
  from sidekiq/middleware/chain.rb:133:in `invoke'
  from sidekiq/processor.rb:169:in `block in process'
  from sidekiq/processor.rb:141:in `block (6 levels) in dispatch'
  from sidekiq/job_retry.rb:97:in `local'
  from sidekiq/processor.rb:140:in `block (5 levels) in dispatch'
  from sidekiq.rb:36:in `block in <module:Sidekiq>'
  from sidekiq/processor.rb:136:in `block (4 levels) in dispatch'
  from sidekiq/processor.rb:215:in `stats'
  from sidekiq/processor.rb:131:in `block (3 levels) in dispatch'
  from sidekiq/job_logger.rb:7:in `call'
  from sidekiq/processor.rb:130:in `block (2 levels) in dispatch'
  from sidekiq/job_retry.rb:72:in `global'
  from sidekiq/processor.rb:129:in `block in dispatch'
  from sidekiq/logging.rb:44:in `with_context'
  from sidekiq/logging.rb:38:in `with_job_hash_context'
  from sidekiq/processor.rb:128:in `dispatch'
  from sidekiq/processor.rb:168:in `process'
  from sidekiq/processor.rb:85:in `process_one'
  from sidekiq/processor.rb:73:in `run'
  from sidekiq/util.rb:16:in `watchdog'
  from sidekiq/util.rb:25:in `block in safe_thread'
Assignee Loading
Time tracking Loading