-
Notifications
You must be signed in to change notification settings - Fork 4k
Closed
Description
Discussed in #5258
Originally posted by dhxgit July 18, 2022
Hi,
I have found a reproduce-able issue with up to and including version 3.10.6 of rabbitmq.
What happens:
- Every Connection attempts seems to be stored/logged in quorum segment files
- The needed storage grows and grows until full
- ( Queue gets cleaned up if a message flows through the queue )
- The needed storage grows and grows until full
Reproduction Setup: ( see https://github.com/dhxgit/rmq-storage-issue )
- We start the official rabbitmq container (see docker-compose.yaml)
- We start a python test container (also in my repo) which in a loop with a lot of workers
- connects to a queue with basic_consume
- kills basic_consume after a short 2~3 second timeout
- After a few minutes of runtime we can restart the rabbitmq-container
- this will write out the segments files into the quorum directory
- this will also happen without restart when the wal-file gets rotated
Result:
- Given enough time * clients * frequency of connections * queues
- -> Server storage will fill up, even though the queues are completely empty.
( The segments files will be cleaned up if any message flow through the queue, but if that does not happen the storage grows until completely full )
- -> Server storage will fill up, even though the queues are completely empty.
Even though this is a somewhat unusual case (un-used queues that are checked by consumers that constantly restart consuming), I believe that it should not fill up the storage with segments files which just seem to contain the consumer-tags.