Is there any way to configure redirection to another egress pool in TSA?

What we’ve been throwing around as an idea for this sort of thing is a bit of a different approach. I’m not sure if it would totally cover your specific case, but the idea is that we’d extend the ability of setting an egress pool on a scheduled queue to being able to set a prioritized, ordered list of pools. Then the source assignment logic would try to obtain a working non-suspended source from the first pool until there are no options remaining, before trying the next one in the list and so on.

With that facility in place, you’d configure TSA rules to suspend the source based on the appropriate response from the server.

yeah, that would work

we’ve been avoiding this sort of thing so far as it will double the IO pressure on a failed message send, by also requiring an additional write to the meta spool each time. If we were to add this, we’d need to make it opt-in.

that’s why I asked

could be a configurable option

if enabled, num_attempts & last_error would get written

TBH, I’d really like to avoid persisting the last error in that way if we can

but I’m not sure if this really needs to be spooled everytime, for our purposes having this as an ephemeral variable would be totally enough

just so that we can have the context in requeue_message handler

and if it does not persist among restarts, who cares

yeah, that feels easier and more reasonable; there’s no additional overhead to that approach

:+1:

aside from finagling the response through, which is either easy or a PITA :slightly_smiling_face:

we already have a small library of unholy regexes for that

opened this one https://github.com/KumoCorp/kumomta/issues/236