Closed fquinner closed 2 weeks ago
Using max flow control should give you the desired behaviour. If you could produce a code example that simulated the problem that you are seeing, then we could investigate in more detail.
@fquinner Multiple subscribers to the same channel/stream on the same media driver will share a receiver endpoint. That means that they will all be treated as a single unit for the flow control purposes. If you want to treat those subscriber separately you'll need to set tether=false
in the channel uri for the subscribers that you want to be disconnected if they fall behind.
I'm trying to evaluate Aeron to see if it is suitable for our use case, but I am finding it's treatment of slow consumers on the same box to be unexpected.
I have seen this (though it's from a while ago - packages, classes etc have all changed) which suggests multiple media drivers to try and isolate the slow consumer, but we are specifically trying to reduce NIC PCIe noise by using Aeron so we would want to avoid that route.
I tried playing with tether configuration too since that seemed like it was designed for this scenario but it did not seem to have any effect no matter what timeouts I tried. I do find the documentation on this topic fairly difficult to get my head around though so perhaps I have misunderstood.
Am I missing something or is this expected behaviour?