meta/rename: lock both src and dst parent for rename op to avoid txn conflicts and performance #5574
+94
−14
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.
Follow-up on #5549 - after uploading to a temporary file, gateway uses
rename
to move it to the target path. In current implementation,rename
only locksparentSrc
(in normal cases). #5549 adds an additional hierarchy to reduce conflicts onparentSrc
, but conflicts still occur a lot onparentDst
when user writes to the same directory concurrently.So we should lock both
parentSrc
andparentDst
in tkv/sql engines, in consistent with the redis engine.