-
Notifications
You must be signed in to change notification settings - Fork 3.9k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
kvclient: buffer blind writes on the client
This patch adds logic to buffer blind writes (Puts or Deletes) in the txnWriteBuffer. Interceptors and layers above remain oblivious to the txnWriteBuffer's decision to buffer any writes. All buffered writes are flushed at commit time, in the same batch as the EndTxn request. This flushing at commit time is also hidden from interceptors above the txnWriteBuffer by stripping responses on the return path. The code structure here allows us to split a batch request into different bits, where some portion is evaluated locally and the rest is sent to the KV layer. It's written with a future where we split read-write requests (e.g. CPuts) into separate read/write halves, where the read portion needs to be evaluated at the leaseholder, but the write needs to be buffered. Closes #139053 Release note: None
- Loading branch information
1 parent
a3ce908
commit 9db05de
Showing
6 changed files
with
919 additions
and
11 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.