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

v1.18: client: Start resending sooner during send_and_confirm_transactions_in_parallel (backport of #348) #357

Merged
merged 1 commit into from
Mar 22, 2024

Conversation

mergify[bot]
Copy link

@mergify mergify bot commented Mar 21, 2024

Problem

send_and_confirm_transactions_in_parallel is really great, but during times when one particular validator is slow or offline, sending and confirming transactions can take forever. This is because we wait to send all of the transactions before moving on to resending.

With the congestion on the network nowadays, it makes deploying a program very difficult.

Summary of Changes

This really just moves things around to start retrying and confirming sooner.

Rather than send all transactions first, and then kick off the resends, the concept is to add the transaction to the unconfirmed queue before sending, and also start retrying two seconds after the start of the sending.

The impact of this change is tough to gauge, especially because of volatile priority fees on mainnet, but I tried sending 100 self-transfers with 2 lamports (2 million micro-lamports) per CU for priority fees, and a 450 CU limit. On 5 trials, here's what I got:

  • without patch: 40s, 45s, 34s, 37s, 36s
  • with patch: 27s, 68s, 38s, 29s, 20s

While testing without the patch, I had to abort a couple of runs because the sending was absolutely crawling, only one send every 3 seconds.


This is an automatic backport of pull request #348 done by [Mergify](https://mergify.com).

…in_parallel` (#348)

client: Confirm sooner during send_and_confirm_in_parallel
(cherry picked from commit b2f4fb3)
Copy link

@willhickey willhickey left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved for backport to beta

@joncinque joncinque merged commit 12b8083 into v1.18 Mar 22, 2024
35 checks passed
@joncinque joncinque deleted the mergify/bp/v1.18/pr-348 branch March 22, 2024 11:34
anwayde pushed a commit to firedancer-io/agave that referenced this pull request Jul 23, 2024
…ctions_in_parallel` (backport of anza-xyz#348) (anza-xyz#357)

client: Start resending sooner during `send_and_confirm_transactions_in_parallel` (anza-xyz#348)

client: Confirm sooner during send_and_confirm_in_parallel
(cherry picked from commit b2f4fb3)

Co-authored-by: Jon C <me@jonc.dev>
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

Successfully merging this pull request may close these issues.

2 participants