You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-issues@hadoop.apache.org by "Daryn Sharp (JIRA)" <ji...@apache.org> on 2018/05/22 14:30:00 UTC

[jira] [Commented] (HADOOP-15486) Add a config option to make NetworkTopology#netLock fair

    [ https://issues.apache.org/jira/browse/HADOOP-15486?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16484047#comment-16484047 ] 

Daryn Sharp commented on HADOOP-15486:
--------------------------------------

There's no need for a config.  Just make the lock always be fair.  Updates to the topology should be rare compared to block placements so the throughput degradation of the fair lock will be minimal.

> Add a config option to make NetworkTopology#netLock fair
> --------------------------------------------------------
>
>                 Key: HADOOP-15486
>                 URL: https://issues.apache.org/jira/browse/HADOOP-15486
>             Project: Hadoop Common
>          Issue Type: Improvement
>          Components: net
>            Reporter: Nanda kumar
>            Assignee: Nanda kumar
>            Priority: Major
>         Attachments: HADOOP-15486.000.patch
>
>
> Whenever a datanode is restarted, the registration call after the restart received by NameNode lands in {{NetworkTopology#add}} via {{DatanodeManager#registerDatanode}} requires write lock on {{NetworkTopology#netLock}}. This registration thread is getting starved by flood of {{FSNamesystem.getAdditionalDatanode}} calls, which are triggered by clients those who were writing to the restarted datanode.
> The registration call which is waiting for write lock on {{NetworkTopology#netLock}} is holding write lock on {{FSNamesystem#fsLock}}, causing all the other RPC calls which require the lock on {{FSNamesystem#fsLock}} wait.
> We can introduce a config property to make {{NetworkTopology#netLock}} lock fair so that the registration thread will not starve.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: common-issues-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-issues-help@hadoop.apache.org