Json serialization settings in Orleans
- 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
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