This is more or less of a general question: my understanding is that a pool will round-robin through its multiple sources(with no weight set), but what I find is that the first address gets used for every email I send through the relevant queue:
Hey there @artistic-yaffle, thanks for posting. Please read the “Troubleshooting” and “How to Ask for Help” buttons below. If you would like a 1:1 support session from the KumoMTA team, details are at the “Book a Support Session” button below.
Think of sources like buckets. The round robin logic will select the least full bucket sorted by weight. ( that is a pretty simplistic view, but it works). if you inject one message and then wait a second then inject another one, it will typically use the same source because the buckets empty pretty quickly. If you inject 30 messages then you should see the other sources being used.
We use weighted round robin (WRR). Each scheduled queue maintains the state for the WRR algorithm. Note that each combination of destination domain, routing domain, tenant and campaign are used to form a distinct scheduled queue for messages as they are received. It’s difficult to speculate on what’s happening for you because you didn’t share any logs, but I suspect that either you have messages going to different queues because those properties vary, or, if you are waiting minutes between injections, that the queue is being aged out in the meantime so that a subsequent injection is creating a new queue from scratch, which will start again with the first source in the pool.
Ahh, it makes sense. Thanks to both of you for the explanation! Yeah, I was just sending a single email per 10-15 secs. I have the June version, so I guess it will be ok and do the round robin when I test it with more load tomorrow. Thanks very much!