-
Notifications
You must be signed in to change notification settings - Fork 702
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 reading the replication stream to IO threads #1449
Conversation
Signed-off-by: Uri Yagelnik <[email protected]>
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## unstable #1449 +/- ##
=========================================
Coverage 70.78% 70.78%
=========================================
Files 119 119
Lines 64691 64740 +49
=========================================
+ Hits 45790 45829 +39
- Misses 18901 18911 +10
|
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.
That was a small diff! Nice.
The PR title isn't very clear for someone who doesn't know the internals. I believe a user could better understand a title like "Offload reading the replication stream to IO threads". |
Thanks, changed. |
Signed-off-by: Uri Yagelnik <[email protected]>
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
I will not merge it yet in case others want to review it a bit more.
To the layman such as myself, what benefit does this introduce WRT replication? |
Replicas can serve more readonly traffic when reading the replication stream can be offloaded to an IO thread instead of being handled by the bottleneck main thread. It's useful in setups where replicas are used for readonly traffic. It seems more beneficial to let primaries offload the writes to replicas to IO threads. Hopefully, that will come in another PR. @uriyage WDYT? |
@zuiderkwast Yes, I will open a new PR in the coming days for offloading the writes to replicas. It is a bit more complicated, which is why I started with the primary writes offload. |
@uriyage I think we need to check the failed test in TLS which I can see:
Maybe it is related (is it the use of writev?) |
I rerun the test to see if this is a stable fail |
The test runs without IO threads, in this case, the PR changes have no effect, meaning the failure is unrelated to this PR changes |
I don't want to block PRs that are ready to merge. We should really focus on the failing tests instead of starting too many new features though. |
Support Primary client IO offload.
Related issue: #761