-
Notifications
You must be signed in to change notification settings - Fork 941
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
fix(gossipsub): gracefully disable handler on stream errors #3625
fix(gossipsub): gracefully disable handler on stream errors #3625
Commits on Mar 17, 2023
-
Gossipsub: remove
ConnectionHandlerEvent::Close
Victor Ermolaev committedMar 17, 2023 Configuration menu - View commit details
-
Copy full SHA for 1264345 - Browse repository at this point
Copy the full SHA 1264345View commit details
Commits on Mar 18, 2023
-
Move error handling closer to the source.
Victor Ermolaev committedMar 18, 2023 Configuration menu - View commit details
-
Copy full SHA for 3c2fbce - Browse repository at this point
Copy the full SHA 3c2fbceView commit details
Commits on Mar 21, 2023
-
Victor Ermolaev committed
Mar 21, 2023 Configuration menu - View commit details
-
Copy full SHA for b8fed53 - Browse repository at this point
Copy the full SHA b8fed53View commit details -
Victor Ermolaev committed
Mar 21, 2023 Configuration menu - View commit details
-
Copy full SHA for f4cfbc3 - Browse repository at this point
Copy the full SHA f4cfbc3View commit details -
Victor Ermolaev committed
Mar 21, 2023 Configuration menu - View commit details
-
Copy full SHA for e7e96ed - Browse repository at this point
Copy the full SHA e7e96edView commit details -
Configuration menu - View commit details
-
Copy full SHA for e37ba58 - Browse repository at this point
Copy the full SHA e37ba58View commit details -
Configuration menu - View commit details
-
Copy full SHA for b6be9ce - Browse repository at this point
Copy the full SHA b6be9ceView commit details
Commits on Mar 22, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 1e06367 - Browse repository at this point
Copy the full SHA 1e06367View commit details -
Victor Ermolaev committed
Mar 22, 2023 Configuration menu - View commit details
-
Copy full SHA for 415f648 - Browse repository at this point
Copy the full SHA 415f648View commit details -
Configuration menu - View commit details
-
Copy full SHA for f87949d - Browse repository at this point
Copy the full SHA f87949dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 9e12f9d - Browse repository at this point
Copy the full SHA 9e12f9dView commit details -
Configuration menu - View commit details
-
Copy full SHA for ee6cb02 - Browse repository at this point
Copy the full SHA ee6cb02View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3443a69 - Browse repository at this point
Copy the full SHA 3443a69View commit details -
Configuration menu - View commit details
-
Copy full SHA for fef9751 - Browse repository at this point
Copy the full SHA fef9751View commit details
Commits on Mar 23, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 7dec223 - Browse repository at this point
Copy the full SHA 7dec223View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3163213 - Browse repository at this point
Copy the full SHA 3163213View commit details -
Configuration menu - View commit details
-
Copy full SHA for e28af53 - Browse repository at this point
Copy the full SHA e28af53View commit details
Commits on Mar 29, 2023
-
Track # of outbound streams requested, not successfully established
The GossipSub protocol uses two streams, namely one from the local to the remote and one from the remote to the local node. The rust-libp2p implementation enforces an upper limit on the churn of both via `MAX_SUBSTREAM_CREATION`. Thus far `self.outbound_substreams_created` was increased for every successful stream, but ignored failed streams. Thus, on a given connection, a GossipSub handler could potentially indefinitely retry creating an outbound stream, where each of those streams fails instead of succeeds to upgrade. With this commit the handler tracks the number of requested outbound streams instead.
Configuration menu - View commit details
-
Copy full SHA for 0507493 - Browse repository at this point
Copy the full SHA 0507493View commit details -
Re-enqueue message when outbound stream fails
An outbound stream carries the first message for the remote node when upgrading in the `OutboundOpenInfo`. Thus far the GossipSub handler would drop the message when the outbound stream fails to upgrade. This could e.g. lead to a remote peer receiving a GRAFT without a previous SUBSCRIBE. With this commit the message carried in the upgrade's `OutboundOpenInfo` is re-enqueued.
Configuration menu - View commit details
-
Copy full SHA for b572895 - Browse repository at this point
Copy the full SHA b572895View commit details -
Configuration menu - View commit details
-
Copy full SHA for 12e9b53 - Browse repository at this point
Copy the full SHA 12e9b53View commit details -
Instead of popping messages early and having to re-queue them on error, we can remove the use of `OutboundOpenInfo` and only send messages in one place.
Configuration menu - View commit details
-
Copy full SHA for fd4958d - Browse repository at this point
Copy the full SHA fd4958dView commit details
Commits on Mar 30, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 44dce05 - Browse repository at this point
Copy the full SHA 44dce05View commit details
Commits on Apr 3, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 6a5f1d0 - Browse repository at this point
Copy the full SHA 6a5f1d0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3432ac0 - Browse repository at this point
Copy the full SHA 3432ac0View commit details -
Configuration menu - View commit details
-
Copy full SHA for db59d23 - Browse repository at this point
Copy the full SHA db59d23View commit details -
Change log level to warn for bad events
Hitting the max substream creation means something bad is happening. This is worth reporting as `warn`.
Configuration menu - View commit details
-
Copy full SHA for b94ec28 - Browse repository at this point
Copy the full SHA b94ec28View commit details -
Configuration menu - View commit details
-
Copy full SHA for c5e3c41 - Browse repository at this point
Copy the full SHA c5e3c41View commit details
Commits on Apr 4, 2023
-
Configuration menu - View commit details
-
Copy full SHA for c02a3a3 - Browse repository at this point
Copy the full SHA c02a3a3View commit details -
Configuration menu - View commit details
-
Copy full SHA for e94c2c7 - Browse repository at this point
Copy the full SHA e94c2c7View commit details -
Configuration menu - View commit details
-
Copy full SHA for a7ed378 - Browse repository at this point
Copy the full SHA a7ed378View commit details
Commits on Apr 5, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 798ef5c - Browse repository at this point
Copy the full SHA 798ef5cView commit details -
Configuration menu - View commit details
-
Copy full SHA for bbdf8f5 - Browse repository at this point
Copy the full SHA bbdf8f5View commit details -
Configuration menu - View commit details
-
Copy full SHA for af21589 - Browse repository at this point
Copy the full SHA af21589View commit details
Commits on Apr 6, 2023
-
- Split handler into `EnabledHandler` and `DisabledHandler`, reducing the amount of potential state variants (e.g. protocol-not-supported but keep-alive-yes) and enforce the possible states at compile time. - Return `DeniedUpgrade` when handler is disabled (i.e. `DisabledHandler`). - Don't update `KeepAlive` across all handler methods, but instead derive it ad-hoc in `ConnectionHandler::connection_keep_alive()` based on the state of the handler. Again reduces number of possible invalid states at compile time. - Remove INITIAL_KEEP_ALIVE. The default idle timeout is 120s. This should be plenty enough time to establish in and outbound streams.
Configuration menu - View commit details
-
Copy full SHA for f999f3e - Browse repository at this point
Copy the full SHA f999f3eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 397afa2 - Browse repository at this point
Copy the full SHA 397afa2View commit details -
Merge branch 'master' of https://github.com/libp2p/rust-libp2p into d…
…eprecate/gossipsub-close-event
Configuration menu - View commit details
-
Copy full SHA for 9f44adc - Browse repository at this point
Copy the full SHA 9f44adcView commit details -
Configuration menu - View commit details
-
Copy full SHA for b01e86f - Browse repository at this point
Copy the full SHA b01e86fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 552cb08 - Browse repository at this point
Copy the full SHA 552cb08View commit details -
Co-authored-by: Thomas Eizinger <thomas@eizinger.io>
Configuration menu - View commit details
-
Copy full SHA for b42e71e - Browse repository at this point
Copy the full SHA b42e71eView commit details
Commits on Apr 11, 2023
-
Configuration menu - View commit details
-
Copy full SHA for a958b60 - Browse repository at this point
Copy the full SHA a958b60View commit details
Commits on Apr 12, 2023
-
Configuration menu - View commit details
-
Copy full SHA for d673ed2 - Browse repository at this point
Copy the full SHA d673ed2View commit details
Commits on Apr 14, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 7cb4e41 - Browse repository at this point
Copy the full SHA 7cb4e41View commit details