public GetEventsEnumerable([NotNull] ILiveRecordTicksMarker liveRecordTicksMarker, ISerializer serializer, IColumnFamilyConnection connection, long fromTicks, long toTicks, int batchSize, ILog logger) { this.liveRecordTicksMarker = liveRecordTicksMarker; this.serializer = serializer; this.connection = connection; this.fromTicks = fromTicks; this.toTicks = toTicks; this.batchSize = batchSize; this.logger = logger; }
private long?TryGetFromTicks([NotNull] TaskIndexShardKey taskIndexShardKey, out ILiveRecordTicksMarker liveRecordTicksMarker) { liveRecordTicksMarker = oldestLiveRecordTicksHolder.TryGetCurrentMarkerValue(taskIndexShardKey); if (liveRecordTicksMarker == null) { return(null); } var overlapDuration = GetOverlapDuration(taskIndexShardKey); var fromTicks = liveRecordTicksMarker.State.CurrentTicks - overlapDuration.Ticks; var safetyBelt = (Timestamp.Now - TimeSpan.FromHours(6)).Ticks; if (fromTicks < safetyBelt) { logger.Warn("fromTicks ({FromTicks}) < safetyBelt ({SafetyBelt})", new { FromTicks = new Timestamp(fromTicks), SafetyBelt = new Timestamp(safetyBelt) }); return(safetyBelt); } return(fromTicks); }
public GetEventsEnumerator([NotNull] ILiveRecordTicksMarker liveRecordTicksMarker, ISerializer serializer, IColumnFamilyConnection connection, long fromTicks, long toTicks, int batchSize, ILog logger) { this.liveRecordTicksMarker = liveRecordTicksMarker; this.serializer = serializer; this.connection = connection; this.fromTicks = fromTicks; this.toTicks = toTicks; this.batchSize = batchSize; this.logger = logger; iFrom = CassandraNameHelper.GetTicksRowNumber(fromTicks); iTo = CassandraNameHelper.GetTicksRowNumber(toTicks); Reset(); LogFromToCountStatistics(); }