Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GoodJob error: TypeError: can't cast ActiveSupport::Duration (on v4.0.0) #1413

Closed
andynu opened this issue Jul 9, 2024 · 2 comments
Closed

Comments

@andynu
Copy link
Contributor

andynu commented Jul 9, 2024

I did not read carefully enough. I did go to v3.99 first. And GoodJob.v4_ready? was true. But I neglected to run bin/rails g good_job:update on v3.99. And then switched to v4.0 and this is what it looks like. We can close this ticket because this isn't a supported path, but I wanted to get it out here so people can see how this mistake manifests.

18:56:15 worker.1 | 2024-07-09 18:56:15.586 #316297 ERROR | [GoodJob] GoodJob error: TypeError: can't cast ActiveSupport::Duration 
18:56:15 worker.1 | 2024-07-09 18:56:15.586 #316297 ERROR |  ["/home/andy/.rbenv/versions/3.3.4/lib/ruby/gems/3.3.0/gems/activerecord-7.0.8.4/lib/active_record/connection_adapters/abstract/quoting.rb:43:in `type_cast'",
 "/home/andy/.rbenv/versions/3.3.4/lib/ruby/gems/3.3.0/gems/activerecord-7.0.8.4/lib/active_record/connection_adapters/postgresql/quoting.rb:145:in `type_cast'",
 "/home/andy/.rbenv/versions/3.3.4/lib/ruby/gems/3.3.0/gems/activerecord-7.0.8.4/lib/active_record/connection_adapters/abstract/quoting.rb:218:in `block in type_casted_binds'",
 "/home/andy/.rbenv/versions/3.3.4/lib/ruby/gems/3.3.0/gems/activerecord-7.0.8.4/lib/active_record/connection_adapters/abstract/quoting.rb:216:in `map'",
 "/home/andy/.rbenv/versions/3.3.4/lib/ruby/gems/3.3.0/gems/activerecord-7.0.8.4/lib/active_record/connection_adapters/abstract/quoting.rb:216:in `type_casted_binds'",
 "/home/andy/.rbenv/versions/3.3.4/lib/ruby/gems/3.3.0/gems/activerecord-7.0.8.4/lib/active_record/connection_adapters/postgresql_adapter.rb:765:in `exec_no_cache'",
 "/home/andy/.rbenv/versions/3.3.4/lib/ruby/gems/3.3.0/gems/activerecord-7.0.8.4/lib/active_record/connection_adapters/postgresql_adapter.rb:745:in `execute_and_clear'",
 "/home/andy/.rbenv/versions/3.3.4/lib/ruby/gems/3.3.0/gems/activerecord-7.0.8.4/lib/active_record/connection_adapters/postgresql/database_statements.rb:67:in `exec_delete'",
 "/home/andy/.rbenv/versions/3.3.4/lib/ruby/gems/3.3.0/gems/activerecord-7.0.8.4/lib/active_record/connection_adapters/abstract/database_statements.rb:175:in `update'",
 "/home/andy/.rbenv/versions/3.3.4/lib/ruby/gems/3.3.0/gems/activerecord-7.0.8.4/lib/active_record/connection_adapters/abstract/query_cache.rb:22:in `update'",
 "/home/andy/.rbenv/versions/3.3.4/lib/ruby/gems/3.3.0/gems/activerecord-7.0.8.4/lib/active_record/relation.rb:485:in `update_all'",
 "/home/andy/.rbenv/versions/3.3.4/lib/ruby/gems/3.3.0/gems/good_job-4.0.0/app/models/good_job/base_execution.rb:427:in `block (2 levels) in perform'",
 "/home/andy/.rbenv/versions/3.3.4/lib/ruby/gems/3.3.0/gems/good_job-4.0.0/lib/good_job/current_thread.rb:113:in `within'",
 "/home/andy/.rbenv/versions/3.3.4/lib/ruby/gems/3.3.0/gems/good_job-4.0.0/app/models/good_job/base_execution.rb:408:in `block in perform'",
 "/home/andy/.rbenv/versions/3.3.4/lib/ruby/gems/3.3.0/gems/activesupport-7.0.8.4/lib/active_support/callbacks.rb:118:in `block in run_callbacks'",
 "/home/andy/.rbenv/versions/3.3.4/lib/ruby/gems/3.3.0/gems/good_job-4.0.0/app/models/good_job/batch.rb:78:in `within_thread'",
 "/home/andy/.rbenv/versions/3.3.4/lib/ruby/gems/3.3.0/gems/good_job-4.0.0/app/models/good_job/base_execution.rb:610:in `reset_batch_values'",
 "/home/andy/.rbenv/versions/3.3.4/lib/ruby/gems/3.3.0/gems/activesupport-7.0.8.4/lib/active_support/callbacks.rb:127:in `block in run_callbacks'",
 "/home/andy/.rbenv/versions/3.3.4/lib/ruby/gems/3.3.0/gems/activesupport-7.0.8.4/lib/active_support/callbacks.rb:138:in `run_callbacks'",
 "/home/andy/.rbenv/versions/3.3.4/lib/ruby/gems/3.3.0/gems/good_job-4.0.0/app/models/good_job/base_execution.rb:402:in `perform'",
 "/home/andy/.rbenv/versions/3.3.4/lib/ruby/gems/3.3.0/gems/good_job-4.0.0/app/models/good_job/base_execution.rb:312:in `block in perform_with_advisory_lock'",
 "/home/andy/.rbenv/versions/3.3.4/lib/ruby/gems/3.3.0/gems/good_job-4.0.0/app/models/concerns/good_job/advisory_lockable.rb:172:in `block in with_advisory_lock'",
 "/home/andy/.rbenv/versions/3.3.4/lib/ruby/gems/3.3.0/gems/activerecord-7.0.8.4/lib/active_record/relation.rb:881:in `_scoping'",
 "/home/andy/.rbenv/versions/3.3.4/lib/ruby/gems/3.3.0/gems/activerecord-7.0.8.4/lib/active_record/relation.rb:428:in `scoping'",
 "/home/andy/.rbenv/versions/3.3.4/lib/ruby/gems/3.3.0/gems/activerecord-7.0.8.4/lib/active_record/scoping/default.rb:43:in `unscoped'",
 "/home/andy/.rbenv/versions/3.3.4/lib/ruby/gems/3.3.0/gems/good_job-4.0.0/app/models/concerns/good_job/advisory_lockable.rb:172:in `with_advisory_lock'",
 "/home/andy/.rbenv/versions/3.3.4/lib/ruby/gems/3.3.0/gems/activerecord-7.0.8.4/lib/active_record/relation/delegation.rb:67:in `block in with_advisory_lock'",
 "/home/andy/.rbenv/versions/3.3.4/lib/ruby/gems/3.3.0/gems/activerecord-7.0.8.4/lib/active_record/relation.rb:881:in `_scoping'",
 "/home/andy/.rbenv/versions/3.3.4/lib/ruby/gems/3.3.0/gems/activerecord-7.0.8.4/lib/active_record/relation.rb:428:in `scoping'",
 "/home/andy/.rbenv/versions/3.3.4/lib/ruby/gems/3.3.0/gems/activerecord-7.0.8.4/lib/active_record/relation/delegation.rb:67:in `with_advisory_lock'",
 "/home/andy/.rbenv/versions/3.3.4/lib/ruby/gems/3.3.0/gems/good_job-4.0.0/app/models/good_job/base_execution.rb:306:in `perform_with_advisory_lock'",
 "/home/andy/.rbenv/versions/3.3.4/lib/ruby/gems/3.3.0/gems/activerecord-7.0.8.4/lib/active_record/relation/delegation.rb:67:in `block in perform_with_advisory_lock'",
 "/home/andy/.rbenv/versions/3.3.4/lib/ruby/gems/3.3.0/gems/activerecord-7.0.8.4/lib/active_record/relation.rb:881:in `_scoping'",
 "/home/andy/.rbenv/versions/3.3.4/lib/ruby/gems/3.3.0/gems/activerecord-7.0.8.4/lib/active_record/relation.rb:428:in `scoping'",
 "/home/andy/.rbenv/versions/3.3.4/lib/ruby/gems/3.3.0/gems/activerecord-7.0.8.4/lib/active_record/relation/delegation.rb:67:in `perform_with_advisory_lock'",
 "/home/andy/.rbenv/versions/3.3.4/lib/ruby/gems/3.3.0/gems/good_job-4.0.0/lib/good_job/job_performer.rb:35:in `block in next'",
 "/home/andy/.rbenv/versions/3.3.4/lib/ruby/gems/3.3.0/gems/good_job-4.0.0/lib/good_job/capsule_tracker.rb:103:in `register'",
 "/home/andy/.rbenv/versions/3.3.4/lib/ruby/gems/3.3.0/gems/good_job-4.0.0/lib/good_job/job_performer.rb:34:in `next'",
 "/home/andy/.rbenv/versions/3.3.4/lib/ruby/gems/3.3.0/gems/good_job-4.0.0/lib/good_job/scheduler.rb:276:in `block (2 levels) in create_task'",
 "/home/andy/.rbenv/versions/3.3.4/lib/ruby/gems/3.3.0/gems/activesupport-7.0.8.4/lib/active_support/execution_wrapper.rb:92:in `wrap'",
 "/home/andy/.rbenv/versions/3.3.4/lib/ruby/gems/3.3.0/gems/activesupport-7.0.8.4/lib/active_support/reloader.rb:72:in `block in wrap'",
 "/home/andy/.rbenv/versions/3.3.4/lib/ruby/gems/3.3.0/gems/activesupport-7.0.8.4/lib/active_support/execution_wrapper.rb:92:in `wrap'",
 "/home/andy/.rbenv/versions/3.3.4/lib/ruby/gems/3.3.0/gems/activesupport-7.0.8.4/lib/active_support/reloader.rb:71:in `wrap'",
 "/home/andy/.rbenv/versions/3.3.4/lib/ruby/gems/3.3.0/gems/good_job-4.0.0/lib/good_job/scheduler.rb:275:in `block in create_task'",
 "/home/andy/.rbenv/versions/3.3.4/lib/ruby/gems/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/executor/safe_task_executor.rb:24:in `block in execute'",
 "/home/andy/.rbenv/versions/3.3.4/lib/ruby/gems/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb:48:in `block in synchronize'",
 "/home/andy/.rbenv/versions/3.3.4/lib/ruby/gems/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb:48:in `synchronize'",
 "/home/andy/.rbenv/versions/3.3.4/lib/ruby/gems/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb:48:in `synchronize'",
 "/home/andy/.rbenv/versions/3.3.4/lib/ruby/gems/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/executor/safe_task_executor.rb:22:in `execute'",
 "/home/andy/.rbenv/versions/3.3.4/lib/ruby/gems/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/ivar.rb:170:in `safe_execute'",
 "/home/andy/.rbenv/versions/3.3.4/lib/ruby/gems/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/scheduled_task.rb:298:in `process_task'",
 "/home/andy/.rbenv/versions/3.3.4/lib/ruby/gems/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/executor/timer_set.rb:98:in `block in ns_post_task'",
 "/home/andy/.rbenv/versions/3.3.4/lib/ruby/gems/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:359:in `run_task'",
 "/home/andy/.rbenv/versions/3.3.4/lib/ruby/gems/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:350:in `block (3 levels) in create_worker'",
 "<internal:kernel>:187:in `loop'",
 "/home/andy/.rbenv/versions/3.3.4/lib/ruby/gems/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:341:in `block (2 levels) in create_worker'",
 "/home/andy/.rbenv/versions/3.3.4/lib/ruby/gems/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:340:in `catch'",
 "/home/andy/.rbenv/versions/3.3.4/lib/ruby/gems/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:340:in `block in create_worker'"]
@andynu
Copy link
Contributor Author

andynu commented Jul 9, 2024

Update. Downgrading to v3.99, running bin/rails g good_job:update and running bin/rails db:migrate works great. I'm now upgraded to 4.0 without issue.

@NelcifranSofto
Copy link

NelcifranSofto commented Jul 12, 2024

bin/rails g good_job:update

i tried this and worked fine for me

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Development

No branches or pull requests

2 participants