-
-
Notifications
You must be signed in to change notification settings - Fork 277
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
"IndexError: string not matched" when job is replaced on client #635
Comments
I have a sneaky suspicion what this could be but I have haven't had time to investigate. Down with the flu at the moment, having a hard time to focus. |
I would like to aggregate that with sidekiq 6.2.2. The error is different, but root cause seems the same as @chaimann said. Using: lock: :until_executed and on_conflict: :replace This happens when a job is enqueued for future and is enqueued again before the first runs, replacement. |
This was fixed in v7.1.7 @night91 |
Let me know if it ain't fixed and I will reopen the issue n |
Thanks @mhenrixon I'll check asap and will let you know 👍 |
@mhenrixon looks like the issue has been resolved, thanks a lot! |
Describe the bug
My use case is fairly simple, I schedule a job upon request to be performed in 15 minutes. If another request received, previous job should be replaced with a new one if the arguments match.
After upgrading from v.7.0.12 to 7.1.5 the error
IndexError: string not matched
started happening. After some debugging it appeared that normallySidekiq::Client#process_single
returns an item hash, but sometimes it returns a string - job ID, and then fails inSidekiq::Client#atomic_push:201
where
entry
is a String rather than a Hash.Worker class
Additional context
sidekiq version 5.2.7
To reproduce
The text was updated successfully, but these errors were encountered: