Details
-
Sub-task
-
Status: Resolved
-
Major
-
Resolution: Implemented
-
None
-
None
-
None
Description
In a profile result, we found that the client PutBlock request has lots of redundancy, especially the BlockData structure. The data structure contains the metadata of every chunk in the block, which is not required because only the last two chunks matters.
This is especially critical for small and frequent puts, such as hsync API called by HBase WAL files. We found that at least 60% of client CPU cycle during hsync call can be attributed to this problem, and potentially a huge impact to the latency.
Attachments
Attachments
Issue Links
- contains
-
HDDS-9750 [hsync] Make Putblock performance acceptable - Skeleton code
- Resolved
-
HDDS-9751 [hsync] Make Putblock performance acceptable - DataNode side
- Resolved
-
HDDS-9752 [hsync] Make Putblock performance acceptable - Client side
- Resolved
-
HDDS-9753 [hsync] Make Putblock performance acceptable - Tool cleanup, guardrails
- Resolved
- is related to
-
HDDS-7593 Supporting HSync and lease recovery
- Resolved
- is required by
-
HDDS-8769 [hsync] disk usage thread aborts if ratis log rolls very quickly
- Resolved
- links to