hadoop-yarn-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Rohith Sharma K S (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (YARN-4002) make ResourceTrackerService.nodeHeartbeat more concurrent
Date Wed, 02 Mar 2016 01:45:18 GMT

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

Rohith Sharma K S commented on YARN-4002:
-----------------------------------------

All the method in HostsFileReader are synchronized. And method {{isValidNode}} does 2 separate
calls to hostsReader. There could be a scenario (if lock is not used) where after executing
{{hostsReader.getHosts();}} , hostreader can do refresh which gives updated result for {{hostsReader.getExcludedHosts();}}
but stale host details for getHosts method. Lockless read might mix up old and new values
which is incorrect.


> make ResourceTrackerService.nodeHeartbeat more concurrent
> ---------------------------------------------------------
>
>                 Key: YARN-4002
>                 URL: https://issues.apache.org/jira/browse/YARN-4002
>             Project: Hadoop YARN
>          Issue Type: Improvement
>            Reporter: Hong Zhiguo
>            Assignee: Hong Zhiguo
>            Priority: Critical
>         Attachments: 0001-YARN-4002.patch, YARN-4002-lockless-read.patch, YARN-4002-rwlock.patch,
YARN-4002-v0.patch
>
>
> We have multiple RPC threads to handle NodeHeartbeatRequest from NMs. By design the method
ResourceTrackerService.nodeHeartbeat should be concurrent enough to scale for large clusters.
> But we have a "BIG" lock in NodesListManager.isValidNode which I think it's unnecessary.
> First, the fields "includes" and "excludes" of HostsFileReader are only updated on "refresh
nodes".  All RPC threads handling node heartbeats are only readers.  So RWLock could be used
to  alow concurrent access by RPC threads.
> Second, since he fields "includes" and "excludes" of HostsFileReader are always updated
by "reference assignment", which is atomic in Java, the reader side lock could just be skipped.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message