-
-
Notifications
You must be signed in to change notification settings - Fork 413
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
[🐛 BUG]: Jobs plugin stucks at many workers and many pollers #1568
Comments
Hey @embargo2710 👋🏻
I tested this case when I sent more than 256 messages and all workers are busy with work. Please, attach your worker to the report. |
I send a lot of tasks in the queues, RR receives 256x3 of them and stores in priority queue.
I expect all 256 workers to be working. In fact, only two are worked. This can be seen in the logs (count "Finished task" message = 31 times in 2 and a half minutes) and metrics ( Initially, I posted a log from the product code of our framework. For the purity of the experiment, I made a very simple php file with no logic at all. The result is the same - the workers do not work. My worker:
|
It is possible that this behavior occurs on certain computer hardware. This definitely happens on my powerful laptop, as well as on a cloud production server with "32 CPU, 128GB RAM x4". |
Oh, so, the problem is, that I used |
Works good.
The maximum working values is: num_pollers: 512 and num_workers: 252 |
For the |
I just checked Something is broken on |
All values more than 255 would lead to the |
Thanks @embargo2710 👍🏻 Fixed 🎉 |
No duplicates 🥲.
What happened?
A bug happened!
I am running a Jobs plugin with a lot of workers and num_pollers, for example num_workers: 256 and num_pollers: 512.
Next, I send messages to several queues and wait for the maximum work. Instead, only a couple of workers are working, the rest remain in the "ready" state. This continues indefinitely and does not improve over time (see metrics plugin output). Restarting multiple times doesn't change the workers behavior.
Big log output of RR. Pay attention to the received messages in the pipeline, the number of running workers and the number of completed tasks.
rr.log
Version (rr --version)
rr2 version 2023.1.3 (build time: 2023-05-11T12:32:12+0000, go1.20.4), OS: linux, arch: amd64
How to reproduce the issue?
Create dummy worker with queue handlers with 7-5-10 sleep per queue. Add many tasks to queue test-1, test-2 and test-3.
Use config like this:
Relevant log output
The text was updated successfully, but these errors were encountered: