Skip to content
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

dropPeer caused by too much 'nonce too low' transactions #2861

Open
buddh0 opened this issue Jan 20, 2025 · 0 comments
Open

dropPeer caused by too much 'nonce too low' transactions #2861

buddh0 opened this issue Jan 20, 2025 · 0 comments

Comments

@buddh0
Copy link
Collaborator

buddh0 commented Jan 20, 2025

System information

Geth version: geth v1.5.3-beta
OS & Version: linux
Commit hash : (if develop)

Expected behaviour

In the QA network, there are 10 validators running on a single machine.
The number of peers should remain stable during benchmarking.

Actual behaviour

Image
number of peer shakes during beachmark.

However, peer connections fluctuate during the benchmark due to the following reasons:
Validator A only broadcasts the block hash to Validator B. Upon receiving it, Validator B starts a timer to fetch the block header and body within 10 seconds. If this process is not completed in time, Validator B will drop the peer connection.

At the same time, Validator A continuously sends a large number of transactions to Validator B. Many of these transactions do not arrive at the optimal time and are rejected from the transaction pool due to a nonce too low error. Validator B then pauses for 200 milliseconds before resuming the reception of transactions from Validator A.

The requests to fetch the block header and body are processed in between these incoming transactions. This causes delays, preventing Validator B from receiving the block header and body in time, ultimately leading to a dropped peer connection.

The higher the TPS, the more pronounced the issue becomes theoretically.

Steps to reproduce the behaviour

Backtrace

[backtrace]

When submitting logs: please submit them as text and not screenshots.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant