Azure / azure-service-bus

☁️ Azure Service Bus service issue tracking and samples
https://azure.microsoft.com/services/service-bus
MIT License
580 stars 775 forks source link

QueueClient throw System.TimeoutException while publishing message #665

Closed ruonan0509 closed 1 year ago

ruonan0509 commented 1 year ago

QueueClient encounters TimeoutException while publishing messages to service bus. but after the service back, every message sent results in a TimeoutException. The system does not recover until the application is restarted.

library: Microsoft.Azure.ServiceBus 4.1.1

our code:

    public SvcBusPublisher(string connectionString)
    {
        var builder = new ServiceBusConnectionStringBuilder(connectionString);
        Publisher = new QueueClient(builder);
    }
    public void Publish(IOrderMessage message, string _)
    {
        var payload = Encoding.Unicode.GetBytes(JsonConvert.SerializeObject(message));
        Publisher
            .SendAsync(new Message(payload))
            .ConfigureAwait(false)
            .GetAwaiter()
            .GetResult();
    }
    public void Stop() => Publisher
        .CloseAsync()
        .ConfigureAwait(false)
        .GetAwaiter()
        .GetResult();

error message: The operation did not complete within the allocated time 00:01:00 for object message. trace: Microsoft.Azure.ServiceBus.ServiceBusTimeoutException: at Microsoft.Azure.ServiceBus.Core.MessageSender+d58.MoveNext (Microsoft.Azure.ServiceBus, Version=4.1.1.0, Culture=neutral, PublicKeyToken=7e34167dcc6d6d8c) at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw (mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089) at Microsoft.Azure.ServiceBus.RetryPolicy+d19.MoveNext (Microsoft.Azure.ServiceBus, Version=4.1.1.0, Culture=neutral, PublicKeyToken=7e34167dcc6d6d8c) at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw (mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089) at Microsoft.Azure.ServiceBus.RetryPolicy+d19.MoveNext (Microsoft.Azure.ServiceBus, Version=4.1.1.0, Culture=neutral, PublicKeyToken=7e34167dcc6d6d8c) at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw (mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089) at Microsoft.Azure.ServiceBus.Core.MessageSender+d45.MoveNext (Microsoft.Azure.ServiceBus, Version=4.1.1.0, Culture=neutral, PublicKeyToken=7e34167dcc6d6d8c) at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw (mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089) ... Inner exception System.TimeoutException handled at Microsoft.Azure.ServiceBus.Core.MessageSender+d58.MoveNext: at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw (mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089) at Microsoft.Azure.Amqp.AsyncResult.End (Microsoft.Azure.Amqp, Version=2.4.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35) at Microsoft.Azure.Amqp.SendingAmqpLink.EndSendMessage (Microsoft.Azure.Amqp, Version=2.4.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35) at System.Threading.Tasks.TaskFactory`1.FromAsyncCoreLogic (mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089) at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw (mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089) at Microsoft.Azure.ServiceBus.Core.MessageSender+d58.MoveNext (Microsoft.Azure.ServiceBus, Version=4.1.1.0, Culture=neutral, PublicKeyToken=7e34167dcc6d6d8c)

EldertGrootenboer commented 1 year ago

Please upgrade to the latest SDK version, as this is an old version. The latest SDK has many fixes that you are missing on with this package. The latest SDK can be found at https://www.nuget.org/packages/Azure.Messaging.ServiceBus/.