thanks a lot for your reply!
I find one of the patterns:
The "[System.TimeoutException] The operation has timed out" is more related to Grafana "data buffered in distribution links queue" metrics.
After got "System.TimeoutException", then, client got several exceptions of "[System.NotSupportedException] Pipelining of requests forbidden".
Currently, I have set "RABBITMQ_DISTRIBUTION_BUFFER_SIZE=1048576" 1GB in rabbitmq-env.conf. (Rabbitmq 3.11.2 + Erlang 25.1.2.)
[System.TimeoutException] The operation has timed out. StackTrace:
Core.Library.RabbitMQ.Receiver.ListenToQueue D:\cd011a\_w\910\s\library\Core.Library.RabbitMQ\Receiver.cs [62]
Core.Library.RabbitMQ.Receiver.DeclareQueue D:\cd011a\_w\910\s\library\Core.Library.RabbitMQ\Receiver.cs [230]
RabbitMQ.Client.Impl.AutorecoveringModel.QueueDeclare
RabbitMQ.Client.Impl.ModelBase.QueueDeclare
RabbitMQ.Client.Impl.SimpleBlockingRpcContinuation.GetReply
RabbitMQ.Util.BlockingCell.GetValue
In addition, I still review my code about Imodel thread safe issue.
I add lock whenever access Imodel insance in my code for thread safe now.
Not sure if C#SDK auto recovery mechanism maybe conflict with my lock?
After extracted code pattern, I could share here.
BR
xiaoyan