Code of Conduct
Search before asking
Describe the bug
When the shuffle server of uniffle colocates with the Yarn nodemanager and using MEMORY_LOCALFILE_HDFS, I found the exception occurs, like this: Unexpected crc value for blockId xxxxxxxxx . (Finally, I found this is caused by the partial data into file when meeting the no-space left exception)
From the corresponding shuffle-server, I found the disk is full.
But why the disk full caused the unexpected crc? I give two possible reasons
- The flush event is triggered to write the local disk due to the failure of
storage.canWrite()
- And then the partial data of one event is written to the file of this disk. The another part data for this event has not been written due to no-space left exception. This makes in-consistency
I want to explain more about stoarge.canWrite() . Actually, this part logic is correct for exclusive resource deployment for uniffle shuffle-server. But when colocating with other service, this method is incorrect. Because the other service may occupy lots of disk size, which will make the disk limit invalid.
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?
Code of Conduct
Search before asking
Describe the bug
When the shuffle server of uniffle colocates with the Yarn nodemanager and using MEMORY_LOCALFILE_HDFS, I found the exception occurs, like this:
Unexpected crc value for blockId xxxxxxxxx. (Finally, I found this is caused by the partial data into file when meeting the no-space left exception)From the corresponding shuffle-server, I found the disk is full.
But why the disk full caused the unexpected crc? I give two possible reasons
storage.canWrite()I want to explain more about
stoarge.canWrite(). Actually, this part logic is correct for exclusive resource deployment for uniffle shuffle-server. But when colocating with other service, this method is incorrect. Because the other service may occupy lots of disk size, which will make the disk limit invalid.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?