-
Notifications
You must be signed in to change notification settings - Fork 49
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Key changes: - Using JoinSet instead of unordered futures to perform store tasks to avoid some of its tricky lockup scenarios - Store tasks are free to use whatever connection is available, this over-indexes over the current design that serializes all writes in a one-at-a-time fashion, but removes a lock, and simplifies the logic. - Extra in-flight stores are aborted after an append is complete to avoid overloading - Timeout store tasks only on the basis of their network operation and not on the time they're waiting for the tail to move - Cache nodeset checker across waves - Better logging on failures, it reports the nodeset status with the number of attempts per node - Adds a new metric to latency of appends Performance testing shows no regression and reliability testing appears to show no regression even in tricky failure scenarios. ``` // intentionally empty ```
- Loading branch information
1 parent
adad40e
commit e6423d8
Showing
4 changed files
with
319 additions
and
305 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
Oops, something went wrong.