Напоминания субъекта Service Fabric и повторяющиеся сообщения

документация по Service Fabric утверждает, что:

Субъекты могут получать дубликаты сообщений от одного и того же клиента.

Это относится и к напоминаниям? Если я установлю одно напоминание для своего экземпляра актера, может ли оно быть вызвано дважды одновременно?


person FrequentGuest    schedule 09.08.2017    source источник


Ответы (1)


Моя команда отправила аналогичный вопрос в службу поддержки Service Fabric, и это был их ответ...

*"Если происходит отработка отказа (т. е. текущий первичный процесс становится вторичным или происходит сбой основного процесса) во время выполнения обратного вызова "ReceiveReminderAsync()" или отработки отказа происходит после завершения "ReceiveReminderAsync()", но до того, как ActorRuntime выполняет автоматическое сохранение состояния и записывает завершение , на новом первичном устройстве это напоминание немедленно сработает снова.

Обратите внимание, что в этом сценарии, когда появляется новый первичный узел и вызывает напоминание, обратный вызов напоминания в предыдущем первичном элементе может все еще выполняться (и в конечном итоге не сможет внести какие-либо изменения локального состояния, поскольку реплика стала вторичной)"*.

Такое поведение кажется полностью совместимым с тем, почему метод публичного актора вызывается дважды.

person Jack Bond    schedule 16.08.2017