openSUSE / open-build-service

Build and distribute Linux packages from sources in an automatic, consistent and reproducible way #obs
https://openbuildservice.org
GNU General Public License v2.0
936 stars 440 forks source link

[production][delayed_job#BsRequestCleanTasksCacheJob] Couldn't find User with login = $USER #16865

Open eduardoj opened 1 month ago

eduardoj commented 1 month ago

See this exception on Errbit

Couldn't find User with login = $USER

Summary

Where

delayed_job#BsRequestCleanTasksCacheJob

Occured

Aug 19 12:48pm

Similar

37

Params

{
  "active_job" => {
    "arguments" => [2338260],
    "enqueued_at" => "2024-08-19T12:48:06Z",
    "exception_executions" => {},
    "executions" => 0,
    "job_class" => "BsRequestCleanTasksCacheJob",
    "job_id" => "0b5409a4-c6ef-405b-8618-61441ddd95a2",
    "locale" => "en",
    "priority" => nil,
    "provider_job_id" => nil,
    "queue_name" => "default",
    "timezone" => "UTC"
  },
  "attempts" => 0,
  "failed_at" => nil,
  "handler" => "--- !ruby/object:ActiveJob::QueueAdapters::DelayedJobAdapter::JobWrapper\njob_data:\n  job_class: BsRequestCleanTasksCacheJob\n  job_id: 0b5409a4-c6ef-405b-8618-61441ddd95a2\n  provider_job_id: \n  queue_name: default\n  priority: \n  arguments:\n  - 2338260\n  executions: 0\n  exception_executions: {}\n  locale: en\n  timezone: UTC\n  enqueued_at: '2024-08-19T12:48:06Z'\n",
  "id" => 1575696693,
  "last_error" => nil,
  "locked_at" => "2024-08-19T12:48:10.000Z",
  "locked_by" => "delayed_job.1030 host:api pid:19099",
  "priority" => 0,
  "queue" => "default",
  "run_at" => "2024-08-19T12:48:06.000Z"
}

Session

{}

Backtrace

237:  app/models/user.rb -> **find_by_login!**
18:  app/jobs/bs_request_clean_tasks_cache_job.rb -> **perform**
65:  /GEM_ROOT/gems/activejob-7.0.8.1/lib/active_job/execution.rb -> **block in _perform_job**
118:  /GEM_ROOT/gems/activesupport-7.0.8.1/lib/active_support/callbacks.rb -> **block in run_callbacks**
351:  /GEM_ROOT/gems/i18n-1.14.5/lib/i18n.rb -> **with_locale**
9:  /GEM_ROOT/gems/activejob-7.0.8.1/lib/active_job/translation.rb -> **block (2 levels) in <module:Translation>**
127:  /GEM_ROOT/gems/activesupport-7.0.8.1/lib/active_support/callbacks.rb -> **instance_exec**
127:  /GEM_ROOT/gems/activesupport-7.0.8.1/lib/active_support/callbacks.rb -> **block in run_callbacks**
65:  /GEM_ROOT/gems/activesupport-7.0.8.1/lib/active_support/core_ext/time/zones.rb -> **use_zone**
9:  /GEM_ROOT/gems/activejob-7.0.8.1/lib/active_job/timezones.rb -> **block (2 levels) in <module:Timezones>**
127:  /GEM_ROOT/gems/activesupport-7.0.8.1/lib/active_support/callbacks.rb -> **instance_exec**
127:  /GEM_ROOT/gems/activesupport-7.0.8.1/lib/active_support/callbacks.rb -> **block in run_callbacks**
138:  /GEM_ROOT/gems/activesupport-7.0.8.1/lib/active_support/callbacks.rb -> **run_callbacks**
64:  /GEM_ROOT/gems/activejob-7.0.8.1/lib/active_job/execution.rb -> **_perform_job**
20:  /GEM_ROOT/gems/activejob-7.0.8.1/lib/active_job/instrumentation.rb -> **_perform_job**
52:  /GEM_ROOT/gems/activejob-7.0.8.1/lib/active_job/execution.rb -> **perform_now**
14:  /GEM_ROOT/gems/activejob-7.0.8.1/lib/active_job/instrumentation.rb -> **block in perform_now**
25:  /GEM_ROOT/gems/activejob-7.0.8.1/lib/active_job/instrumentation.rb -> **block in instrument**
206:  /GEM_ROOT/gems/activesupport-7.0.8.1/lib/active_support/notifications.rb -> **block in instrument**
24:  /GEM_ROOT/gems/activesupport-7.0.8.1/lib/active_support/notifications/instrumenter.rb -> **instrument**
206:  /GEM_ROOT/gems/activesupport-7.0.8.1/lib/active_support/notifications.rb -> **instrument**
35:  /GEM_ROOT/gems/activejob-7.0.8.1/lib/active_job/instrumentation.rb -> **instrument**
14:  /GEM_ROOT/gems/activejob-7.0.8.1/lib/active_job/instrumentation.rb -> **perform_now**
18:  /GEM_ROOT/gems/activejob-7.0.8.1/lib/active_job/logging.rb -> **block in perform_now**
99:  /GEM_ROOT/gems/activesupport-7.0.8.1/lib/active_support/tagged_logging.rb -> **block in tagged**
37:  /GEM_ROOT/gems/activesupport-7.0.8.1/lib/active_support/tagged_logging.rb -> **tagged**
99:  /GEM_ROOT/gems/activesupport-7.0.8.1/lib/active_support/tagged_logging.rb -> **tagged**
25:  /GEM_ROOT/gems/activejob-7.0.8.1/lib/active_job/logging.rb -> **tag_logger**
18:  /GEM_ROOT/gems/activejob-7.0.8.1/lib/active_job/logging.rb -> **perform_now**
30:  /GEM_ROOT/gems/activejob-7.0.8.1/lib/active_job/execution.rb -> **block in execute**
118:  /GEM_ROOT/gems/activesupport-7.0.8.1/lib/active_support/callbacks.rb -> **block in run_callbacks**
54:  /GEM_ROOT/gems/activejob-7.0.8.1/lib/active_job/railtie.rb -> **block (4 levels) in <class:Railtie>**
92:  /GEM_ROOT/gems/activesupport-7.0.8.1/lib/active_support/execution_wrapper.rb -> **wrap**
72:  /GEM_ROOT/gems/activesupport-7.0.8.1/lib/active_support/reloader.rb -> **block in wrap**
92:  /GEM_ROOT/gems/activesupport-7.0.8.1/lib/active_support/execution_wrapper.rb -> **wrap**
71:  /GEM_ROOT/gems/activesupport-7.0.8.1/lib/active_support/reloader.rb -> **wrap**
53:  /GEM_ROOT/gems/activejob-7.0.8.1/lib/active_job/railtie.rb -> **block (3 levels) in <class:Railtie>**
127:  /GEM_ROOT/gems/activesupport-7.0.8.1/lib/active_support/callbacks.rb -> **instance_exec**
127:  /GEM_ROOT/gems/activesupport-7.0.8.1/lib/active_support/callbacks.rb -> **block in run_callbacks**
138:  /GEM_ROOT/gems/activesupport-7.0.8.1/lib/active_support/callbacks.rb -> **run_callbacks**
28:  /GEM_ROOT/gems/activejob-7.0.8.1/lib/active_job/execution.rb -> **execute**
47:  /GEM_ROOT/gems/activejob-7.0.8.1/lib/active_job/queue_adapters/delayed_job_adapter.rb -> **perform**
81:  /GEM_ROOT/gems/delayed_job-4.1.12/lib/delayed/backend/base.rb -> **block in invoke_job**
10:  /GEM_ROOT/gems/airbrake-9.4.3/lib/airbrake/delayed_job.rb -> **block (2 levels) in <class:Airbrake>**
79:  /GEM_ROOT/gems/delayed_job-4.1.12/lib/delayed/lifecycle.rb -> **block (2 levels) in add**
61:  /GEM_ROOT/gems/delayed_job-4.1.12/lib/delayed/lifecycle.rb -> **block in initialize**
79:  /GEM_ROOT/gems/delayed_job-4.1.12/lib/delayed/lifecycle.rb -> **block in add**
66:  /GEM_ROOT/gems/delayed_job-4.1.12/lib/delayed/lifecycle.rb -> **execute**
40:  /GEM_ROOT/gems/delayed_job-4.1.12/lib/delayed/lifecycle.rb -> **run_callbacks**
78:  /GEM_ROOT/gems/delayed_job-4.1.12/lib/delayed/backend/base.rb -> **invoke_job**
231:  /GEM_ROOT/gems/delayed_job-4.1.12/lib/delayed/worker.rb -> **block (2 levels) in run**
186:  /GEM_ROOT/gems/timeout-0.4.1/lib/timeout.rb -> **block in timeout**
193:  /GEM_ROOT/gems/timeout-0.4.1/lib/timeout.rb -> **timeout**
231:  /GEM_ROOT/gems/delayed_job-4.1.12/lib/delayed/worker.rb -> **block in run**
311:  /usr/lib64/ruby/3.1.0/benchmark.rb -> **realtime**
230:  /GEM_ROOT/gems/delayed_job-4.1.12/lib/delayed/worker.rb -> **run**
313:  /GEM_ROOT/gems/delayed_job-4.1.12/lib/delayed/worker.rb -> **block in reserve_and_run_one_job**
61:  /GEM_ROOT/gems/delayed_job-4.1.12/lib/delayed/lifecycle.rb -> **block in initialize**
66:  /GEM_ROOT/gems/delayed_job-4.1.12/lib/delayed/lifecycle.rb -> **execute**
40:  /GEM_ROOT/gems/delayed_job-4.1.12/lib/delayed/lifecycle.rb -> **run_callbacks**
313:  /GEM_ROOT/gems/delayed_job-4.1.12/lib/delayed/worker.rb -> **reserve_and_run_one_job**
214:  /GEM_ROOT/gems/delayed_job-4.1.12/lib/delayed/worker.rb -> **block in work_off**
213:  /GEM_ROOT/gems/delayed_job-4.1.12/lib/delayed/worker.rb -> **times**
213:  /GEM_ROOT/gems/delayed_job-4.1.12/lib/delayed/worker.rb -> **work_off**
176:  /GEM_ROOT/gems/delayed_job-4.1.12/lib/delayed/worker.rb -> **block (4 levels) in start**
311:  /usr/lib64/ruby/3.1.0/benchmark.rb -> **realtime**
175:  /GEM_ROOT/gems/delayed_job-4.1.12/lib/delayed/worker.rb -> **block (3 levels) in start**
61:  /GEM_ROOT/gems/delayed_job-4.1.12/lib/delayed/lifecycle.rb -> **block in initialize**
66:  /GEM_ROOT/gems/delayed_job-4.1.12/lib/delayed/lifecycle.rb -> **execute**
40:  /GEM_ROOT/gems/delayed_job-4.1.12/lib/delayed/lifecycle.rb -> **run_callbacks**
174:  /GEM_ROOT/gems/delayed_job-4.1.12/lib/delayed/worker.rb -> **block (2 levels) in start**
173:  /GEM_ROOT/gems/delayed_job-4.1.12/lib/delayed/worker.rb -> **loop**
173:  /GEM_ROOT/gems/delayed_job-4.1.12/lib/delayed/worker.rb -> **block in start**
7:  /GEM_ROOT/gems/delayed_job-4.1.12/lib/delayed/plugins/clear_locks.rb -> **block (2 levels) in <class:ClearLocks>**
79:  /GEM_ROOT/gems/delayed_job-4.1.12/lib/delayed/lifecycle.rb -> **block (2 levels) in add**
61:  /GEM_ROOT/gems/delayed_job-4.1.12/lib/delayed/lifecycle.rb -> **block in initialize**
79:  /GEM_ROOT/gems/delayed_job-4.1.12/lib/delayed/lifecycle.rb -> **block in add**
66:  /GEM_ROOT/gems/delayed_job-4.1.12/lib/delayed/lifecycle.rb -> **execute**
40:  /GEM_ROOT/gems/delayed_job-4.1.12/lib/delayed/lifecycle.rb -> **run_callbacks**
172:  /GEM_ROOT/gems/delayed_job-4.1.12/lib/delayed/worker.rb -> **start**
137:  /GEM_ROOT/gems/delayed_job-4.1.12/lib/delayed/command.rb -> **run**
125:  /GEM_ROOT/gems/delayed_job-4.1.12/lib/delayed/command.rb -> **block in run_process**
277:  /GEM_ROOT/gems/daemons-1.4.1/lib/daemons/application.rb -> **block in start_proc**
84:  /GEM_ROOT/gems/daemons-1.4.1/lib/daemons/daemonize.rb -> **call_as_daemon**
281:  /GEM_ROOT/gems/daemons-1.4.1/lib/daemons/application.rb -> **start_proc**
307:  /GEM_ROOT/gems/daemons-1.4.1/lib/daemons/application.rb -> **start**
56:  /GEM_ROOT/gems/daemons-1.4.1/lib/daemons/controller.rb -> **run**
199:  /GEM_ROOT/gems/daemons-1.4.1/lib/daemons.rb -> **block in run_proc**
124:  /GEM_ROOT/gems/daemons-1.4.1/lib/daemons/cmdline.rb -> **catch_exceptions**
198:  /GEM_ROOT/gems/daemons-1.4.1/lib/daemons.rb -> **run_proc**
123:  /GEM_ROOT/gems/delayed_job-4.1.12/lib/delayed/command.rb -> **run_process**
98:  /GEM_ROOT/gems/delayed_job-4.1.12/lib/delayed/command.rb -> **daemonize**
5:  script/delayed_job.api.rb -> **<top (required)>**
58:  /usr/lib64/ruby/3.1.0/bundler/cli/exec.rb -> **load**
58:  /usr/lib64/ruby/3.1.0/bundler/cli/exec.rb -> **kernel_load**
23:  /usr/lib64/ruby/3.1.0/bundler/cli/exec.rb -> **run**
486:  /usr/lib64/ruby/3.1.0/bundler/cli.rb -> **exec**
27:  /usr/lib64/ruby/3.1.0/bundler/vendor/thor/lib/thor/command.rb -> **run**
127:  /usr/lib64/ruby/3.1.0/bundler/vendor/thor/lib/thor/invocation.rb -> **invoke_command**
392:  /usr/lib64/ruby/3.1.0/bundler/vendor/thor/lib/thor.rb -> **dispatch**
31:  /usr/lib64/ruby/3.1.0/bundler/cli.rb -> **dispatch**
485:  /usr/lib64/ruby/3.1.0/bundler/vendor/thor/lib/thor/base.rb -> **start**
25:  /usr/lib64/ruby/3.1.0/bundler/cli.rb -> **start**
48:  /usr/lib64/ruby/gems/3.1.0/gems/bundler-2.3.27/libexec/bundle -> **block in <top (required)>**
120:  /usr/lib64/ruby/3.1.0/bundler/friendly_errors.rb -> **with_friendly_errors**
36:  /usr/lib64/ruby/gems/3.1.0/gems/bundler-2.3.27/libexec/bundle -> **<top (required)>**
25:  /usr/bin/bundle.ruby3.1 -> **load**
25:  /usr/bin/bundle.ruby3.1 -> **<main>**

Environment

Key Value
program_name delayed_job.1030
HTTP_USER_AGENT
rubhanazeem commented 1 day ago

This issue can be closed, as the user in request.creator is currently in deleted state.

eduardoj commented 1 day ago

So... next time this job runs for a deleted user, we should remember throwing an exception is fine...?

Wouldn't it be better if we fix the code so this will not happen again?

rubhanazeem commented 1 day ago

So... next time this job runs for a deleted user, we should remember throwing an exception is fine...?

Wouldn't it be better if we fix the code so this will not happen again?

The exception is raised intentionally https://github.com/openSUSE/open-build-service/blob/master/src/api/app/models/user.rb#L233

eduardoj commented 1 day ago

The exception is raised intentionally https://github.com/openSUSE/open-build-service/blob/master/src/api/app/models/user.rb#L233

Yep. That looks wrong to me. The exception is thrown and the rest of the code is not run, preventing the other users and the groups from being updated.