[
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]