Zum Hauptinhalt springen

RollupBucketIntervalException

Namespace: Meshmakers.Octo.Runtime.Contracts.StreamData

The rollup's target bucket interval is finer than — or not an integer multiple of — the source archive's native window length (AB#4289). A finer or misaligned bucket is effectively upsampling and always a configuration mistake: a raw source yields a sparse table (only buckets that happen to contain a source row materialise), a windowed source (TimeRange / rollup) yields an empty one (no source window is fully contained in a smaller target bucket). Enforced at activation only when the source granularity is known; raw archives with an undeclared sampling interval are not checked. For a calendar-aligned rollup the same exception carries the alignment-nesting violation (AB#5157: a source whose calendar buckets are coarser than the rollup's), in which case RollupBucketIntervalException.SourceAlignment is set and the window lengths are zero.

public sealed class RollupBucketIntervalException : StreamDataException, ISerializable

Inheritance Object → Exception → StreamDataException → RollupBucketIntervalException
Implements ISerializable

Properties​

BucketSize​

public TimeSpan BucketSize { get; }

Property Value​

TimeSpan

SourceGranularity​

public TimeSpan SourceGranularity { get; }

Property Value​

TimeSpan

SourceArchiveRtId​

The offending source archive, or null when the violation was raised without one (the pre-AB#5157 constructor). AB#5157: with several sources the operator needs to know which one failed the rule.

public Nullable<OctoObjectId> SourceArchiveRtId { get; }

Property Value​

Nullable<OctoObjectId>

SourceAlignment​

The offending source's bucket alignment when the rule that failed was calendar nesting, null for the window-length rules. AB#5157.

public Nullable<BucketAlignment> SourceAlignment { get; }

Property Value​

Nullable<BucketAlignment>

ArchiveRtId​

public Nullable<OctoObjectId> ArchiveRtId { get; }

Property Value​

Nullable<OctoObjectId>

TargetSite​

public MethodBase TargetSite { get; }

Property Value​

MethodBase

Message​

public string Message { get; }

Property Value​

String

Data​

public IDictionary Data { get; }

Property Value​

IDictionary

InnerException​

public Exception InnerException { get; }

Property Value​

Exception

public string HelpLink { get; set; }

Property Value​

String

Source​

public string Source { get; set; }

Property Value​

String

HResult​

public int HResult { get; set; }

Property Value​

Int32

StackTrace​

public string StackTrace { get; }

Property Value​

String

Constructors​

RollupBucketIntervalException(OctoObjectId, TimeSpan, TimeSpan)​

public RollupBucketIntervalException(OctoObjectId rollupArchiveRtId, TimeSpan bucketSize, TimeSpan sourceGranularity)

Parameters​

rollupArchiveRtId OctoObjectId

bucketSize TimeSpan

sourceGranularity TimeSpan

RollupBucketIntervalException(OctoObjectId, OctoObjectId, TimeSpan, TimeSpan)​

The window-length rule failed for a named source (AB#5157): the rollup's bucket interval is finer than, or not an integer multiple of, that source's window length.

public RollupBucketIntervalException(OctoObjectId rollupArchiveRtId, OctoObjectId sourceArchiveRtId, TimeSpan bucketSize, TimeSpan sourceGranularity)

Parameters​

rollupArchiveRtId OctoObjectId

sourceArchiveRtId OctoObjectId

bucketSize TimeSpan

sourceGranularity TimeSpan

RollupBucketIntervalException(OctoObjectId, OctoObjectId, BucketAlignment, BucketAlignment)​

The calendar-nesting rule failed for a named source (AB#5157): the source's calendar buckets do not nest inside the rollup's calendar buckets. BucketSize is informational for calendar-aligned rollups, so it plays no part in the message.

public RollupBucketIntervalException(OctoObjectId rollupArchiveRtId, OctoObjectId sourceArchiveRtId, BucketAlignment rollupAlignment, BucketAlignment sourceAlignment)

Parameters​

rollupArchiveRtId OctoObjectId

sourceArchiveRtId OctoObjectId

rollupAlignment BucketAlignment

sourceAlignment BucketAlignment