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.
Describe the bug
When using
concurrent-ruby1.1.10, the gem does not behave as expected. For the application we are implementing in, after upgrading tosidekiq-unique-jobs 7.1.16we 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 withconcurrent-rubydropped to1.1.9had 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
Additional context
I noticed the upgrade contained separate logic based on the version of
concurrent-rubyused, so it makes sense that downgrading it fixed it, I haven't looked deep enough to see what could be wrong though.