[Improvement] Keep encoded size of block consistent between client and server
- 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.
### What would you like to be improved?
Keep the client side `ShuffleBlockInfo#getSize` and server side `ShufflePartitionedBlock#getSize` with the consistent `encoded header length`.
### How should we improve?
Client send the `encoded header length` to the server, then server use the received `encoded header length` for compute the `getSize` method.
### Are you willing to submit PR?
- [X] Yes I am willing to submit a PR!
Contributor guide
Research direction
Start by locating ShuffleBlockInfo#getSize and ShufflePartitionedBlock#getSize, then trace how the client encodes and sends the block header and how the server receives it. Done means the client-provided encoded header length reaches the server and both getSize methods compute consistently with it.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- distributed-systems
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100