> Where did you read that from?
Indeed, after reading a lot about this my brain finally retained what I wanted to be true ;).
Nonetheless, there is still a logic about why we didn't want to use publisher confirms. In our case, we expected our network and the RabbitMQ cluster to be reliable enough to only lose an acceptable amount of messages, but in the present case, the lost of message is systematic and there is no network or server issue.
> It's likely the program exits and thus the connection and channels are closed while some messages are still on their way. A quorum queue ignores messages published by a closed channel and a classic queue does not. That's an implementation detail
This explains a lot! The Spring client use a cache to store the channels with a default size of 25. Our simulation created more than 1000 (one for each user request thread) so 975 channel were closed at the end of the simulation beacause they didn't fit in the cache. By increasing it, the simulation works.
The fact that we see no issue using publisher confirm seems to be more a side effect than an intended behavior. In the later case, wouldn't it have been more appropriate to receive a nack from the server with a cause saying: "ignored beacause the channel was closed" than an ack?
> Quorum queues must be used with publisher confirms and consumer acks, usage without isn't something we'd ever recommend
I think we will reconsider the use of publisher confirms, thanks!