-
Notifications
You must be signed in to change notification settings - Fork 86
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
Temper initial eagerness when requesting transactions #4927
Labels
Comments
crocodile-dentist
added
the
tx-submission
Issues related to tx-submission protocol
label
Aug 12, 2024
crocodile-dentist
added a commit
that referenced
this issue
Aug 13, 2024
This change delays initial request for transactions from the client, whom may disconnect relatively quickly for reasons described in IntersectMBO/ouroboros-network issue #4927.
7 tasks
crocodile-dentist
added a commit
that referenced
this issue
Aug 13, 2024
This change delays initial request for transactions from the client, whom may disconnect relatively quickly for reasons described in IntersectMBO/ouroboros-network issue #4927.
crocodile-dentist
added a commit
that referenced
this issue
Aug 13, 2024
This change delays initial request for transactions from the client, whom may disconnect relatively quickly for reasons described in IntersectMBO/ouroboros-network issue #4927.
johnalotoski
pushed a commit
that referenced
this issue
Aug 13, 2024
This change delays initial request for transactions from the client, whom may disconnect relatively quickly for reasons described in IntersectMBO/ouroboros-network issue #4927.
crocodile-dentist
added a commit
that referenced
this issue
Aug 13, 2024
This change delays initial request for transactions from the client, whom may disconnect relatively quickly for reasons described in IntersectMBO/ouroboros-network issue #4927.
crocodile-dentist
added a commit
that referenced
this issue
Aug 13, 2024
This change delays initial request for transactions from the client, whom may disconnect relatively quickly for reasons described in IntersectMBO/ouroboros-network issue #4927.
johnalotoski
pushed a commit
that referenced
this issue
Aug 13, 2024
This change delays initial request for transactions from the client, whom may disconnect relatively quickly for reasons described in IntersectMBO/ouroboros-network issue #4927.
johnalotoski
pushed a commit
that referenced
this issue
Aug 13, 2024
This change delays initial request for transactions from the client, whom may disconnect relatively quickly for reasons described in IntersectMBO/ouroboros-network issue #4927.
crocodile-dentist
added a commit
that referenced
this issue
Aug 13, 2024
This change delays initial request for transactions from the client, whom may disconnect relatively quickly for reasons described in IntersectMBO/ouroboros-network issue #4927.
crocodile-dentist
added a commit
that referenced
this issue
Aug 14, 2024
This change delays initial request for transactions from the client, whom may disconnect relatively quickly for reasons described in IntersectMBO/ouroboros-network issue #4927.
crocodile-dentist
added a commit
that referenced
this issue
Aug 19, 2024
This change delays initial request for transactions from the client, whom may disconnect relatively quickly for reasons described in IntersectMBO/ouroboros-network issue #4927.
crocodile-dentist
added a commit
that referenced
this issue
Aug 19, 2024
This change delays initial request for transactions from the client, whom may disconnect relatively quickly for reasons described in IntersectMBO/ouroboros-network issue #4927.
crocodile-dentist
added a commit
that referenced
this issue
Aug 19, 2024
This change delays initial request for transactions from the client, whom may disconnect relatively quickly for reasons described in IntersectMBO/ouroboros-network issue #4927.
crocodile-dentist
added a commit
that referenced
this issue
Aug 21, 2024
This change delays initial request for transactions from the client, whom may disconnect relatively quickly for reasons described in IntersectMBO/ouroboros-network issue #4927.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
Recent back to back node releases exposed a weakness in tx-submission logic which imposes a minor but observable increase on network load. It is not a bug per se, since no invalid transactions are disseminated by any nodes, but instead it could be classified as quality of implementation issue. This manifests itself as some nodes repeatedly providing theirs' transactions, on requests by the inbound/server peer, and then disconnecting. Based on initial analysis, this does not appear to be an intended adverserial behavior, but merely a consequence of current design.
The issue concerns a corner case where there are a mixture of interacting nodes and some of which are unable to cross a hard fork boundary. When these legacy nodes connect to a node which is in fact across the boundary, a full set of miniprotocols are established, and a race between tx-submission and chainsync occurs. The legacy node may respond to a request for transactions before it learns from chainsync that it does not support that peer's block versions, and it will disconnect. After a short timeout expires, it will reconnect and repeat this cycle. Since chainsync miniprotocol is pipelined, it would be onerous to try to somehow synchronize tx-submission with it. Instead, a timeout could be established which would prevent the inbound/server peer from submitting its initial request to the client for a brief while, and long enough for the client to disconnect for aforementioned reason, or some other. This approach has the added benefit of making a client expend some resources when making the initial connection - in a healthy network good connections are long lived and so this initial timeout period has no foreseen detrimental effects on network performance.
The text was updated successfully, but these errors were encountered: