Class RepoVariantPendingCleanupException
The exception that is thrown when an add operation targets a variant ID that still has pending retirement state on disk from a prior DeleteVariantsAsync(FileId, params ReadOnlySpan<string>) call that has not yet completed physical cleanup.
Inheritance
Implements
Inherited Members
Namespace: FulcrumFS
Assembly: FulcrumFS.dll
Syntax
public class RepoVariantPendingCleanupException : InvalidOperationException, ISerializable
Remarks
This exception signals a state conflict, not a missing file: the retired variant's data file, alias marker, or delete marker still lingers in the repository directory and the slot cannot accept a new add until the cleaner has physically removed the residue. Once cleanup completes the same variant ID becomes addable again.
In normal use callers should treat a retired variant ID as permanently gone; DeleteVariantsAsync(FileId, params ReadOnlySpan<string>) is intended for permanent retirement and downstream consumers (for example static file hosts serving repo files by URL) typically depend on stable variant identity. Reusing a retired ID is supported but is an advanced scenario (for example, regenerating variants after a deployment that produced corrupt output) and must be done with awareness that consumers may briefly observe missing variants and will observe different content once the new variant is added. See the DeleteVariantsAsync(FileId, params ReadOnlySpan<string>) remarks for guidance.
Constructors
| Name | Description |
|---|---|
| RepoVariantPendingCleanupException(string) | Initializes a new instance of the RepoVariantPendingCleanupException class with a specified message. |
| RepoVariantPendingCleanupException(string, Exception?) | Initializes a new instance of the RepoVariantPendingCleanupException class with a specified message and an inner exception. |