[ https://issues.apache.org/jira/browse/HDFS-4186?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Kihwal Lee updated HDFS-4186:
-----------------------------
Attachment: hdfs-4186-trunk-inaccurate-batched-sync-count.patch
hdfs-4186-branch-0.23-inaccurate-batched-sync-count.patch
Updated patches address Daryn's comment.
> logSync() is called with the write lock held while releasing lease
> ------------------------------------------------------------------
>
> Key: HDFS-4186
> URL: https://issues.apache.org/jira/browse/HDFS-4186
> Project: Hadoop HDFS
> Issue Type: Bug
> Components: name-node
> Affects Versions: 0.23.4, 2.0.2-alpha
> Reporter: Kihwal Lee
> Assignee: Kihwal Lee
> Priority: Critical
> Attachments: hdfs-4186-branch-0.23-inaccurate-batched-sync-count.patch, hdfs-4186-branch-0.23-inaccurate-batched-sync-count.patch,
hdfs-4186-trunk-inaccurate-batched-sync-count.patch, hdfs-4186-trunk-inaccurate-batched-sync-count.patch,
hdfs-4186-trunk.patch
>
>
> As pointed out in HDFS-4138, when the lease monitor calls internalReleaseLease(), it
acquires the namespace write lock. Inside internalReleaseLease(), if a block recovery is needed,
the lease is reassigned to the namenode itself and this is logged & synced in logReassignLease().
> Since this is done while the write lock is held, log syncing is blocked. When a large
number of leases are expired and blocks are recovered, namenode can slow down.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
|