-
Notifications
You must be signed in to change notification settings - Fork 911
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Session ID exhaustion doesn't appear to produce an actionable error message #498
Comments
…ficient space for dynamic allocations. Issue #498.
Hypothetical (but, I think, possibly realistic) situation where this can be a problem: Clients subscribe to an introduction publication. A client at address To implement this, the server carves off a large region of the session ID address space (let's say A workaround for this would be to implement IP filtering on a per-publication basis. Ideally it'd be possible to declaratively add requirements to pubs/subs such as "This publication may only have at most four subscribers from a single IP address" or "This subscription may only have at most one image". I'm looking into implementing this right now. |
I'm experimenting with the new reserved session ID feature. Just to see what would happen, I configured the media driver thusly:
I then created a publication and had a client in another process subscribe to it. This happened (running with the debug agent set to
all
):I feel like the code in the driver conductor goes into an infinite loop as it never finds a usable session ID:
https://github.com/real-logic/aeron/blob/master/aeron-driver/src/main/java/io/aeron/driver/DriverConductor.java#L1356
To be clear, I'm not filing this issue as a "bug that I want fixed". Just wanted to note that session ID exhaustion won't give a helpful error message of any description. I suspect this was extremely unlikely to occur before it was possible to reserve ranges of session IDs to be explicitly assigned, but is perhaps more likely to occur in practice now that people can do that.
The text was updated successfully, but these errors were encountered: