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

Discard packets statically known to fail #370

Merged
merged 2 commits into from
Mar 21, 2024

Conversation

apfitzge
Copy link

Problem

  • Can statically determine some transactions will fail execution

Summary of Changes

  • Discard them during receiving

Fixes #

@apfitzge apfitzge requested a review from tao-stones March 21, 2024 18:04
/// This is a simple sanity check so the leader can discard transactions
/// which are statically known to exceed the compute budget, and will
/// result in no useful state-change.
pub fn compute_unit_limit_above_static_builtins(&self) -> bool {

Choose a reason for hiding this comment

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

This could be part of ImmutableDeserializedPacket::new() -> Result, can drop packet there if not enough cu limit. Just to clarify that it is standalone function to support scheduler_controller?

Copy link
Author

Choose a reason for hiding this comment

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

made it a separate function more just more easily document the behavior and use in filter call.
also didn't want to put it directly in new so we don't need to change any of the existing tests.

@codecov-commenter
Copy link

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 81.8%. Comparing base (b2f4fb3) to head (65af257).
Report is 3 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff            @@
##           master     #370     +/-   ##
=========================================
- Coverage    81.9%    81.8%   -0.1%     
=========================================
  Files         838      838             
  Lines      227368   227389     +21     
=========================================
- Hits       186238   186226     -12     
- Misses      41130    41163     +33     

@apfitzge apfitzge requested a review from tao-stones March 21, 2024 19:13
Copy link

@tao-stones tao-stones left a comment

Choose a reason for hiding this comment

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

lgtm

@apfitzge apfitzge added automerge automerge Merge this Pull Request automatically once CI passes v1.17 v1.18 labels Mar 21, 2024
Copy link

mergify bot commented Mar 21, 2024

Backports to the stable branch are to be avoided unless absolutely necessary for fixing bugs, security issues, and perf regressions. Changes intended for backport should be structured such that a minimum effective diff can be committed separately from any refactoring, plumbing, cleanup, etc that are not strictly necessary to achieve the goal. Any of the latter should go only into master and ride the normal stabilization schedule.

Copy link

mergify bot commented Mar 21, 2024

Backports to the beta branch are to be avoided unless absolutely necessary for fixing bugs, security issues, and perf regressions. Changes intended for backport should be structured such that a minimum effective diff can be committed separately from any refactoring, plumbing, cleanup, etc that are not strictly necessary to achieve the goal. Any of the latter should go only into master and ride the normal stabilization schedule. Exceptions include CI/metrics changes, CLI improvements and documentation updates on a case by case basis.

@mergify mergify bot merged commit 5f16932 into anza-xyz:master Mar 21, 2024
40 checks passed
mergify bot pushed a commit that referenced this pull request Mar 21, 2024
* Discard packets statically known to fail

* add test

(cherry picked from commit 5f16932)

# Conflicts:
#	core/src/banking_stage/transaction_scheduler/scheduler_controller.rs
mergify bot pushed a commit that referenced this pull request Mar 21, 2024
* Discard packets statically known to fail

* add test

(cherry picked from commit 5f16932)

# Conflicts:
#	core/src/banking_stage/transaction_scheduler/scheduler_controller.rs
apfitzge added a commit that referenced this pull request Mar 21, 2024
)

* Discard packets statically known to fail (#370)

* Discard packets statically known to fail

* add test

(cherry picked from commit 5f16932)

# Conflicts:
#	core/src/banking_stage/transaction_scheduler/scheduler_controller.rs

* resolve conflict

---------

Co-authored-by: Andrew Fitzgerald <[email protected]>
apfitzge added a commit that referenced this pull request Mar 21, 2024
)

* Discard packets statically known to fail (#370)

* Discard packets statically known to fail

* add test

(cherry picked from commit 5f16932)

# Conflicts:
#	core/src/banking_stage/transaction_scheduler/scheduler_controller.rs

* resolve conflicts: old metrics update style

---------

Co-authored-by: Andrew Fitzgerald <[email protected]>
@HaoranYi HaoranYi mentioned this pull request Apr 8, 2024
anwayde pushed a commit to firedancer-io/agave that referenced this pull request Jul 23, 2024
…#370) (anza-xyz#375)

* Discard packets statically known to fail (anza-xyz#370)

* Discard packets statically known to fail

* add test

(cherry picked from commit 5f16932)

# Conflicts:
#	core/src/banking_stage/transaction_scheduler/scheduler_controller.rs

* resolve conflicts: old metrics update style

---------

Co-authored-by: Andrew Fitzgerald <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
automerge automerge Merge this Pull Request automatically once CI passes v1.18
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants