-
Notifications
You must be signed in to change notification settings - Fork 65
fix: close identify stream without waiting for EOF #1664
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
base: master
Are you sure you want to change the base?
Conversation
🏁 Performance SummaryCommit:
📊 View Latency History and full Container Resources in the Workflow Summary |
|
Interop's green again :) |
|
So .. I only have a very vague recollection of why the EOF waiting made sense and maybe it has been solved in another way since, but the way things were back then, you would close a stream but if it still had unread data associated with it - such as the "virtual" EOF marker or any in-flight unconsumed buffered data - it would linger in memory and take up resources in the stream multiplexer because "reading" from the stream is what drives "forward motion" in its operation - without anything reading, the multiplexer would then get stuck (mplex in particular) because it eventually runs out of buffer and starts blocking reads on other streams.
This is similar to how, when you What's tricky about problems like this is that they manifest as "long-term" leaks where slowly there's a buildup until suddenly it stops working - if you change these parts, make sure to run long-term tests on an active network (like nimbus-eth2) and monitor for resource leaks and blocked streams. |
|
I see. |
closes: #1642