apache / apache/uniffle

[Bug] Shall we resolve the memory forget release or double release issue by a framework?

Open
#1,932 0 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.