You are viewing a plain text version of this content. The canonical link for it is here.
Posted to yarn-dev@hadoop.apache.org by "zhengchenyu (JIRA)" <ji...@apache.org> on 2016/12/05 04:57:58 UTC

[jira] [Created] (YARN-5964) fairscheduler use too many object lock, leads to low performance

zhengchenyu created YARN-5964:
---------------------------------

             Summary: fairscheduler use too many object lock, leads to low performance
                 Key: YARN-5964
                 URL: https://issues.apache.org/jira/browse/YARN-5964
             Project: Hadoop YARN
          Issue Type: Improvement
          Components: fairscheduler
    Affects Versions: 2.7.1
         Environment: CentOS-7.1
            Reporter: zhengchenyu
            Priority: Critical
             Fix For: 2.7.1


When too many applications are running, we found that client couldn't submit the application, and a high callqueuelength of port 8032. I catch the jstack of resourcemanager when callqueuelength is too high. I found that the thread "IPC Server handler xxx on 8032" are waitting for the object lock of FairScheduler, nodeupdate holds the lock of the FairScheduler. Maybe high process time leads to the phenomenon that client can't submit the application. 
Here I don't consider the problem that client can't submit the application, only estimates the performance of the fairscheduler. We can see too many function which needs object lock are used, the granularity of object lock is too big. For example, nodeUpdate and getAppWeight wanna hold the same object lock. It is unresonable and inefficiency. I recommand that the low granularity lock replaces the current lock.



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

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