public void Add(ReservedRange range) { if (range != null) { foreach (var item in range.DataNodeToFinalParts) { if (!this.DataNodeToFinalParts.TryGetValue(item.Key, out var list)) { list = new List <AgentPacketPartInfo>(); this.DataNodeToFinalParts.Add(item.Key, list); } list.AddRange(item.Value); } } }
private void ReserveRange(DataNodeReader nodeReader, DataProcessingContext ctx) { ReservedRange range = nodeReader.ReserveRangeAsync(ctx.DpuId, new ReserveRangeOptions { LeaseTimeout = this.settings.JobLeaseLifeTime ?? TimeSpan.FromHours(1), NeedReserveRange = ctx.NeedReserveRange.ForAlreadyReserved(ctx.RangeRecordsCount()), HasDataInPreviousProcessing = ctx.HasDataInPreviousProcessing, FullScanAfterNQueries = 20, }, ctx.CancellationToken); if (ctx.ReservedRange == null) { ctx.ReservedRange = range; } else { ctx.ReservedRange.Add(range); } }