Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
0.22.0
-
None
-
Reviewed
Description
In the current trunk, the HDFS client methods writeChunk() and hflush./sync are syncronized. This means that if a hflush/sync is in progress, an applicationn cannot write data to the HDFS client buffer. This reduces the write throughput of the transaction log in HBase.
The hflush/sync should allow new writes to happen to the HDFS client even when a hflush/sync is in progress. It can record the seqno of the message for which it should receice the ack, indicate to the DataStream thread to star flushing those messages, exit the synchronized section and just wai for that ack to arrive.
Attachments
Attachments
Issue Links
- blocks
-
HBASE-2467 Concurrent flushers in HLog sync using HDFS-895
- Closed
- relates to
-
HDFS-1497 Write pipeline sequence numbers should be sequential with no skips or duplicates
- Resolved