Consider splitting `IoExecutor` and `Executor` from `GlobalExecutionContext`
- Dominant language
- Java
- Stars
- 1k
- Forks
- 229
- Avg merge
- 23h 23m
- Merged PRs (30d)
- 16
Description
We pick individual components from `GlobalExecutionContext` when users decide to override part of the `ExecutionContext` from client/server builders. Since `GlobalExecutionContext` is a singleton, it will create the `IoExecutor` and `Executor` even if they are not used.
For cases where none of the client/server uses the global `IoExecutor` or `Executor`, we may resources unnecessarily.
Related discussion:
https://github.com/servicetalk/servicetalk/pull/128#discussion_r225439299
Contributor guide
Research direction
Start by reading GlobalExecutionContext and its uses in the client/server builders, then review the related discussion in pull request 128. Determine how IoExecutor and Executor can be separated so unused resources are not created; done means the proposed split works for builders that override either component.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- networking
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100