dotnet / dotnet/orleans

UnregisterReminder takes IGrainReminder but actually requires ReminderData which is internal

Open
#8,176 5 comments 0 reactions 0 assignees View on GitHub
enhancement Needs: triage :mag:
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.