Backport of [VAULT-21623] Close rate-limit client purge goroutines when sealing into release/1.15.x #24139
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.
Backport
This PR is auto-generated from #24108 to be assessed for backporting due to the inclusion of the label backport/1.15.x.
The below text is copied from the body of the original PR.
This PR fixes a goroutine leak when using rate-limit quotas. When using rate-limit quotas, a goroutine is started per quota to check at a set interval whether or not we can remove a client from being blocked. When Vault would undergo a state-change that required sealing, Vault was not closing these purge goroutines. When unsealing Vault would re-initialize the rate-limit quotas starting a new set of goroutines, leaking the old ones.
Overview of commits