Skip to main content

RollupArchiveSnapshot

Namespace: Meshmakers.Octo.Runtime.Contracts.StreamData

Read-only snapshot of the parts of a CkRollupArchive entity the orchestrator and the lifecycle service need. Extends the data carried by ArchiveSnapshot with rollup- specific fields. Backend-specific stores translate from their concrete representation to this record.

public record RollupArchiveSnapshot : IEquatable<RollupArchiveSnapshot>

Inheritance ObjectRollupArchiveSnapshot
Implements IEquatable<RollupArchiveSnapshot>

Remarks:

Concept §3 / §5. RollupArchiveSnapshot.LastAggregatedBucketEnd is null before the first orchestrator run; it is advanced exclusively by the orchestrator (per bucket commit) and by the rewindRollupWatermark mutation. RollupArchiveSnapshot.FrozenUntil is null when the rollup is not frozen; once set it is monotonic.

Properties

RtId

public OctoObjectId RtId { get; set; }

Property Value

OctoObjectId

TargetCkTypeId

public RtCkId<CkTypeId> TargetCkTypeId { get; set; }

Property Value

RtCkId<CkTypeId>

Status

public CkArchiveStatus Status { get; set; }

Property Value

CkArchiveStatus

RtWellKnownName

public string RtWellKnownName { get; set; }

Property Value

String

SourceArchiveRtId

public OctoObjectId SourceArchiveRtId { get; set; }

Property Value

OctoObjectId

BucketSize

public TimeSpan BucketSize { get; set; }

Property Value

TimeSpan

WatermarkLag

public TimeSpan WatermarkLag { get; set; }

Property Value

TimeSpan

LastAggregatedBucketEnd

public Nullable<DateTime> LastAggregatedBucketEnd { get; set; }

Property Value

Nullable<DateTime>

Aggregations

public IReadOnlyList<CkRollupAggregationSpec> Aggregations { get; set; }

Property Value

IReadOnlyList<CkRollupAggregationSpec>

FrozenUntil

public Nullable<DateTime> FrozenUntil { get; set; }

Property Value

Nullable<DateTime>

BucketAlignment

Bucket-boundary alignment. BucketAlignment.FixedSize (the default for entities created before System.StreamData 1.4.0) preserves the legacy LastAggregatedBucketEnd + BucketSize arithmetic. Calendar / ISO-week variants derive bucket boundaries from the wall clock so monthly / weekly / yearly rollups become expressible. Concept-time-range §7.

public BucketAlignment BucketAlignment { get; set; }

Property Value

BucketAlignment

Constructors

RollupArchiveSnapshot(OctoObjectId, RtCkId<CkTypeId>, CkArchiveStatus, String, OctoObjectId, TimeSpan, TimeSpan, Nullable<DateTime>, IReadOnlyList<CkRollupAggregationSpec>, Nullable<DateTime>)

Read-only snapshot of the parts of a CkRollupArchive entity the orchestrator and the lifecycle service need. Extends the data carried by ArchiveSnapshot with rollup- specific fields. Backend-specific stores translate from their concrete representation to this record.

public RollupArchiveSnapshot(OctoObjectId RtId, RtCkId<CkTypeId> TargetCkTypeId, CkArchiveStatus Status, string RtWellKnownName, OctoObjectId SourceArchiveRtId, TimeSpan BucketSize, TimeSpan WatermarkLag, Nullable<DateTime> LastAggregatedBucketEnd, IReadOnlyList<CkRollupAggregationSpec> Aggregations, Nullable<DateTime> FrozenUntil)

Parameters

RtId OctoObjectId

TargetCkTypeId RtCkId<CkTypeId>

Status CkArchiveStatus

RtWellKnownName String

SourceArchiveRtId OctoObjectId

BucketSize TimeSpan

WatermarkLag TimeSpan

LastAggregatedBucketEnd Nullable<DateTime>

Aggregations IReadOnlyList<CkRollupAggregationSpec>

FrozenUntil Nullable<DateTime>

Remarks:

Concept §3 / §5. RollupArchiveSnapshot.LastAggregatedBucketEnd is null before the first orchestrator run; it is advanced exclusively by the orchestrator (per bucket commit) and by the rewindRollupWatermark mutation. RollupArchiveSnapshot.FrozenUntil is null when the rollup is not frozen; once set it is monotonic.