-
Notifications
You must be signed in to change notification settings - Fork 6
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Decorrelated jitter has a major flaw: clamping. Retry intervals can get repeatedly clamped to the maximum allowed duration. This effectively removes any jitter. The implementation in this library is a variation which exacerbates this flaw. This change replaces this jitter implementation with three options: 1. None 2. Full 3. Bounded It also changes how 'maxiumum retry duration' is implemented. Before, there was no information about how long the task had been retrying, so there was no way to implement a correct 'maximum retry duration'. This has been reimplemented to require a start time for a task when setting a maxiumum retry duration.
- Loading branch information
1 parent
c58f3cb
commit 724e930
Showing
5 changed files
with
207 additions
and
98 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,19 +1,33 @@ | ||
# Changelog | ||
|
||
All notable changes to this project will be documented in this file. | ||
|
||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), | ||
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). | ||
|
||
## [Unreleased] | ||
|
||
## [0.2.0] - 2023-??-?? | ||
|
||
### Changed | ||
|
||
- [Breaking] Jitter algorithm changed from a variation of decorrelated jitter to either none, full, or bounded. | ||
- [Breaking] Now requires a task start time when using a total retry duration. | ||
|
||
## [0.1.2] - 2022-10-28 | ||
|
||
### Added | ||
|
||
- `Debug` derived for `RetryDecision` | ||
|
||
## [0.1.1] - 2021-10-18 | ||
|
||
### Security | ||
|
||
- remove time v0.1 dependency | ||
|
||
## [0.1.0] - 2021-08-11 | ||
|
||
### Added | ||
|
||
- `ExponentialBackoff` policy. |
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.