Redis throttle and connection_limit

Hi, let’s say we have 4 kumo nodes using shared redis throttles and one of the destination sites is configured with connection_limit = 2 (one of the destination’s constraint). Will there be 2 nodes that cannot open a connection to the site and the messages will queue indefinitely?

This is a limitation we solved in pmta by configuring two nodes to reroute their messages to the other two having max-smtp-out 1:

<domain orange.rollup>
  max-msg-rate unlimited
  reroute-to-virtual-mta rerouter
</domain>

Thanks in advance

Each node will work to obtain a lease on the connections available, while only two will be open at any one time each node should eventually obtain a lease and get a connection to use for its turn.

I need to add a FAQ entry for that.

Okay that makes sense, the messages on the nodes waiting for a lease could be stuck for a while if the queues are active

the lease is maintained and extended each time a message is sent. The connection is closed and the lease released when the max deliveries on that connection is reached, or the connection idles out due to not having anything to do, allowing other nodes the opportunity to acquire the lease and send

so if you have a smallish limit and lot of nodes sending to that destination, you may want to consider making the max deliveries per connection smaller

That is clever, let’s just hope the destination doesn’t mind too many repetitive reconnections with a small max_deliveries_per_connection

Thank you guys, you rock!

Keep in mind Orange says to not send more than 100 messages per connection: https://postmaster.orange.fr/

So I doubt they will have any issue with repititive connections.

Nice catch I see that’s also how we configured it so that shouldn’t be an issue :slightly_smiling_face: