Class BackupOptions
The engine's own backups (07 §1, #1416): where they go, how often, what is kept, and what the engine accepts from outside. Set Backup (or Backup(BackupOptions)); null leaves backup off and the engine takes points only when the application asks (CreateAsync(string, BackupRequestKind, CancellationToken)).
public sealed class BackupOptions
- Inheritance
-
BackupOptions
- Inherited Members
Remarks
The load-bearing values have no default: StorePath, Interval and Retention must be stated, the last one
as null when no automatic retention is wanted. 0 means "none" wherever a duration may be zero, never a sentinel.
Constructors
BackupOptions()
public BackupOptions()
Fields
MinInterval
The finest Interval: the scheduler decides once a second.
public static readonly TimeSpan MinInterval
Field Value
Properties
AcceptRequests
Honour {bundle}/backup.request, the file typhon backup create <bundle> writes to ask a running engine for a point.
public bool AcceptRequests { get; init; }
Property Value
Archive
Continuous WAL archiving into the same store (Layer 2, #1418); null: off.
public ArchiveOptions Archive { get; init; }
Property Value
CbwBufferPages
Copy-before-write slots, 8 KiB each, writers can park while the backup thread is busy with the store (02 §4).
public int CbwBufferPages { get; init; }
Property Value
CbwStallTimeout
The most a data-file writer waits in copy-before-write, per write; past it the capture aborts and the write proceeds (BKP-12).
public TimeSpan CbwStallTimeout { get; init; }
Property Value
DrillWindow
How old the newest drill may be before health warns (DrillStale). Zero: drills are not
monitored.
public TimeSpan DrillWindow { get; init; }
Property Value
FullVerifyAfterBackup
Verify each new pack in full (every byte, every page) after it is published, instead of its quick verify (headers, index, tail, chain). The point is always verified; this makes the check read the whole pack.
public bool FullVerifyAfterBackup { get; init; }
Property Value
Interval
How often the engine takes a point. Zero: no schedule — points come from IBackupService and from
backup.request only. Else at least MinInterval.
public required TimeSpan Interval { get; init; }
Property Value
Retention
Applied after every point the engine takes; null: no automatic retention (stated, not defaulted).
public required BackupRetentionPolicy Retention { get; init; }
Property Value
StorePath
The backup store, a directory the engine creates when absent. Points, compactions and retention write here and nowhere else.
public required string StorePath { get; init; }
Property Value
Methods
Validate(out string)
Checks the values, and the retention policy; the archive options against nothing (the engine checks them against its WAL).
public bool Validate(out string error)
Parameters
errorstringWhat is wrong, or
null.