hadoop-hdfs-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "John Zhuge (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HDFS-10684) WebHDFS calls fail when boolean parameters not provided
Date Mon, 25 Jul 2016 05:56:20 GMT

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

John Zhuge commented on HDFS-10684:
-----------------------------------

Hi [~loungerdork], thanks for reporting the problem with great details.

Following the redirect, you didn't use the exact DataNode URL printed by NameNode {{TEMPORARY_REDIRECT}}
response, as specified by Section "Create and Write to a File" Step 2 in https://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-hdfs/WebHDFS.html.

I am leaning towards closing this jira as "Invalid", however there seems to be a simple fix
to handle this kind of user error by changing
{code}
  public OverwriteParam(final String str) {
    this(DOMAIN.parse(str));
  }
{code}
to
{code}
  public OverwriteParam(final String str) {
    this(DOMAIN.parse(str == null ? DEFAULT : str));
  }
{code}
Waiting for more feedbacks from the community.

> WebHDFS calls fail when boolean parameters not provided
> -------------------------------------------------------
>
>                 Key: HDFS-10684
>                 URL: https://issues.apache.org/jira/browse/HDFS-10684
>             Project: Hadoop HDFS
>          Issue Type: Bug
>          Components: webhdfs
>    Affects Versions: 2.7.1
>            Reporter: Samuel Low
>
> Optional boolean parameters that are not provided in the URL cause the WebHDFS create
file command to fail.
>     curl -i -X PUT "http://hadoop-primarynamenode:50070/webhdfs/v1/tmp/test1234?op=CREATE&overwrite=false"
> Response:
>     HTTP/1.1 307 TEMPORARY_REDIRECT
>     Cache-Control: no-cache
>     Expires: Fri, 15 Jul 2016 04:10:13 GMT
>     Date: Fri, 15 Jul 2016 04:10:13 GMT
>     Pragma: no-cache
>     Expires: Fri, 15 Jul 2016 04:10:13 GMT
>     Date: Fri, 15 Jul 2016 04:10:13 GMT
>     Pragma: no-cache
>     Content-Type: application/octet-stream
>     Location: http://hadoop-datanode1:50075/webhdfs/v1/tmp/test1234?op=CREATE&namenoderpcaddress=hadoop-primarynamenode:8020&overwrite=false
>     Content-Length: 0
>     Server: Jetty(6.1.26)
> Following the redirect:
>     curl -i -X PUT -T MYFILE "http://hadoop-datanode1:50075/webhdfs/v1/tmp/test1234?op=CREATE&namenoderpcaddress=hadoop-primarynamenode:8020"
> Response:
> HTTP/1.1 100 Continue
>     HTTP/1.1 400 Bad Request
>     Content-Type: application/json; charset=utf-8
>     Content-Length: 162
>     Connection: close
>     {"RemoteException":{"exception":"IllegalArgumentException","javaClassName":"java.lang.IllegalArgumentException","message":"Failed
to parse \"null\" to Boolean."}}
> The problem can be circumvented by providing both "createparent" and "overwrite" parameters.
> However, this is not possible when I have no control over the WebHDFS calls, e.g. Ambari
and Hue have errors due to this.



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

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


Mime
View raw message