Bound event queues and removed deprecated relay events for improved robustness #6094
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Bounded Event Queues
Queue Size Limiting:
Event queues in several network behaviours are now bounded to a maximum size (
MAX_EVENTS = 1024
). When the queue reaches this limit, new events are dropped and a warning is logged. This change has been applied to the following modules:protocols/floodsub/src/layer.rs
protocols/ping/src/lib.rs
protocols/perf/src/server/behaviour.rs
protocols/perf/src/client/behaviour.rs
Overflow Handling:
If the event queue is full, the system logs a warning message for each dropped event, providing visibility into potential overload situations and aiding in debugging.
Removal of Deprecated Relay Events
Cleaned Event API:
All deprecated event variants have been removed from the relay protocol’s
Event
enum inprotocols/relay/src/behaviour.rs
. This streamlines the event API and reduces maintenance overhead.Internal Logging for Failures:
Event handling logic has been updated to use internal logging (
tracing::warn!
) instead of generating deprecated events, ensuring that important failure information is still captured without exposing deprecated API elements.