Global resources are never cleaned
- Dominant language
- Java
- Stars
- 1k
- Forks
- 229
- Avg merge
- 23h 23m
- Merged PRs (30d)
- 16
Description
We use a global DNS `ServiceDiscoverer` for clients when no `ServiceDiscoverer` is provided by the user. This DNS `ServiceDiscoverer` uses `DefaultDnsServiceDiscoverer` which requires closing, failing which leaks a channel.
EDIT: `GlobalExecutionContext` contains an `IoExecutor` and `Executor` that are also never closed.
Contributor guide
Research direction
Start by tracing the global DNS ServiceDiscoverer and DefaultDnsServiceDiscoverer, then inspect GlobalExecutionContext and its IoExecutor and Executor. Determine how these global resources are owned and where shutdown is expected; done means the DNS channel and execution resources are closed without disrupting clients that use the defaults.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- networking
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100