-
Notifications
You must be signed in to change notification settings - Fork 2
[Question] Is it possible that sometimes the same delayed_work record is processed more than once? #12
Comments
Hey, It is certainly possible that a job can be worked twice. Although, I don't think this is a case where it should be. The rework should only happen in a failure case where a job failed to report it's status to the DB. I'll take a bit of a deeper look here as to why a job is getting queued multiple times. |
I've run it 10 times, and haven't been able to replicate. Could you perhaps turn on the log level filtering off (I realize that'll be a lot of logs), and post there somewhere like gist.github.com so I can view the logs to see why it's being picked up again? |
here's a gist snippet: https://gist.github.com/RMISCG/90780e69d8e517d80b794ca3231860b1 also, if you want to do this yourself, show all coworker logs, simply remove the following block from
|
Thanks for this! I do know how to change the logs, I just can't reproduce it unfortunately 😄 So the logs actually show that the job gets released back to the pool: The only places ReleaseToPool are called:
My biggest thought is that the future is cancelled. As none of the others make sense (and I can't seem to reproduce). Is there anything you can think of that would kill the thread/runnable? Perhaps using too much memory? Something along those lines? |
I'm not really sure why you're unable to reproduce this. Maybe you can:
|
Hi, Any updates on this? Thanks |
Hey, I'm still not able to replicate this on my end. Even after increasing |
Description
Is it possible that sometimes the same delayed_work record is processed more than once?
From the testing we've been able to do so far, it seems like this is an intermittent issue.
Also, I haven't encountered a scenario where the same record was processed more than twice.
I have created a sample Spring Boot project here https://github.com/RMISCG/queue which you can use for testing purposes.
The project has a README.md file in the parent directory for more details.
Additional Information
Framework Version:
Java: 11.0.4
Spring Boot: 2.2.5.RELEASE
Gradle: 5.6
Platform:
macOS Mojave Version 10.14.6
Command/Work You Tried to Run:
Process finished with exit code 130 (interrupted by signal 2: SIGINT)
The text was updated successfully, but these errors were encountered: