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

Xiao Chen commented on HADOOP-12962:
------------------------------------

Thanks Andrew for the comment and proactively checking!
I agree it's recommended to not use tricky key names. If the need arises, we 
can have a jira similar to HADOOP-11311 to restrict it.

I set the affects version to 2.6.0 since this bug was from HADOOP-10433 which 
is committed to 2.6.0. Target version I think next minor would be ok, so 2.8. 
Also fixed typo in the jira title s/correctly/incorrectly/g

> KMS key names are correctly encoded when creating key
> -----------------------------------------------------
>
>                 Key: HADOOP-12962
>                 URL: https://issues.apache.org/jira/browse/HADOOP-12962
>             Project: Hadoop Common
>          Issue Type: Bug
>            Reporter: Xiao Chen
>            Assignee: Xiao Chen
>         Attachments: HADOOP-12962.01.patch, HADOOP-12962.02.patch
>
>
> Creating a key that contains special character(s) in its name will result in 
> failure when creating, while that key is in fact created ok on the underlying 
> key provider.
> E.g.
> {noformat}
> $hadoop key create "key name"
> key name has not been created. java.io.IOException: HTTP status [500], 
> exception [java.net.URISyntaxException], message [Illegal character in path 
> at index 11: /v1/key/key name] 
> java.io.IOException: HTTP status [500], exception 
> [java.net.URISyntaxException], message [Illegal character in path at index 
> 11: /v1/key/key name] 
>       at 
> org.apache.hadoop.util.HttpExceptionUtils.validateResponse(HttpExceptionUtils.java:159)
>       at 
> org.apache.hadoop.crypto.key.kms.KMSClientProvider.call(KMSClientProvider.java:548)
>       at 
> org.apache.hadoop.crypto.key.kms.KMSClientProvider.call(KMSClientProvider.java:506)
>       at 
> org.apache.hadoop.crypto.key.kms.KMSClientProvider.createKeyInternal(KMSClientProvider.java:672)
>       at 
> org.apache.hadoop.crypto.key.kms.KMSClientProvider.createKey(KMSClientProvider.java:680)
>       at 
> org.apache.hadoop.crypto.key.KeyShell$CreateCommand.execute(KeyShell.java:483)
>       at org.apache.hadoop.crypto.key.KeyShell.run(KeyShell.java:79)
>       at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
>       at org.apache.hadoop.crypto.key.KeyShell.main(KeyShell.java:515)
> {noformat}
> but
> {noformat}
> $ hadoop key list
> Listing keys for KeyProvider: 
> KMSClientProvider[https://hostname:16000/kms/v1/]
> key name
> {noformat}



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

Reply via email to