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

Steve Loughran commented on HADOOP-15430:
-----------------------------------------

And with a patch to fs.shell to log stack traces, you get the stack
{code}
AttributeValue may not contain an empty string (Service: AmazonDynamoDBv2; 
Status Code: 400; Error Code: ValidationException; Request ID: 
0NGJDAHOTK2A51KRR5MVVVTHPFVV4KQNSO5AEMVJF66Q9ASUAAJG): One or more parameter 
values were invalid: An AttributeValue may not contain an empty string 
(Service: AmazonDynamoDBv2; Status Code: 400; Error Code: ValidationException; 
Request ID: 0NGJDAHOTK2A51KRR5MVVVTHPFVV4KQNSO5AEMVJF66Q9ASUAAJG)
        at 
org.apache.hadoop.fs.s3a.S3AUtils.translateDynamoDBException(S3AUtils.java:389)
        at 
org.apache.hadoop.fs.s3a.S3AUtils.translateException(S3AUtils.java:181)
        at org.apache.hadoop.fs.s3a.Invoker.once(Invoker.java:111)
        at 
org.apache.hadoop.fs.s3a.s3guard.DynamoDBMetadataStore.get(DynamoDBMetadataStore.java:438)
        at 
org.apache.hadoop.fs.s3a.S3AFileSystem.innerGetFileStatus(S3AFileSystem.java:2110)
        at 
org.apache.hadoop.fs.s3a.S3AFileSystem.getFileStatus(S3AFileSystem.java:2088)
        at 
org.apache.hadoop.fs.s3a.S3AFileSystem.innerMkdirs(S3AFileSystem.java:2037)
        at 
org.apache.hadoop.fs.s3a.S3AFileSystem.mkdirs(S3AFileSystem.java:2007)
        at org.apache.hadoop.fs.FileSystem.mkdirs(FileSystem.java:2326)
        at 
org.apache.hadoop.fs.shell.Mkdir.processNonexistentPath(Mkdir.java:77)
        at org.apache.hadoop.fs.shell.Command.processArgument(Command.java:288)
        at org.apache.hadoop.fs.shell.Command.processArguments(Command.java:270)
        at 
org.apache.hadoop.fs.shell.FsCommand.processRawArguments(FsCommand.java:120)
        at org.apache.hadoop.fs.shell.Command.run(Command.java:177)
        at org.apache.hadoop.fs.FsShell.run(FsShell.java:328)
        at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:76)
        at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:90)
        at org.apache.hadoop.fs.FsShell.main(FsShell.java:391)
Caused by: com.amazonaws.services.dynamodbv2.model.AmazonDynamoDBException: One 
or more parameter values were invalid: An AttributeValue may not contain an 
empty string (Service: AmazonDynamoDBv2; Status Code: 400; Error Code: 
ValidationException; Request ID: 
0NGJDAHOTK2A51KRR5MVVVTHPFVV4KQNSO5AEMVJF66Q9ASUAAJG)
        at 
com.amazonaws.http.AmazonHttpClient$RequestExecutor.handleErrorResponse(AmazonHttpClient.java:1639)
        at 
com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeOneRequest(AmazonHttpClient.java:1304)
        at 
com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeHelper(AmazonHttpClient.java:1056)
        at 
com.amazonaws.http.AmazonHttpClient$RequestExecutor.doExecute(AmazonHttpClient.java:743)
        at 
com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeWithTimer(AmazonHttpClient.java:717)
        at 
com.amazonaws.http.AmazonHttpClient$RequestExecutor.execute(AmazonHttpClient.java:699)
        at 
com.amazonaws.http.AmazonHttpClient$RequestExecutor.access$500(AmazonHttpClient.java:667)
        at 
com.amazonaws.http.AmazonHttpClient$RequestExecutionBuilderImpl.execute(AmazonHttpClient.java:649)
        at 
com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:513)
        at 
com.amazonaws.services.dynamodbv2.AmazonDynamoDBClient.doInvoke(AmazonDynamoDBClient.java:2925)
        at 
com.amazonaws.services.dynamodbv2.AmazonDynamoDBClient.invoke(AmazonDynamoDBClient.java:2901)
        at 
com.amazonaws.services.dynamodbv2.AmazonDynamoDBClient.executeGetItem(AmazonDynamoDBClient.java:1640)
        at 
com.amazonaws.services.dynamodbv2.AmazonDynamoDBClient.getItem(AmazonDynamoDBClient.java:1616)
        at 
com.amazonaws.services.dynamodbv2.document.internal.GetItemImpl.doLoadItem(GetItemImpl.java:77)
        at 
com.amazonaws.services.dynamodbv2.document.internal.GetItemImpl.getItem(GetItemImpl.java:66)
        at 
com.amazonaws.services.dynamodbv2.document.Table.getItem(Table.java:608)
        at 
org.apache.hadoop.fs.s3a.s3guard.DynamoDBMetadataStore.getConsistentItem(DynamoDBMetadataStore.java:423)
        at 
org.apache.hadoop.fs.s3a.s3guard.DynamoDBMetadataStore.innerGet(DynamoDBMetadataStore.java:459)
        at 
org.apache.hadoop.fs.s3a.s3guard.DynamoDBMetadataStore.lambda$get$2(DynamoDBMetadataStore.java:439)
        at org.apache.hadoop.fs.s3a.Invoker.once(Invoker.java:109)
        ... 15 more
mkdir: get on s3a://bucket/output/5/: 
com.amazonaws.services.dynamodbv2.model.AmazonDynamoDBException: One or more 
parameter values were invalid: An AttributeValue may not contain an empty 
string (Service: AmazonDynamoDBv2; Status Code: 400; Error Code: 
ValidationException; Request ID: 
0NGJDAHOTK2A51KRR5MVVVTHPFVV4KQNSO5AEMVJF66Q9ASUAAJG): One or more parameter 
values were invalid: An AttributeValue may not contain an empty string 
(Service: AmazonDynamoDBv2; Status Code: 400; Error Code: ValidationException; 
Request ID: 0NGJDAHOTK2A51KRR5MVVVTHPFVV4KQNSO5AEMVJF66Q9ASUAAJG)
{code}

> hadoop fs -mkdir -p path-ending-with-slash/ fails with s3guard
> --------------------------------------------------------------
>
>                 Key: HADOOP-15430
>                 URL: https://issues.apache.org/jira/browse/HADOOP-15430
>             Project: Hadoop Common
>          Issue Type: Sub-task
>          Components: fs/s3
>    Affects Versions: 3.1.0
>            Reporter: Steve Loughran
>            Priority: Blocker
>
> if you call {{hadoop fs -mkdir -p path/}} on the command line with a path 
> ending in "/:. you get a DDB error "An AttributeValue may not contain an 
> empty string"



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

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to