-
Notifications
You must be signed in to change notification settings - Fork 205
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
feat: serialize table operations by lock rather than queue #814
feat: serialize table operations by lock rather than queue #814
Conversation
196a588
to
67543cc
Compare
Codecov Report
@@ Coverage Diff @@
## main #814 +/- ##
==========================================
- Coverage 68.02% 67.69% -0.33%
==========================================
Files 300 300
Lines 47229 46510 -719
==========================================
- Hits 32129 31487 -642
+ Misses 15100 15023 -77
... and 1 file with indirect coverage changes Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here. |
895dfdd
to
2bfad51
Compare
2bfad51
to
243156b
Compare
76e7342
to
dc70cab
Compare
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
* feat: replace write group with lock * feat: replace condvar with watch channel * refactor: rename some names * refactor: rename TableOpSerializer to TableOpSerialExecutor
Which issue does this PR close?
Prepare for #800
Rationale for this change
Currently, the operations on tables are serialized by the worker queue, which has a serious disadvantage -- no work steal, which may leading to hungry of some tables' operations because of one big table.
This PR will replace the worker queue with a simple lock for every table.
What changes are included in this PR?
Are there any user-facing changes?
Remove the configs for the write workers.
How does this change test
Existing tests.