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
SourceGranularity
public TimeSpan SourceGranularity { get; }
Property Value
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
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
ArchiveRtId
public Nullable<OctoObjectId> ArchiveRtId { get; }
Property Value
TargetSite
public MethodBase TargetSite { get; }
Property Value
Message
public string Message { get; }
Property Value
Data
public IDictionary Data { get; }
Property Value
InnerException
public Exception InnerException { get; }
Property Value
HelpLink
public string HelpLink { get; set; }
Property Value
Source
public string Source { get; set; }
Property Value
HResult
public int HResult { get; set; }
Property Value
StackTrace
public string StackTrace { get; }
Property Value
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