It is possible that the IReminderTable implementation might be accessed before it has been successfully initialized. This PR ensures that is not the case for LocalReminderService by initializing the table before starting the LocalReminderService and before grains are allowed to start.
While doing so, I also implemented support for CancellationToken in IReminderTable for startup/shutdown, obsoleting the existing Init() method and replacing it with StartAsync(CancellationToken), adding a new StopAsync(CancellationToken).
It is possible that the
IReminderTable
implementation might be accessed before it has been successfully initialized. This PR ensures that is not the case forLocalReminderService
by initializing the table before starting theLocalReminderService
and before grains are allowed to start.While doing so, I also implemented support for
CancellationToken
inIReminderTable
for startup/shutdown, obsoleting the existingInit()
method and replacing it withStartAsync(CancellationToken)
, adding a newStopAsync(CancellationToken)
.Microsoft Reviewers: Open in CodeFlow