Expand description
What one invocation created, on disk, so an interrupt can name what it could not delete.
§On disk rather than in memory only
The identifiers are worthless to the operator if the process that held them is the process
that died. An image wedged in CREATING cannot be deleted afterward at all, and a
service-created log group outlives terraform destroy, so for both of those the
identifier is the remedy — there is no second way to find them.
§Leaked is recorded before the delete is attempted
Not after. The other order — try, then record on failure — loses the identifier when the
process dies inside the call, which is exactly the interrupt case this file exists for.
So Ledger::mark_outstanding writes first and Ledger::mark_deleted narrows the list
afterwards.
§A file is only removed when nothing is outstanding
Ledger::clear refuses while leaked is non-empty, because a leftover file is how
microvm ls knows there is something to tell the operator about. Clearing one that still
names a live resource would hide the one case the file exists for.
Structs§
Enums§
- Value
- Represents any valid JSON value.