-
Notifications
You must be signed in to change notification settings - Fork 4.3k
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
TransactionScheduler: SchedulerController #33825
Conversation
I had forgotten that this PR was necessary before the piping PR. Next PR before the scheduler can be used on master would be piping of CLI & spawning the worker/scheduler threads. |
a55d695
to
a3e0ffb
Compare
Codecov Report
@@ Coverage Diff @@
## master #33825 +/- ##
========================================
Coverage 81.8% 81.9%
========================================
Files 809 810 +1
Lines 217643 217961 +318
========================================
+ Hits 178247 178592 +345
+ Misses 39396 39369 -27 |
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.
looks good, easy to follow. Just few nits
core/src/banking_stage/transaction_scheduler/scheduler_controller.rs
Outdated
Show resolved
Hide resolved
core/src/banking_stage/transaction_scheduler/scheduler_controller.rs
Outdated
Show resolved
Hide resolved
core/src/banking_stage/transaction_scheduler/scheduler_controller.rs
Outdated
Show resolved
Hide resolved
) -> Result<(), SchedulerError> { | ||
match decision { | ||
BufferedPacketsDecision::Consume(_bank_start) => { | ||
let _num_scheduled = self.scheduler.schedule(&mut self.container)?; |
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.
A slight change of behave here. Currently buffered packets are immediately consumed after decision; here there will be some delay between being scheduled and being picked up by worker thread for processing. Don't know the implication with additional hop, just want to point it out
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.
Yeah I think there's a distinction between the two, i.e. scheduled (queued) for consuming vs immediately consuming.
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.
Yeah I think there's a distinction between the two, i.e. scheduled (queued) for consuming vs immediately consuming.
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
noooooo |
back to rebase hell 😭 |
Problem
Need control-flow for packet receiving & scheduler.
Summary of Changes
SchedulerController
that is the main interface for the scheduling threadFixes #