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

Hudson commented on HDFS-6184:
------------------------------

FAILURE: Integrated in Hadoop-Mapreduce-trunk #2142 (See 
[https://builds.apache.org/job/Hadoop-Mapreduce-trunk/2142/])
HDFS-6184. Capture NN's thread dump when it fails over. Contributed by Ming Ma. 
(aajisaka: rev 2463666ecb553dbde1b8c540a21ad3d599239acf)
* 
hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ha/ZKFailoverController.java
* 
hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSConfigKeys.java
* 
hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/tools/DFSZKFailoverController.java
* hadoop-hdfs-project/hadoop-hdfs/src/main/resources/hdfs-default.xml
* hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
* 
hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/ha/TestDFSZKFailoverController.java
* 
hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/tools/TestDFSZKFailoverController.java


> Capture NN's thread dump when it fails over
> -------------------------------------------
>
>                 Key: HDFS-6184
>                 URL: https://issues.apache.org/jira/browse/HDFS-6184
>             Project: Hadoop HDFS
>          Issue Type: Improvement
>          Components: namenode
>            Reporter: Ming Ma
>            Assignee: Ming Ma
>             Fix For: 2.8.0
>
>         Attachments: HDFS-6184-2.patch, HDFS-6184-3.patch, HDFS-6184-4.patch, 
> HDFS-6184-5.patch, HDFS-6184-6.patch, HDFS-6184.patch
>
>
> We have seen several false positives in terms of when ZKFC considers NN to be 
> unhealthy. Some of these triggers unnecessary failover. Examples,
> 1. SBN checkpoint caused ZKFC's RPC call into NN timeout. The consequence 
> isn't bad; just that SBN will quit ZK membership and rejoin it later. But it 
> is unnecessary. The reason is checkpoint acquires NN global write lock and 
> all rpc requests are blocked. Even though HAServiceProtocol.monitorHealth 
> doesn't need to acquire NN lock; it still needs to user service rpc queue.
> 2. When ANN is busy, sometimes the global lock can block other requests. 
> ZKFC's RPC call timeout. This will trigger failover. The question is even if 
> after the failover, the new ANN might run into similar issue.
> We can increase ZKFC to NN timeout value to mitigate this to some degree. If 
> ZKFC can be more accurate in judgment if NN is health or not and can predict 
> the failover will help, that will be useful. For example, we can,
> 1. Have ZKFC made decision based on NN thread dump.
> 2. Have a dedicated rpc pool for ZKFC > NN. Given health check doesn't need 
> to acquire NN global lock; so it can go through even if NN is doing 
> checkpointing or very busy.
> Any comments?



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

Reply via email to