-
Notifications
You must be signed in to change notification settings - Fork 4.4k
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
Ensure that uncommitted transactions are always removed from QoS #32285
Ensure that uncommitted transactions are always removed from QoS #32285
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Implementation itself looks good to me. Some nit-picking (as always!) on a comment.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm happy with these changes as is, but requested a review from @taozhu-chicago as well. Since this is primarily related to his feature-gate for not updating costs, I will defer final approval to him.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Change looks good to me. Just few nit & comments
@taozhu-chicago some benchmarks below on consumer. overall seems the same server: c2-standard-30 sitting idle commit a9239f1
commit 1b2b825 (commit this PR started on with modified core/benches/consumer.rs matching a92..)
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm - thanks for benching too
@taozhu-chicago or @t-nelson can you add CI label to kick off CI |
@@ -155,15 +166,30 @@ fn bench_process_and_record_transactions(bencher: &mut Bencher, batch_size: usiz | |||
|
|||
#[bench] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this makes me wish there was a test_case
-like crate for benches 😢
I guess these will only live until the feature is activated everywhere
Looks like we got a broken test. I think |
working on it now, will push up soon :) |
@t-nelson hi i'd like a wendy's daves triple combo, a small chocolate frosty, and permission to trigger CI on my builds going into the solana labs repos :) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
tiny nit
Co-authored-by: Tao Zhu <[email protected]>
Codecov Report
@@ Coverage Diff @@
## master #32285 +/- ##
=========================================
- Coverage 82.0% 82.0% -0.1%
=========================================
Files 772 772
Lines 209538 209570 +32
=========================================
+ Hits 171973 171984 +11
- Misses 37565 37586 +21 |
plz kick CI one more time, last build passed :) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm
🎊 |
build passing, plz merge if happy |
) Co-authored-by: Tao Zhu <[email protected]> (cherry picked from commit 5dee2e4)
…oS (backport of #32285) (#32320) Ensure that uncommitted transactions are always removed from QoS (#32285) Co-authored-by: Tao Zhu <[email protected]> (cherry picked from commit 5dee2e4) Co-authored-by: buffalu <[email protected]>
Problem
When feature
apply_cost_tracker_during_replay
is applied, transactions that are added to QoS but aren't executed or committed will never get removed. This will result in an overestimation of actual compute units used, resulting in smaller blocks.Summary of Changes
Uncommitted or unrecorded transaction costs always remove costs. Costs are only updated if
apply_cost_tracker_during_replay
is applied