Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Improvement] Add retry mechanism for reading data(memory/local/index) when there is no buffer #1606

Closed
3 tasks done
rickyma opened this issue Mar 27, 2024 · 2 comments · Fixed by #1616 or #2110
Closed
3 tasks done

Comments

@rickyma
Copy link
Contributor

rickyma commented Mar 27, 2024

Code of Conduct

Search before asking

  • I have searched in the issues and found no similar issues.

Describe the bug

There is no retry mechanism for clients to read data(memory/local/index) when there is no read memory on the server side.
Currently, retries will be performed on the server side, up to 50 times, with a sleep time of 1s each time. This means that a request may take more than 50s, which significantly affects the server's throughput in handling read requests.

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!
@rickyma rickyma changed the title [Bug] Add retry mechanism for reading data(memory/local/index) [Bug] Add retry mechanism for reading data(memory/local/index) when there is no buffer Mar 27, 2024
@rickyma
Copy link
Contributor Author

rickyma commented Mar 27, 2024

Do we regard this issue as a bug or as a feature? @jerqi @zuston

@jerqi
Copy link
Contributor

jerqi commented Mar 27, 2024

I think this is an improvement.

@rickyma rickyma changed the title [Bug] Add retry mechanism for reading data(memory/local/index) when there is no buffer [Improvement] Add retry mechanism for reading data(memory/local/index) when there is no buffer Mar 27, 2024
rickyma added a commit to rickyma/incubator-uniffle that referenced this issue Apr 1, 2024
…ta(memory/local/index) when there is no buffer
rickyma added a commit to rickyma/incubator-uniffle that referenced this issue Apr 1, 2024
…ta(memory/local/index) when there is no buffer
rickyma added a commit to rickyma/incubator-uniffle that referenced this issue Apr 1, 2024
…ta(memory/local/index) when there is no buffer
rickyma added a commit to rickyma/incubator-uniffle that referenced this issue Apr 1, 2024
…ta(memory/local/index) when there is no buffer
rickyma added a commit to rickyma/incubator-uniffle that referenced this issue Apr 1, 2024
…ta(memory/local/index) when there is no buffer
rickyma added a commit to rickyma/incubator-uniffle that referenced this issue Apr 1, 2024
…ta(memory/local/index) when there is no buffer
zuston pushed a commit that referenced this issue Apr 8, 2024
…eading data(memory/local/index) (#1616)

### What changes were proposed in this pull request?

1. Remove server-side retry when reading data, and switch to client-side backoff retry; 
2. Optimize lock contention issues when reading data, using CAS.

### Why are the changes needed?

Fix #1606.

### Does this PR introduce _any_ user-facing change?

No.

### How was this patch tested?

New UTs added. Tested in our env.
zhengchenyu added a commit to zhengchenyu/incubator-uniffle that referenced this issue Sep 11, 2024
zhengchenyu added a commit that referenced this issue Sep 23, 2024
…a(memory/local/index) (#2110)

### What changes were proposed in this pull request?

Add retry mechanism tez. #1606 add retry mechanism, but forgot to add for tez.

### Why are the changes needed?

Fix: #1606

### Does this PR introduce _any_ user-facing change?

No.

### How was this patch tested?

unit test
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment