hadoop-common-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ravi Prakash (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HADOOP-12689) S3 filesystem operations stopped working correctly
Date Fri, 08 Jan 2016 17:04:39 GMT

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

Ravi Prakash commented on HADOOP-12689:

Steve! Your -1 here is completely unwarranted.
1. I don't remember a resolution overriding the ability of committers to commit patches without
tests. If all patches must contain tests, I'm happy to go about -1ing all the JIRAs which
have been committed already without a patch.
2. I shouldn't have to point out the hypocrisy here. *YOU* yourself committed HADOOP-10542
without tests.

I'd ask you to reconsider your -1. If you insist, I'll roll the patch back.

As it were, Matt *IS* working on adding tests. So in this case "later" did NOT mean "never".

> S3 filesystem operations stopped working correctly
> --------------------------------------------------
>                 Key: HADOOP-12689
>                 URL: https://issues.apache.org/jira/browse/HADOOP-12689
>             Project: Hadoop Common
>          Issue Type: Bug
>          Components: tools
>    Affects Versions: 2.7.0
>            Reporter: Matthew Paduano
>            Assignee: Matthew Paduano
>              Labels: S3
>             Fix For: 2.8.0
>         Attachments: HADOOP-12689.01.patch
> HADOOP-10542 was resolved by replacing "return null;" with throwing  IOException.   This
causes several S3 filesystem operations to fail (possibly more code is expecting that null
return value; these are just the calls I noticed):
> S3FileSystem.getFileStatus() (which no longer raises FileNotFoundException but instead
> FileSystem.exists() (which no longer returns false but instead raises IOException)
> S3FileSystem.create() (which no longer succeeds but instead raises IOException)
> Run command:
> hadoop distcp hdfs://localhost:9000/test s3://xxx:yyy@com.bar.foo/
> Resulting stack trace:
> 2015-12-11 10:04:34,030 FATAL [IPC Server handler 6 on 44861] org.apache.hadoop.mapred.TaskAttemptListenerImpl:
Task: attempt_1449826461866_0005_m_000006_0 - exited : java.io.IOException: /test doesn't
> at org.apache.hadoop.fs.s3.Jets3tFileSystemStore.get(Jets3tFileSystemStore.java:170)
> at org.apache.hadoop.fs.s3.Jets3tFileSystemStore.retrieveINode(Jets3tFileSystemStore.java:221)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:606)
> at org.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.java:187)
> at org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:102)
> at com.sun.proxy.$Proxy17.retrieveINode(Unknown Source)
> at org.apache.hadoop.fs.s3.S3FileSystem.getFileStatus(S3FileSystem.java:340)
> at org.apache.hadoop.tools.mapred.CopyMapper.map(CopyMapper.java:230)
> at org.apache.hadoop.tools.mapred.CopyMapper.map(CopyMapper.java:50)
> at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:146)
> at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:787)
> at org.apache.hadoop.mapred.MapTask.run(MapTask.java:341)
> at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:164)
> at java.security.AccessController.doPrivileged(Native Method)
> at javax.security.auth.Subject.doAs(Subject.java:415)
> at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1657)
> at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:158)
> changing the "raise IOE..." to "return null" fixes all of the above code sites and allows
distcp to succeed.

This message was sent by Atlassian JIRA

View raw message