Details
-
Sub-task
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
2.0.2-alpha
-
None
-
Reviewed
Description
Edit logging is a major source of contention within the NN. LogEdit is called within the namespace write log, while logSync is called outside of the lock to allow greater concurrency. The handler thread remains busy until logSync returns to provide the client with a durability guarantee for the response.
Write heavy RPC load and/or slow IO causes handlers to stall in logSync. Although the write lock is not held, readers are limited/starved and the call queue fills. Combining an edit log thread with postponed RPC responses from HADOOP-10300 will provide the same durability guarantee but immediately free up the handlers.
Attachments
Attachments
Issue Links
- causes
-
HDFS-15175 Multiple CloseOp shared block instance causes the standby namenode to crash when rolling editlog
- Resolved
- depends upon
-
HADOOP-12483 Maintain wrapped SASL ordering for postponed IPC responses
- Resolved
- is related to
-
HDFS-15486 Costly sendResponse operation slows down async editlog handling
- Open
-
HDFS-10722 Fix race condition in TestEditLog#testBatchedSyncWithClosedLogs
- Resolved
-
HDFS-11737 Backport HDFS-7964 to branch-2.7: add support for async edit logging
- Resolved
- relates to
-
HDFS-13676 TestEditLogRace fails on Windows
- Resolved
-
HDFS-12603 Enable async edit logging by default
- Resolved
- requires
-
HADOOP-10300 Allowed deferred sending of call responses
- Resolved