Expiration Manager: Handle Presumed Irrevocable Leases Separately #11452
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.
Note: this is a copy of pull #11333 (@HridoyRoy @sgmiller the one you already approved). I had to make a new branch/pr for CI to work after the Okta changes
This PR allows leases that are deemed irrevocable to be marked as "zombies", taking them out of the expiration rotation. This is to avoid wasting work on leases that are unlikely to be revoked without manual intervention. This can happen if a backing storage system is removed or misconfigured (e.g. leases stored in a database that cannot be accessed anymore).
Leases are currently only marked as zombies if they fail revocation 6 times. In the future they will also be marked as zombies if the backing systems return an irrevocable error. See VLT-145 for more details.
Question: I don't think zombies need to be included in walkLeases or WalkTokens - these appear to be for metrics, and I don't think zombies should be included in the metrics for potentially valid leases (there are/will be separate zombie metrics - again, see RFC).
Question: for those of you that have worked on this in the past: please let me know if I "missed a spot" - from my analysis it looks like this should do it!