From e466142bb598626903e322a25eb837e66ae00f43 Mon Sep 17 00:00:00 2001 From: danielmarbach Date: Wed, 30 Oct 2024 12:57:54 +0100 Subject: [PATCH] Throw when lease not acquired. This can happen then the rate limiter doesn't allow queuing or is generally wrongly configured --- projects/RabbitMQ.Client/Impl/Channel.PublisherConfirms.cs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/projects/RabbitMQ.Client/Impl/Channel.PublisherConfirms.cs b/projects/RabbitMQ.Client/Impl/Channel.PublisherConfirms.cs index d179af7aa..dff4504d1 100644 --- a/projects/RabbitMQ.Client/Impl/Channel.PublisherConfirms.cs +++ b/projects/RabbitMQ.Client/Impl/Channel.PublisherConfirms.cs @@ -283,6 +283,11 @@ await _confirmSemaphore.WaitAsync(reason.CancellationToken) lease = await _outstandingPublisherConfirmationsRateLimiter.AcquireAsync( cancellationToken: cancellationToken) .ConfigureAwait(false); + + if (!lease.IsAcquired) + { + throw new InvalidOperationException("Could not acquire a lease from the rate limiter."); + } } }