diff --git a/changelog/24108.txt b/changelog/24108.txt new file mode 100644 index 000000000..0fcb8ac2e --- /dev/null +++ b/changelog/24108.txt @@ -0,0 +1,3 @@ +```release-note:bug +core/quotas: Close rate-limit blocked client purge goroutines when sealing +``` \ No newline at end of file diff --git a/vault/quotas/quotas.go b/vault/quotas/quotas.go index 609b01493..c6f7cd990 100644 --- a/vault/quotas/quotas.go +++ b/vault/quotas/quotas.go @@ -814,6 +814,13 @@ func (m *Manager) resetCache() error { } if quota != nil { rlq := quota.(*RateLimitQuota) + + // Cancel the quota's purgeBlockedClients goroutine + err = rlq.close(context.Background()) + if err != nil { + return err + } + err = rlq.store.Close(context.Background()) if err != nil { return err