-
Notifications
You must be signed in to change notification settings - Fork 9.8k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
etcdserver: make serializable Range() fine grained
Current Range() tries to read entire requested range of keys in a single read transaction. It can introduce long waiting of writer transactions which can be observed as high latency spikes. For solving this problem, this commit lets serializable Range() split its read transaction in a fine grained manner. In the interval of the read transactions, concurrent write RPCs (e.g. Put(), DeleteRange()) can have a chance of starting their transactions. Serializable read only Txn() is also turned into the smaller transactions.
- Loading branch information
Showing
1 changed file
with
70 additions
and
0 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