Skip to content

concurrent-ruby 1.1.10 spikes volume of jobs #701

@ghost

Description

Describe the bug
When using concurrent-ruby 1.1.10, the gem does not behave as expected. For the application we are implementing in, after upgrading to sidekiq-unique-jobs 7.1.16 we started getting alerts about a higher than normal volume of calls going out to a service that was approaching our rate limit. Attempting the upgrade again with concurrent-ruby dropped to 1.1.9 had no issues. It looks like the fix applied in #688 for #697 has some unexpected consequences.

Expected behavior
Jobs would be unique, allowing for a consistent pattern of calls to hold.

Current behavior
Jobs spike in volume, suggesting some non-unique jobs are making it through.

Worker class

class MyWorker
  include Sidekiq::Worker
  sidekiq_options queue: :default,
    retry: false,
    backtrace: true,
    lock: :until_executed,
    on_conflict: :log,
    log_duplicate_payload: !Rails.env.test?

  def perform(args); end
end

Additional context
I noticed the upgrade contained separate logic based on the version of concurrent-ruby used, so it makes sense that downgrading it fixed it, I haven't looked deep enough to see what could be wrong though.

Metadata

Metadata

Assignees

Labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions