Table of Contents

Class BackupOptions

Namespace
Typhon.Engine
Assembly
Typhon.Engine.dll

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

TimeSpan

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

bool

Archive

Continuous WAL archiving into the same store (Layer 2, #1418); null: off.

public ArchiveOptions Archive { get; init; }

Property Value

ArchiveOptions

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

int

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

TimeSpan

DrillWindow

How old the newest drill may be before health warns (DrillStale). Zero: drills are not monitored.

public TimeSpan DrillWindow { get; init; }

Property Value

TimeSpan

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

bool

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

TimeSpan

Retention

Applied after every point the engine takes; null: no automatic retention (stated, not defaulted).

public required BackupRetentionPolicy Retention { get; init; }

Property Value

BackupRetentionPolicy

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

string

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

error string

What is wrong, or null.

Returns

bool