-
Notifications
You must be signed in to change notification settings - Fork 790
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
Offload block processor notifications #4763
Offload block processor notifications #4763
Conversation
Test Results for Commit bac144fPull Request 4763: Results Test Case Results
Last updated: 2024-10-28 09:33:34 UTC |
2a1b379
to
8fb8dc2
Compare
Related tests from @gr0vity-dev, showing the reduction in delays for "block processed" to "publish sent" under load: |
8fb8dc2
to
1a2e6ed
Compare
@@ -255,6 +255,7 @@ nano::container_info nano::confirming_set::container_info () const | |||
|
|||
nano::container_info info; | |||
info.put ("set", set); | |||
info.add ("notification_workers", notification_workers.container_info ()); | |||
info.put ("notifications", workers.queued_tasks ()); |
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.
Is this already added with workers.container_info() below?
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 might be redundant, right
The merge-base changed after approval.
5e206ec
to
bac144f
Compare
This offloads block processors notifications to be processed on a background thread, so that block processor can continue checking new blocks without waiting for other components to do their work. Checking new blocks requires a write-transaction, while handling
batch_processed
event is done with read-only transaction, both can happen in parallel.The changes here are based on top of #4762 which is a necessary prerequisite.