UnregisterReminder takes IGrainReminder but actually requires ReminderData which is internal
- Dominant language
- C#
- Stars
- 10.9k
- Forks
- 2.1k
- Avg merge
- 13h 56m
- Merged PRs (30d)
- 351
Description
The `UnregisterReminder` takes `IGrainReminder` but actually requires `ReminderData`.
https://github.com/dotnet/orleans/blob/c846cb0c361ff3ed83c004a1def3966d036c2aea/src/Orleans.Reminders/ReminderService/LocalReminderService.cs#L155
This is inconvenient as the `ReminderData` type is internal and only acquirable via `GetReminder` which involves often unnecessary database(`IReminderTable`) call. I propose either to make `ReminderData` type public or changing the API and the implementation in such way that consumers of the API are able to construct the type required by the method manually.
Contributor guide
Research direction
Start with LocalReminderService.cs around the referenced UnregisterReminder implementation, then inspect IGrainReminder, ReminderData, GetReminder, and IReminderTable. Determine which API shape lets consumers unregister without acquiring internal ReminderData through an unnecessary table call; done means the public contract and implementation support that use case consistently.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- backend-api-design, distributed-systems
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100