Что вызывает исключение ReceiverDisconnectedException/LeaseLostException в Центрах событий Azure?C#

Место общения программистов C#
Anonymous
Что вызывает исключение ReceiverDisconnectedException/LeaseLostException в Центрах событий Azure?

Сообщение Anonymous »

Я получаю события из EventHub, используя EventProcessorHost и класс IEventProcessor (назовем его: MyEventProcessor). Я масштабирую это до двух серверов, запуская EPH на обоих серверах и заставляя их подключаться к концентратору с использованием одной и той же ConsumerGroup, но с уникальным именем хоста (с использованием имени компьютера).

Проблема в том, что в случайные часы дня и ночи приложение регистрирует это:

Код: Выделить всё

Exception information:
Exception type: ReceiverDisconnectedException
Exception message: New receiver with higher epoch of '186' is created hence current receiver with epoch '186' is getting disconnected. If you are recreating the receiver, make sure a higher epoch is used.
at Microsoft.ServiceBus.Common.ExceptionDispatcher.Throw(Exception exception)
at Microsoft.ServiceBus.Common.Parallel.TaskHelpers.EndAsyncResult(IAsyncResult asyncResult)
at Microsoft.ServiceBus.Messaging.IteratorAsyncResult`1.StepCallback(IAsyncResult result)
Это исключение возникает одновременно с исключением LeaseLostException, вызываемым методом CloseAsync MyEventProcessor при попытке установить контрольную точку. (Предположительно, Close вызывается из-за исключения ReceiverDisconnectedException?)

Я думаю, что это происходит из-за автоматического управления арендой Центров событий при масштабировании на несколько компьютеров. Но мне интересно, нужно ли мне сделать что-то другое, чтобы оно работало более чисто и избежать этих исключений? Например: что-то с эпохами?

Подробнее здесь: https://stackoverflow.com/questions/414 ... stexceptio

Вернуться в «C#»