dotnet / dotnet/orleans

Any specifc reason to varchar(150) for GrainId in OrleansRemindersTable?

Open
#9,653 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
C#
Stars
10.9k
Forks
2.1k
Avg merge
14h 42m
Merged PRs (30d)
354

Description

We have this generic Grain

`public class DoThings : Grain, IDoThings, IRemindable where T : class`

When we try to register a reminder in this grain it fails because GrainId stored in OrleansRemindersTable is a varchar(150) and with proper namespaces on things it's easy to get GrainId to become more then 150 chars.

Is it safe to increase the field in OrleansRemindersTable to allow more then 150 chars or is there a hard limit on the length of GrainId in Orleans?

The storage is created with [PostgreSQL-Reminders.sql](https://github.com/dotnet/orleans/blob/main/src/AdoNet/Orleans.Reminders.AdoNet/PostgreSQL-Reminders.sql)

Contributor guide

Open the contributing guide

Research direction

Start with src/AdoNet/Orleans.Reminders.AdoNet/PostgreSQL-Reminders.sql and trace how GrainId is produced for the generic DoThings grain during reminder registration. Confirm whether Orleans defines a GrainId length limit and whether the PostgreSQL column width is the only constraint; done means documenting the supported limit or identifying the required schema and code changes.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp, postgresql
Domain
databases, distributed-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.