Skip to content

Commit 6d18dea

Browse files
author
Christoph Bühler
committed
fix: the removal of timed enqueue should be locked
1 parent 2a9a458 commit 6d18dea

File tree

1 file changed

+10
-1
lines changed

1 file changed

+10
-1
lines changed

src/KubeOps/Operator/Queue/ResourceEventQueue.cs

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,16 @@ public async Task Enqueue(TEntity resource, TimeSpan? enqueueDelay = null)
121121
@"Delayed event timer elapsed for ""{kind}/{name}"".",
122122
delayedResource.Kind,
123123
delayedResource.Metadata.Name);
124-
_delayedEnqueue.Remove(delayedResource.Metadata.Uid);
124+
try
125+
{
126+
await _semaphore.WaitAsync();
127+
_delayedEnqueue.Remove(delayedResource.Metadata.Uid);
128+
}
129+
finally
130+
{
131+
_semaphore.Release();
132+
}
133+
125134
var cachedResource = _cache.Get(delayedResource.Metadata.Uid);
126135
if (cachedResource == null)
127136
{

0 commit comments

Comments
 (0)