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)