[Bug] Shall we resolve the memory forget release or double release issue by a framework?
- Dominant language
- Java
- Stars
- 454
- Forks
- 172
- Avg merge
- 5d 17h
- Merged PRs (30d)
- 5
Description
### Code of Conduct
- [X] I agree to follow this project's [Code of Conduct](https://www.apache.org/foundation/policies/conduct)
### Search before asking
- [X] I have searched in the [issues](https://github.com/apache/incubator-uniffle/issues?q=is%3Aissue) and found no similar issues.
### Describe the bug
During these day, we found a bundle of memory related issue, some are memory leak, some are double release, these make us confusing.
And we have a discussion between our teammate, an idea is that we should decouple rpc thread and memory release thread by a blocking queue, leverage this queue, let's say it `releaseEventQueue`, rpc threads could be memory release event producer, and memory release thread poll the `releaseEventQueue` and release the memory, by this, we can make sure release memory within one thread, double release behavior can be detected and avoid.
Any thoughts?
### Affects Version(s)
master
### Uniffle Server Log Output
_No response_
### Uniffle Engine Log Output
_No response_
### Uniffle Server Configurations
_No response_
### Uniffle Engine Configurations
_No response_
### Additional context
_No response_
### Are you willing to submit PR?
- [ ] Yes I am willing to submit a PR!
Contributor guide
Research direction
Start by tracing the RPC-thread memory release paths described in the issue and identifying where memory leaks or double releases occur. Review whether a releaseEventQueue and dedicated memory-release thread would cover those paths, then define tests or observable checks for single, complete release; the issue names no files or existing tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- backend, distributed-systems
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100