dotnet / dotnet/orleans

Json serialization settings in Orleans

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

Description

Several Orleans systems/components use json serialization. Orleans sets up its own default json settings and some systems allow certain overrides of this default. Much of this seems to have been setup before the introduction of dependency injection, names services, or options, and has some shortcomings.

• Unclear why default settings are necessary. Do we need a default, or should each system just provide its own settings.
• Not discoverable. How do users know we have default json settings.
• No way to modify the default. Only per component overrides are provided.
• Ease of use. To get the default settings one needs a type resolver and grain interface, both of which have internal implementations.

Suggest examination of whether a global default is necessary, and if necessary a refactor of how it is configured, used and overridden.

Contributor guide

Open the contributing guide

Research direction

No files, tests, or entry points are named. Start by surveying Orleans' JSON serialization defaults and the per-component overrides described in the issue. Done means deciding whether a global default is needed and, if so, making its configuration, use, and override behavior discoverable and consistent.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
distributed-systems
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.