[
https://issues.apache.org/jira/browse/HADOOP-13736?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15868452#comment-15868452
]
Sean Mackrory commented on HADOOP-13736:
----------------------------------------
This happened recently in a precommit job:
https://issues.apache.org/jira/browse/HADOOP-14041. Here's one of the stack
traces (the exception originates from the same spot in every case):
{quote}
testDeleteSubtreeHostPath(org.apache.hadoop.fs.s3a.s3guard.TestDynamoDBMetadataStore)
Time elapsed: 0.089 sec <<< FAILURE!
java.lang.AssertionError: null
at
org.apache.hadoop.fs.s3a.s3guard.PathMetadataDynamoDBTranslation.pathMetadataToItem(PathMetadataDynamoDBTranslation.java:148)
at
org.apache.hadoop.fs.s3a.s3guard.PathMetadataDynamoDBTranslation.pathMetadataToItem(PathMetadataDynamoDBTranslation.java:225)
at
org.apache.hadoop.fs.s3a.s3guard.DynamoDBMetadataStore.put(DynamoDBMetadataStore.java:470)
at
org.apache.hadoop.fs.s3a.s3guard.MetadataStoreTestBase.createNewDirs(MetadataStoreTestBase.java:613)
at
org.apache.hadoop.fs.s3a.s3guard.MetadataStoreTestBase.setUpDeleteTest(MetadataStoreTestBase.java:318)
at
org.apache.hadoop.fs.s3a.s3guard.MetadataStoreTestBase.deleteSubtreeHelper(MetadataStoreTestBase.java:268)
at
org.apache.hadoop.fs.s3a.s3guard.MetadataStoreTestBase.testDeleteSubtreeHostPath(MetadataStoreTestBase.java:262)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at
org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
at
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at
org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
at
org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at
org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
at
org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
at
org.junit.internal.runners.statements.FailOnTimeout$StatementThread.run(FailOnTimeout.java:74)
{quote}
> Change PathMetadata to hold S3AFileStatus instead of FileStatus.
> ----------------------------------------------------------------
>
> Key: HADOOP-13736
> URL: https://issues.apache.org/jira/browse/HADOOP-13736
> Project: Hadoop Common
> Issue Type: Sub-task
> Components: fs/s3
> Reporter: Lei (Eddy) Xu
> Assignee: Lei (Eddy) Xu
> Attachments: HADOOP-13736.000.patch,
> HADOOP-13736-HADOOP-13345.000.patch, HADOOP-13736-HADOOP-13345.001.patch,
> HADOOP-13736-HADOOP-13345.002.patch, HADOOP-13736-HADOOP-13345.003.patch,
> HADOOP-13736-HADOOP-13345.004.patch, HADOOP-13736-HADOOP-13345.005.patch,
> HADOOP-13736-HADOOP-13345.006.patch, HADOOP-13736.wip-01.patch
>
>
> {{S3AFileStatus}} is implemented differently with {{FileStatus}}, for
> instance {{S3AFileStatus#isEmptyDirectory()}} is not implemented in
> {{FileStatus()}}. And {{access_time}}, {{block_replication}}, {{owner}},
> {{group}} and a few other fields are not meaningful in {{S3AFileStatus}}.
> So in the scope of {{S3guard}}, it should use {{S3AFileStatus}} in instead
> of {{FileStatus}} in {{PathMetadaa}} to avoid casting the types back and
> forth in S3A.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]