-
Notifications
You must be signed in to change notification settings - Fork 7
fix: decouple different ipc data channels #101
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
Conversation
This comment was marked as outdated.
This comment was marked as outdated.
Codecov Report❌ Patch coverage is
📢 Thoughts on this report? Let us know! |
ee68ea8 to
c226a0b
Compare
In some situations the ipc channels from actors to the background task can get overloaded. Currently we don't have a complete plan for how to handle this. But the major source of messages is telemetry, which is also one we can treat less reliably, so by dividing this from the data messages we can deprioritize them. Signed-off-by: Wim Looman <[email protected]>
c226a0b to
6bd83d0
Compare
Change SummaryThis PR decouples IPC data channels by separating storable messages, telemetry messages, and control requests into distinct channels. The implementation introduces Issues Found🔴 CriticalDuplicate dependency in Cargo.toml 🟡 ImportantComment inaccuracy regarding buffer size Missing rationale for channel priorities |
vE5li
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Makes sense 👍
alexveecle
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In general this looks good to me; however... does this need a changelog entry or some addition to the docs? Is this part of a broader initiative? I see no issue associated?
Also, wasn't there issues with telemetry becoming lost if some message was lost? Does this mean that telemetry might be more unreliable? (I think this is completely fine- but perhaps we should warn somewhere that telemetry is "best effort" or something.)
|
Yes, if telemetry messages are lost that can cause issues with rendering them (currently the ui itself panics, it could be more resilient for some kinds of missing messages, but there is context-dependence that mean it still may not make sense afterwards). I do think we need more improvements, this is just a way to try to avoid some situations that can cause panics currently. Added an issue link. |
In some situations the ipc channels from actors to the background task can get overloaded. Currently we don't have a complete plan for how to handle this. But the major source of messages is telemetry, which is also one we can treat less reliably, so by dividing this from the data messages we can deprioritize them.
Relates to #149