slightly improve performance of RocksDB key locking #19159
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Scope & Purpose
A small optimization for the key locking in RocksDB:
The existing code did a
find(key)
followed by aninsert(key)
if the key was not already locked. This is almost the case. We are now instead doing an unconditionalinsert(key)
. Thekey
object is built in any case, as before.An unscientific test which inserts 10m documents via an AQL query suggests a performance increase of 0.5 to 1%. This is not spectacular but also not bad given the small size and low risk of the change.
Checklist
Related Information