Установленное соединение было прервано программным обеспечением вашего хоста - PullRequest
0 голосов
/ 22 февраля 2019

Я использую MassTransit против RabbitMQ.По большей части это работает хорошо, но через некоторое время потребитель начинает выдавать предупреждение S-FAULT:

MassTransit.Messages Warning: 0 : S-FAULT rabbitmq://<redacted>/iemr_ExistingRowCheck 62560000-56b4-0050-b40b-08d69864ff75 ieMR.BulkCopy.MissingRowImport.Queues.ExistingRowCheck 
An established connection was aborted by the software in your host machine, System.IO.IOException: Unable to write data to the transport connection: An established connection was aborted by the
software in your host machine. ---> System.Net.Sockets.SocketException: An established connection was aborted by the software in your host machine
   at System.Net.Sockets.NetworkStream.Write(Byte[] buffer, Int32 offset, Int32 size)
   --- End of inner exception stack trace ---
   at System.Net.Sockets.NetworkStream.Write(Byte[] buffer, Int32 offset, Int32 size)
   at RabbitMQ.Client.Impl.SocketFrameHandler.Write(Byte[] buffer)
   at RabbitMQ.Client.Impl.Command.TransmitAsFrameSet(Int32 channelNumber, Connection connection)
   at RabbitMQ.Client.Impl.SessionBase.Transmit(Command cmd)
   at RabbitMQ.Client.Impl.ModelBase.BasicPublish(String exchange, String routingKey, Boolean mandatory, IBasicProperties basicProperties, Byte[] body)
   at MassTransit.RabbitMqTransport.Contexts.RabbitMqModelContext.PublishAsync(String exchange, String routingKey, Boolean mandatory, IBasicProperties basicProperties, Byte[] body)
   at MassTransit.RabbitMqTransport.Contexts.RabbitMqModelContext.<>c__DisplayClass12_0.<MassTransit.RabbitMqTransport.ModelContext.BasicPublishAsync>b__1()
   at System.Threading.Tasks.Task`1.InnerInvoke()
   at System.Threading.Tasks.Task.Execute()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at MassTransit.RabbitMqTransport.Contexts.RabbitMqModelContext.<MassTransit-RabbitMqTransport-ModelContext-BasicPublishAsync>d__12.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at MassTransit.Internals.Extensions.TaskExtensions.<WithCancellation>d__1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at MassTransit.RabbitMqTransport.Transport.RabbitMqSendTransport.<>c__DisplayClass7_0`1.<<MassTransit-Transports-ISendTransport-Send>b__1>d.MoveNext()

Могу ли я игнорировать эти предупреждения?

Я использую MassTransit5.3.1.0 с сопоставлением MassTransit.RabbitMqTransport с RabbitMq 3.7.5 на Erlang 20.3.

Ответы [ 2 ]

0 голосов
/ 23 февраля 2019

Спасибо за предложения по проверке журналов RabbitMQ.

В журнале было много строк, как показано ниже:

2019-02-23 11:01:35.254 [info] <0.280.0> vm_memory_high_watermark set. Memory used:1724121088 allowed:1717798502
2019-02-23 11:01:35.254 [warning] <0.278.0> memory resource limit alarm set on node 'rabbit@THHS-D-RABTMQ01'.

**********************************************************
*** Publishers will be blocked until this alarm clears ***
**********************************************************
2019-02-23 11:02:22.596 [info] <0.280.0> vm_memory_high_watermark clear. Memory used:1714683904 allowed:1717798502

Увеличение верхнего водяного знака памяти в rabbitmq.conf, кажется, имеетсделали свое дело:

vm_memory_high_watermark.relative = 0.8

Я попрошу команду сервера увеличить память на этом компьютере в понедельник.

0 голосов
/ 22 февраля 2019

Я обычно сбрасываю сетевые ошибки на сервере в битовую корзину.

Это означает, что либо брандмауэр с сохранением состояния отключил (мертвое) соединение, либо IP-адрес на другом конце стал недоступен так, как ваш хостОС может быстро обнаружить.

...