-
Notifications
You must be signed in to change notification settings - Fork 475
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
refactor: hoist key mutexes to ExecuteCommands #2620
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.
MultiLockGuard
used to be forced used in some commands, but now it's been likely not to be used, should we doc it in class MultiLockGuard
?
Do we need to add "exclusive" flag to |
Yes, they should. Thread 1: Read a list key metadata ------------------> push an element and update metadata Then the list key will update on the old metadata. |
Rest LGTM |
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've check the command part and execute part, but I'm not so familiar with streaming. And I think this requires others' carefully review. So would wait other to review and merge
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.
These impls look good to me.
Could we perform a basic benchmark (e.g. via redis-benchmark, with a relatively high pressure) for this patch?
It might hard to play the benchmark, since this method enlarge the critical section a bit, it might get a little bit slower but might not affect too much... |
Yeah I just want to confirm that the performance impact is not too large. A slight performance downgrade is expected and fine to me. |
this patch
unstable branch
|
Thank you for the benchmark result! Just took a glance and it seems the performance downgrade is about 10%. |
Hmm I took a benchmark in my local and I think it may due to unstable measurements. |
Will merge if no negative comments tomorrow |
Quality Gate passedIssues Measures |
isseus: #2563, #2562, #2617, #2473
NOTE:
TODO
annotations (3 places) are reasonableMSet
removed the lock parameter