[VAULT-708] Zero out request counter on preSeal (#11970)

* [VAULT-708] Zero out request counter on preSeal

* [VAULT-708] Added changelog entry

* [VAULT-708] Add comment clarifying request counter zeroing
This commit is contained in:
Pratyoy Mukhopadhyay 2021-07-07 14:03:39 -05:00 committed by GitHub
parent 3e8d8dda6b
commit adbaad17db
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 9 additions and 0 deletions

3
changelog/11970.txt Normal file
View File

@ -0,0 +1,3 @@
```release-note:bug
core: Fixed double counting of http requests after operator stepdown
```

View File

@ -2183,6 +2183,12 @@ func (c *Core) preSeal() error {
if err := c.unloadMounts(context.Background()); err != nil {
result = multierror.Append(result, fmt.Errorf("error unloading mounts: %w", err))
}
// Zeros out the requests counter to avoid sending all requests for the month on stepdown
// when this runs on the active node. Unseal does the complementary operation of loading
// the counter from storage, so this operation should be a safe one.
atomic.StoreUint64(c.counters.requests, 0)
if err := enterprisePreSeal(c); err != nil {
result = multierror.Append(result, err)
}