in code/KustoCopyConsole/Entity/InMemory/RowItemInMemoryCache.cs [197:236]
private IImmutableDictionary<string, ActivityCache> AppendBlock(BlockRowItem item)
{
var activityName = item.ActivityName;
if (ActivityMap.ContainsKey(activityName))
{
var activity = ActivityMap[activityName];
if (activity.IterationMap.ContainsKey(item.IterationId))
{
var iteration = activity.IterationMap[item.IterationId];
if (iteration.BlockMap.ContainsKey(item.BlockId))
{
var block = iteration.BlockMap[item.BlockId];
return ActivityMap.SetItem(
activityName,
activity.AppendIteration(
iteration.AppendBlock(
new BlockCache(item, block.UrlMap, block.ExtentMap))));
}
else
{
return ActivityMap.SetItem(
activityName,
activity.AppendIteration(
iteration.AppendBlock(new BlockCache(item))));
}
}
else
{
throw new NotSupportedException("Iteration should come before block in logs");
}
}
else
{
throw new NotSupportedException("Activity should come before block in logs");
}
}