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

Rework banking_stage retry logic to retry high priority transactions more often #26015

Closed
tao-stones opened this issue Jun 17, 2022 · 1 comment
Assignees

Comments

@tao-stones
Copy link
Contributor

Problem

High priority transactions that are not processed immediately (eg due to account_in_use) are not retried until entire buffer has been iterated.

A specific example found during tds bench test: a batch of 128 prioritized transaction that write to same account were received and put on to top of banking_stage buffer; the remaining buffer was full of zero-prioritized transactions. the top 128 paid TXs were picked up but only one was processed, the remaining 127 TXs were re-buffer, but they were not retried until after entire buffer.

Proposed Solution

Before the scheduler, can try to mix TXs in retry queue and what's left in MinMaxHeap for each chunk process.

@tao-stones
Copy link
Contributor Author

Multi Iterator implemented in https://github.com/solana-labs/solana-ghsa-qrp2-62qh-jgfc/pull/6 addressed this.

#28577 proposed another possibility.

Close this issue.

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