Replies: 7 comments
-
|
what's the definition of that shovel and what's going on in the source queue (number of messages, size of those messages) |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
|
A few more questions:
Things you can try:
|
Beta Was this translation helpful? Give feedback.
-
|
Source queue type is classic. Its automatically created by the shovel and thus empty on start. Thanks for the proposals. We will try them all and report back. |
Beta Was this translation helpful? Give feedback.
-
|
For starters, all shovels are hosted on a single node and each shovel is a small app that consumes from a source and re-publishers to a destination. You haven't mentioned how many shovels there are in the system. Shovels consume messages and keep them in memory until after they can republish them and confirm them to the source queue. By default, shovels use a prefetch of 1000, meaning up to 1000 messages will be kept in memory per shovel. 1000 messages * 5000 shovels * 1 kiB messages will require 5 GiB of memory just for keeping the message payloads in memory, ignoring all other protocol metadata and shovel worker state. If for any reason publishing is much slower than consumption (which is the case where consumption is local but publishing is remote), you will have a constant in memory "backlog". Use a much lower prefetch (e.g. 10-30 or something like that, there are usually NO reasons to use the extremely conservative value of 1) by explicitly setting the Distributed ShovelsTanzu RabbitMQ provides a |
Beta Was this translation helpful? Give feedback.
-
|
Thanks for the explanation. In this case it is all about a single shovel which makes the difference. Altogether on the cluster we run 7 shovels with similar or less workload without any issues. Adding that 11th shovel breaks it all. |
Beta Was this translation helpful? Give feedback.
-
|
We have just upraded the cluster to 4.2.0 and switchted to khepri_db. The issue is gone without any other change. |
Beta Was this translation helpful? Give feedback.

Uh oh!
There was an error while loading. Please reload this page.
-
Describe the bug
In connection with creating a shovel this happens soon after creating it. It leads to the high memory watermark being hit and never recovers itself. The only way to "fix" it is by deleting the shovel AND restarting the affected node(s).
Reproduction steps
We can trigger it on a production installation but nowhere else. It is unclear which piece of the setup is triggering it.
Expected behavior
We expect the memory consumption to stay normal.
Additional context
We are happy to recreate on our env temporarily and provide whatever further insights are helpful.
Beta Was this translation helpful? Give feedback.
All reactions