Benoit Perroud created HDFS-7586:
------------------------------------

             Summary: HFTP does not work when namenode bind on wildcard
                 Key: HDFS-7586
                 URL: https://issues.apache.org/jira/browse/HDFS-7586
             Project: Hadoop HDFS
          Issue Type: Bug
          Components: datanode
    Affects Versions: 2.6.0, 2.5.0, 2.4.0, 2.3.0, 2.2.0
            Reporter: Benoit Perroud
            Priority: Minor


When wildcard binding for NameNode RPC is turned on (i.e.  
dfs.namenode.rpc-address=0.0.0.0:8020), HFTP download is failing.

Call to http://namenode:50070/data/.. returns the header Location with 
parameter nnaddr=0.0.0.0:8020, which is unlikely to ever succeed :)

The idea would be, if wildcard binding is enabled, to get read the IP address 
the request is actually connected to from the HttpServletRequest and return 
this one.

WDYT?

How to reproduce:

1. Turn on wildcard binding
{code}dfs.namenode.rpc-address=0.0.0.0:8020{code}

2. Upload a file
{code}$ echo "123" | hdfs dfs -put - /tmp/randomFile.txt{code}

3. Validate it's failing
{code}
$ hdfs dfs -cat hftp://namenode1/tmp/randomFile.txt
{code}

4. Get more details via curl
{code}
$ curl -vv http://namenode1:50070/data/tmp/randomFile.txt?ugi=hdfs | grep 
"Location:"
 Location: 
http://datanode003:50075/streamFile/tmp/randomFile.txt?ugi=hdfs&nnaddr=0.0.0.0:8020
{code}

We can clearly see the 0.0.0.0 returned as the NN ip.




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

Reply via email to