diff --git a/Core/Cleipnir.ResilientFunctions/Queuing/QueueManager.cs b/Core/Cleipnir.ResilientFunctions/Queuing/QueueManager.cs index 88ee685fd..5f2fc0f80 100644 --- a/Core/Cleipnir.ResilientFunctions/Queuing/QueueManager.cs +++ b/Core/Cleipnir.ResilientFunctions/Queuing/QueueManager.cs @@ -83,19 +83,11 @@ private async Task Initialize() _idempotencyKeys.Initialize(); - var children = _effect.GetChildren(DeliveredPositionsId); - var positions = new List(); - foreach (var childId in children) - { - var position = _effect.Get(childId); - positions.Add(position); - } - - if (positions.Any()) + if (_effect.TryGet>(DeliveredPositionsId, out var positions) && positions is { Count: > 0 }) { await _messageStore.DeleteMessages(_storedId, positions); - foreach (var childId in children) - await _effect.Clear(childId, flush: false); + positions.Clear(); + _effect.FlushlessUpsert(DeliveredPositionsId, positions, alias: null); } _initialized = true;