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

Steve Loughran commented on HADOOP-16328:
-----------------------------------------

{code}

[ERROR] 
testDestroyFailsIfNoBucketNameOrDDBTableSet(org.apache.hadoop.fs.s3a.s3guard.ITestS3GuardToolDynamoDB)
  Time elapsed: 1.671 s  <<< ERROR!
java.lang.ClassCastException: org.apache.hadoop.fs.LocalFileSystem cannot be 
cast to org.apache.hadoop.fs.s3a.S3AFileSystem
        at 
org.apache.hadoop.fs.s3a.s3guard.S3GuardTool.checkMetadataStoreUri(S3GuardTool.java:238)
        at 
org.apache.hadoop.fs.s3a.s3guard.S3GuardTool$Destroy.run(S3GuardTool.java:606)
        at 
org.apache.hadoop.fs.s3a.s3guard.S3GuardTool.run(S3GuardTool.java:377)
        at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:76)
        at 
org.apache.hadoop.fs.s3a.s3guard.S3GuardTool.run(S3GuardTool.java:1589)
        at 
org.apache.hadoop.fs.s3a.s3guard.AbstractS3GuardToolTestBase.run(AbstractS3GuardToolTestBase.java:126)
        at 
org.apache.hadoop.fs.s3a.s3guard.AbstractS3GuardToolTestBase.lambda$testDestroyFailsIfNoBucketNameOrDDBTableSet$4(AbstractS3GuardToolTestBase.java:381)
        at 
org.apache.hadoop.test.LambdaTestUtils.intercept(LambdaTestUtils.java:498)
        at 
org.apache.hadoop.test.LambdaTestUtils.intercept(LambdaTestUtils.java:384)
        at 
org.apache.hadoop.fs.s3a.s3guard.AbstractS3GuardToolTestBase.testDestroyFailsIfNoBucketNameOrDDBTableSet(AbstractS3GuardToolTestBase.java:380)
        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.rules.TestWatcher$1.evaluate(TestWatcher.java:55)
        at 
org.junit.internal.runners.statements.FailOnTimeout$StatementThread.run(FailOnTimeout.java:74)
{code}

This isn't quite trunk; it's 3.2+ some backportage

> ClassCastException in S3GuardTool.checkMetadataStoreUri
> -------------------------------------------------------
>
>                 Key: HADOOP-16328
>                 URL: https://issues.apache.org/jira/browse/HADOOP-16328
>             Project: Hadoop Common
>          Issue Type: Sub-task
>          Components: fs/s3
>    Affects Versions: 3.3.0
>            Reporter: Steve Loughran
>            Assignee: Steve Loughran
>            Priority: Major
>
> {ClassCastException in S3GuardTool.checkMetadataStoreUri() during a run of 
> {{ITestS3GuardToolDynamoDB.testDestroyFailsIfNoBucketNameOrDDBTableSet()}}
> stack trace is lost, but cause is that the FS returned by newInstance() isn't 
> an S3AFS, it's a local FS. 
> Irrespective of underlying cause, the s3guard tool code should check the 
> class type and raise an exception including the FS URI on a mismatch.



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