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

Mempool improvements #6640

Merged
merged 161 commits into from
Dec 5, 2024
Merged

Mempool improvements #6640

merged 161 commits into from
Dec 5, 2024

Conversation

andreibancioiu
Copy link
Collaborator

@andreibancioiu andreibancioiu commented Nov 28, 2024

Reasoning behind the pull request

  • Transactions selection (from mempool) is sub-optimal: sorting is sub-optimal, while the volume of selected transactions isn't wisely measured / capped (and, in conjunction with the front-running protection, this sometimes produces undesirable effects - blocks not being full).
  • Scheduled processing interacts with the transactions selection & nonce notification, and leads to sub-optimal processing of transactions (and blocks not being full).

Proposed changes

Now, transactions are selected with respect to their price per gas unit. Furthermore, selection is capped at a specific amount of gas. Not-executable transactions are excluded from selection (best-effort). Nonce gaps (and other anomalies) aren't detected using the notifications-based mechanism anymore. Instead, the mempool has direct access to query the blockchain state during selection.

Testing procedure

  • Standard testing
  • Scenarios (private)
  • Pre-release testing on a few validators, on mainnet.

Pre-requisites

Based on the Contributing Guidelines the PR author and the reviewers must check the following requirements are met:

  • was the PR targeted to the correct branch?
  • if this is a larger feature that probably needs more than one PR, is there a feat branch created?
  • if this is a feat branch merging, do all satellite projects have a proper tag inside go.mod?

@sstanculeanu
Copy link
Collaborator

Run Tests:
mx-chain-simulator-go: main
mx-chain-testing-suite: main

Copy link

📊 MultiversX Automated Test Report: View Report

🔄 Build Details:

  • mx-chain-go Commit Hash: a7c336eb8b618397f8576c0c0108fcd4ad8038f1
  • Current Branch: feat/mempool
  • mx-chain-go Target Branch: rc/spica-patch-mempool
  • mx-chain-simulator-go Target Branch: main
  • mx-chain-testing-suite Target Branch: main

🚀 Environment Variables:

  • TIMESTAMP: 29112024-164138
  • PYTEST_EXIT_CODE: 0
    🎉 MultiversX CI/CD Workflow Complete!

Copy link

📊 MultiversX Automated Test Report: View Report

🔄 Build Details:

  • mx-chain-go Commit Hash: 4c24359ab89654bee5b184d2506d31cd959165bf
  • Current Branch: master
  • mx-chain-go Target Branch: ``
  • mx-chain-simulator-go Target Branch: main
  • mx-chain-testing-suite Target Branch: main

🚀 Environment Variables:

  • TIMESTAMP: 29112024-164158
  • PYTEST_EXIT_CODE: 1
    🎉 MultiversX CI/CD Workflow Complete!

Copy link

github-actions bot commented Dec 2, 2024

⚠️ No report was generated due to an error or cancellation of the process.
Please checkout gh action logs for details

Copy link

github-actions bot commented Dec 2, 2024

⚠️ No report was generated due to an error or cancellation of the process.
Please checkout gh action logs for details

@andreibancioiu
Copy link
Collaborator Author

Run Tests:
mx-chain-simulator-go: main
mx-chain-testing-suite: main

Copy link

github-actions bot commented Dec 2, 2024

📊 MultiversX Automated Test Report: View Report

🔄 Build Details:

  • mx-chain-go Commit Hash: 4c24359ab89654bee5b184d2506d31cd959165bf
  • Current Branch: master
  • mx-chain-go Target Branch: ``
  • mx-chain-simulator-go Target Branch: main
  • mx-chain-testing-suite Target Branch: main

🚀 Environment Variables:

  • TIMESTAMP: 02122024-111600
  • PYTEST_EXIT_CODE: 0
    🎉 MultiversX CI/CD Workflow Complete!

@andreibancioiu
Copy link
Collaborator Author

Run Tests:
mx-chain-simulator-go: mempool
mx-chain-testing-suite: main

Copy link

github-actions bot commented Dec 4, 2024

⚠️ No report was generated due to an error or cancellation of the process.
Please checkout gh action logs for details

@andreibancioiu andreibancioiu marked this pull request as ready for review December 4, 2024 16:17
Copy link

github-actions bot commented Dec 4, 2024

📊 MultiversX Automated Test Report: View Report

🔄 Build Details:

  • mx-chain-go Commit Hash: 11fc7c626218d0d8e7ea4b72d8ca524e27ac22e9
  • Current Branch: feat/mempool
  • mx-chain-go Target Branch: rc/spica-patch-mempool
  • mx-chain-simulator-go Target Branch: mempool
  • mx-chain-testing-suite Target Branch: main

🚀 Environment Variables:

  • TIMESTAMP: 04122024-162505
  • PYTEST_EXIT_CODE: 0
    🎉 MultiversX CI/CD Workflow Complete!

@andreibancioiu andreibancioiu merged commit 7c4667b into rc/spica-patch-mempool Dec 5, 2024
9 checks passed
@andreibancioiu andreibancioiu deleted the feat/mempool branch December 5, 2024 10:12
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.

5 participants