Kristopher Kane created KNOX-1414:
-------------------------------------

             Summary: DefaultHaDispatch is used by WEBHDFS instead of 
WebHdfsHaDispatch
                 Key: KNOX-1414
                 URL: https://issues.apache.org/jira/browse/KNOX-1414
             Project: Apache Knox
          Issue Type: Bug
    Affects Versions: 0.12.0
            Reporter: Kristopher Kane


Here is the series of failover attempts with DefaultHaDispatch (vs the WebHDFS 
one) when 403 is hit:

 

 
{noformat}
Caused by: java.io.IOException: java.io.IOException: Service connectivity error.
                at 
org.apache.hadoop.gateway.ha.dispatch.DefaultHaDispatch.failoverRequest(DefaultHaDispatch.java:125)
                at 
org.apache.hadoop.gateway.ha.dispatch.DefaultHaDispatch.executeRequest(DefaultHaDispatch.java:94)
                at 
org.apache.hadoop.gateway.ha.dispatch.DefaultHaDispatch.failoverRequest(DefaultHaDispatch.java:119)
                at 
org.apache.hadoop.gateway.ha.dispatch.DefaultHaDispatch.executeRequest(DefaultHaDispatch.java:94)
                at 
org.apache.hadoop.gateway.ha.dispatch.DefaultHaDispatch.failoverRequest(DefaultHaDispatch.java:119)
                at 
org.apache.hadoop.gateway.ha.dispatch.DefaultHaDispatch.executeRequest(DefaultHaDispatch.java:94)
                at 
org.apache.hadoop.gateway.ha.dispatch.DefaultHaDispatch.failoverRequest(DefaultHaDispatch.java:119)
                at 
org.apache.hadoop.gateway.ha.dispatch.DefaultHaDispatch.executeRequest(DefaultHaDispatch.java:94)
{noformat}
But `data/services/webhdfs/2.4.0->service.xml` has:
 
    <dispatch 
classname="org.apache.hadoop.gateway.hdfs.dispatch.HdfsHttpClientDispatch" 
ha-classname="org.apache.hadoop.gateway.hdfs.dispatch.WebHdfsHaDispatch"/>
 
Which should use WebHdfsHaDispatch.
 
Both HA dispatch classes conduct HA failover/retry but WebHdfsHaDispatch is 
only slightly more context aware.  Both could appear to work in 2/3rds of the 
cases (1/3rd being when the NN is in Safemode which is not handled specifically 
by the default dispatch) and you would not know WebHdfsHaDispatch was not being 
used unless you looked at gateway.log

 



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

Reply via email to