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

Reply via email to