Details
-
Sub-task
-
Status: Resolved
-
Blocker
-
Resolution: Fixed
-
None
-
None
Description
The current hysnc implementation KeyOutputStream.hsync() is wrapped in a synchronized block. The HBase write ahead log FSHLog.SyncRunner has multiple threads invoking hsync in parallel to reduce client latency.
We should unsynchronize Ozone's hsync such that it doesn't block waiting for the Ratis transaction to respond.
cc: szetszwo this is what we discussed offline.
Attachments
Attachments
Issue Links
- breaks
-
HDDS-11193 KeyOutputStream flakiness when running write and hsync concurrently
- Resolved
- incorporates
-
HDDS-11073 [hsync] Improve BlockOutputStream's BufferPool to support variable buffer allocation from concurrent hsync
- Resolved
- is a parent of
-
HDDS-11184 [hsync] Add a client config to limit write concurrency on the same key
- Resolved
- is required by
-
HDDS-11043 Explore client retry optimizations after write() and hsync() are desynced
- Open
- relates to
-
HDDS-11073 [hsync] Improve BlockOutputStream's BufferPool to support variable buffer allocation from concurrent hsync
- Resolved
-
HDDS-11174 [hsync] Change XceiverClientRatis.watchForCommit to async
- Resolved
- links to