[jira] [Commented] (HADOOP-12689) S3 filesystem operations stopped working correctly

2016-01-15 Thread Ravi Prakash (JIRA)

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

Ravi Prakash commented on HADOOP-12689:
---

Thanks for the heads up Vinod! I must have missed the notification of that 
branch-2.8 being cut. I've cherry-picked this patch into branch-2.8 as well.

> 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 IOException)
> 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:y...@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_06_0 - exited : java.io.IOException: /test 
> doesn't exist
> 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
(v6.3.4#6332)


[jira] [Commented] (HADOOP-12689) S3 filesystem operations stopped working correctly

2016-01-08 Thread Steve Loughran (JIRA)

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

Steve Loughran commented on HADOOP-12689:
-

removing -1, as yes, there are tests now. I just didn't want those tests to get 
forgotten about.

> 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 IOException)
> 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:y...@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_06_0 - exited : java.io.IOException: /test 
> doesn't exist
> 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
(v6.3.4#6332)


[jira] [Commented] (HADOOP-12689) S3 filesystem operations stopped working correctly

2016-01-08 Thread Ravi Prakash (JIRA)

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

Ravi Prakash commented on HADOOP-12689:
---

Thanks for your consideration Steve! I appreciate all the great work you did 
for the contract tests and your efforts to keep the S3 implementations stable. 
I'm testing and reviewing Matt's patch on HADOOP-12696. Let's continue there.

> 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 IOException)
> 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:y...@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_06_0 - exited : java.io.IOException: /test 
> doesn't exist
> 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
(v6.3.4#6332)


[jira] [Commented] (HADOOP-12689) S3 filesystem operations stopped working correctly

2016-01-08 Thread Steve Loughran (JIRA)

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

Steve Loughran commented on HADOOP-12689:
-

w.r.t to HADOOP-10542, I though there were tests in the system. i shouldn't 
have committed it then —and we are all suffering now because of that

> 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 IOException)
> 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:y...@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_06_0 - exited : java.io.IOException: /test 
> doesn't exist
> 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
(v6.3.4#6332)


[jira] [Commented] (HADOOP-12689) S3 filesystem operations stopped working correctly

2016-01-08 Thread Ravi Prakash (JIRA)

[ 
https://issues.apache.org/jira/browse/HADOOP-12689?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=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". Thanks


> 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 IOException)
> 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:y...@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_06_0 - exited : java.io.IOException: /test 
> doesn't exist
> 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
(v6.3.4#6332)


[jira] [Commented] (HADOOP-12689) S3 filesystem operations stopped working correctly

2016-01-07 Thread Steve Loughran (JIRA)

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

Steve Loughran commented on HADOOP-12689:
-

-1

Ravi. please, no: not without new tests to show this problem is fixed.  if the 
last fix was a regression, then we need something more to show the regression 
has gone away. That doesn't have to be a general purpose contract test, 
something in in hadoop-tools/hadoop-aws package. 

look at the jenkins
{code}
The patch doesn't appear to include any new or modified tests. Please justify 
why no new tests are needed for this patch. Also please list what manual steps 
were performed to verify this patch.
{code}

S3n and siblings are burning sore in the Hadoop codebase: undermaintained, 
undertested and incredibly brittle to change.

If HADOOP-10542 did break things —and I trust your claim there— then it slipped 
through the current s3 test suite. We need another test to make sure this 
problem never comes back. It doesn't have to be a full contract test, something 
in hadoop-aws will be enough. But saying "we can add a test later" isn't the 
right tactic —we both know "later" means "never" in this context. We also need 
all the existing s3 tests run to make sure this patch doesn't change anything 
else, either.

Can we roll this back and do another iteration of the patch which does include 
a test? As mandating the "patches include tests" policy is the only way we can 
keep test coverage up, especially on something this brittle

sorry

> 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 IOException)
> 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:y...@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_06_0 - exited : java.io.IOException: /test 
> doesn't exist
> 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
(v6.3.4#6332)


[jira] [Commented] (HADOOP-12689) S3 filesystem operations stopped working correctly

2016-01-05 Thread Ravi Prakash (JIRA)

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

Ravi Prakash commented on HADOOP-12689:
---

Thanks for all your work with the FileSystem contracts, test and documentation 
Steve! Much appreciated. Thanks for pointing to the documentation. I was not 
aware of it.

We are running with this patch inside Altiscale. I tested it also on my local 
laptop against a bucket in the "us-west-1" region (with a simple command). Matt 
also pointed me to 
http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/filesystem/testing.html
 although he couldn't find tests for S3 (for S3n and S3a they exist).

As an aside, I don't see the manual test results for HADOOP-10542 in that JIRA 
either. Were they run?

> 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
> 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 IOException)
> 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:y...@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_06_0 - exited : java.io.IOException: /test 
> doesn't exist
> 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
(v6.3.4#6332)


[jira] [Commented] (HADOOP-12689) S3 filesystem operations stopped working correctly

2016-01-05 Thread Ravi Prakash (JIRA)

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

Ravi Prakash commented on HADOOP-12689:
---

I've committed this change to trunk and branch-2. Thanks for your contribution 
Matt and for your review Steve!

> 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 IOException)
> 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:y...@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_06_0 - exited : java.io.IOException: /test 
> doesn't exist
> 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
(v6.3.4#6332)


[jira] [Commented] (HADOOP-12689) S3 filesystem operations stopped working correctly

2016-01-05 Thread Hudson (JIRA)

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

Hudson commented on HADOOP-12689:
-

FAILURE: Integrated in Hadoop-trunk-Commit #9055 (See 
[https://builds.apache.org/job/Hadoop-trunk-Commit/9055/])
HADOOP-12689. S3 filesystem operations stopped working correctly (raviprak: rev 
2d16f40dab291a29b3fc005221b12fd587615d4e)
* 
hadoop-tools/hadoop-aws/src/main/java/org/apache/hadoop/fs/s3/Jets3tFileSystemStore.java
* hadoop-common-project/hadoop-common/CHANGES.txt


> 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
> 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 IOException)
> 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:y...@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_06_0 - exited : java.io.IOException: /test 
> doesn't exist
> 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
(v6.3.4#6332)


[jira] [Commented] (HADOOP-12689) S3 filesystem operations stopped working correctly

2016-01-05 Thread Steve Loughran (JIRA)

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

Steve Loughran commented on HADOOP-12689:
-

If there's a regression that hasn't been caught, we need tests to verify that 
the regression is not only fixed, that it stays fixed.

w.r.t applying/submitting patches against the object stores, it is critical 
that the tests are manually run with the credentials:

https://wiki.apache.org/hadoop/HowToContribute#Submitting_patches_against_object_stores_such_as_Amazon_S3.2C_OpenStack_Swift_and_Microsoft_Azure

[~raviprakash] : I'm afraid that applies to you too. Please don't commit this 
without the test runs and the results logged here. 

> 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
> 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 IOException)
> 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:y...@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_06_0 - exited : java.io.IOException: /test 
> doesn't exist
> 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
(v6.3.4#6332)


[jira] [Commented] (HADOOP-12689) S3 filesystem operations stopped working correctly

2016-01-05 Thread Ravi Prakash (JIRA)

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

Ravi Prakash commented on HADOOP-12689:
---

In light of the above, I am still on track to commit this patch EOD. Matt, if 
you'd like, please feel free to create a new JIRA for adding the contract tests 
for S3 (although I fear it may be going the way of the dinosaur). I just don't 
want that effort blocking this patch. [~steve_l] Please let me know if you 
still have objections.

> 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
> 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 IOException)
> 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:y...@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_06_0 - exited : java.io.IOException: /test 
> doesn't exist
> 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
(v6.3.4#6332)


[jira] [Commented] (HADOOP-12689) S3 filesystem operations stopped working correctly

2016-01-05 Thread Ravi Prakash (JIRA)

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

Ravi Prakash commented on HADOOP-12689:
---

Here's my log of what I ran
{code}
[raviprak@ravi trunk]$ hdfs dfs -get s3:///
-get: Fatal internal error
java.lang.NullPointerException
at 
org.apache.hadoop.fs.s3.Jets3tFileSystemStore.retrieveBlock(Jets3tFileSystemStore.java:248)
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:497)
at 
org.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.java:255)
at 
org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:103)
at com.sun.proxy.$Proxy4.retrieveBlock(Unknown Source)
at 
org.apache.hadoop.fs.s3.S3InputStream.blockSeekTo(S3InputStream.java:170)
at org.apache.hadoop.fs.s3.S3InputStream.read(S3InputStream.java:129)
at java.io.DataInputStream.read(DataInputStream.java:100)
at org.apache.hadoop.io.IOUtils.copyBytes(IOUtils.java:88)
at org.apache.hadoop.io.IOUtils.copyBytes(IOUtils.java:62)
at org.apache.hadoop.io.IOUtils.copyBytes(IOUtils.java:122)
at 
org.apache.hadoop.fs.shell.CommandWithDestination$TargetFileSystem.writeStreamToFile(CommandWithDestination.java:482)
at 
org.apache.hadoop.fs.shell.CommandWithDestination.copyStreamToTarget(CommandWithDestination.java:404)
at 
org.apache.hadoop.fs.shell.CommandWithDestination.copyFileToTarget(CommandWithDestination.java:339)
at 
org.apache.hadoop.fs.shell.CommandWithDestination.processPath(CommandWithDestination.java:274)
at 
org.apache.hadoop.fs.shell.CommandWithDestination.processPath(CommandWithDestination.java:259)
at org.apache.hadoop.fs.shell.Command.processPaths(Command.java:321)
at 
org.apache.hadoop.fs.shell.Command.processPathArgument(Command.java:293)
at 
org.apache.hadoop.fs.shell.CommandWithDestination.processPathArgument(CommandWithDestination.java:254)
at org.apache.hadoop.fs.shell.Command.processArgument(Command.java:275)
at org.apache.hadoop.fs.shell.Command.processArguments(Command.java:259)
at 
org.apache.hadoop.fs.shell.CommandWithDestination.processArguments(CommandWithDestination.java:225)
at 
org.apache.hadoop.fs.shell.FsCommand.processRawArguments(FsCommand.java:119)
at org.apache.hadoop.fs.shell.Command.run(Command.java:166)
at org.apache.hadoop.fs.FsShell.run(FsShell.java:319)
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:377)
{code}

After the patch
{code}
[raviprak@ravi trunk]$ hdfs dfs -get s3:///
get: Block missing from S3 store: block_-3447106738088433847
{code}

When the file is valid, I was successfully able to get the file

> 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
> 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 IOException)
> 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:y...@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_06_0 - exited : java.io.IOException: /test 
> doesn't exist
> 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 
> 

[jira] [Commented] (HADOOP-12689) S3 filesystem operations stopped working correctly

2016-01-04 Thread Matthew Paduano (JIRA)

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

Matthew Paduano commented on HADOOP-12689:
--

The attached patch reverts the one line edit by HADOOP-10542 and includes code 
to address the possible NPE if a block is requested but not found in the S3 
store.  This seems the easiest way to resolve the possible NPE from 10542 and 
not rewrite many of the S3 file system operations that expect null to be 
returned by get() when an object is missing (and/or a FileNotFoundExecption to 
be raised, not IOException)

> S3 filesystem operations stopped working correctly
> --
>
> Key: HADOOP-12689
> URL: https://issues.apache.org/jira/browse/HADOOP-12689
> Project: Hadoop Common
>  Issue Type: Bug
>Affects Versions: 2.8.0, 3.0.0
>Reporter: Matthew Paduano
>Assignee: Matthew Paduano
>Priority: Minor
> Fix For: 2.7.1
>
> 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 IOException)
> 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:y...@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_06_0 - exited : java.io.IOException: /test 
> doesn't exist
> 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
(v6.3.4#6332)


[jira] [Commented] (HADOOP-12689) S3 filesystem operations stopped working correctly

2016-01-04 Thread Hadoop QA (JIRA)

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

Hadoop QA commented on HADOOP-12689:


| (x) *{color:red}-1 overall{color}* |
\\
\\
|| Vote || Subsystem || Runtime || Comment ||
| {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 0m 0s 
{color} | {color:blue} Docker mode activated. {color} |
| {color:green}+1{color} | {color:green} @author {color} | {color:green} 0m 0s 
{color} | {color:green} The patch does not contain any @author tags. {color} |
| {color:red}-1{color} | {color:red} test4tests {color} | {color:red} 0m 0s 
{color} | {color:red} The patch doesn't appear to include any new or modified 
tests. Please justify why no new tests are needed for this patch. Also please 
list what manual steps were performed to verify this patch. {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 8m 
3s {color} | {color:green} trunk passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 12s 
{color} | {color:green} trunk passed with JDK v1.8.0_66 {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 13s 
{color} | {color:green} trunk passed with JDK v1.7.0_91 {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 0m 
10s {color} | {color:green} trunk passed {color} |
| {color:green}+1{color} | {color:green} mvnsite {color} | {color:green} 0m 19s 
{color} | {color:green} trunk passed {color} |
| {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green} 0m 
12s {color} | {color:green} trunk passed {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 0m 
31s {color} | {color:green} trunk passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 13s 
{color} | {color:green} trunk passed with JDK v1.8.0_66 {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 15s 
{color} | {color:green} trunk passed with JDK v1.7.0_91 {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 0m 
18s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 9s 
{color} | {color:green} the patch passed with JDK v1.8.0_66 {color} |
| {color:green}+1{color} | {color:green} javac {color} | {color:green} 0m 9s 
{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 11s 
{color} | {color:green} the patch passed with JDK v1.7.0_91 {color} |
| {color:green}+1{color} | {color:green} javac {color} | {color:green} 0m 11s 
{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 0m 
10s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} mvnsite {color} | {color:green} 0m 15s 
{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green} 0m 
10s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} whitespace {color} | {color:green} 0m 
0s {color} | {color:green} Patch has no whitespace issues. {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 0m 
36s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 11s 
{color} | {color:green} the patch passed with JDK v1.8.0_66 {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 13s 
{color} | {color:green} the patch passed with JDK v1.7.0_91 {color} |
| {color:green}+1{color} | {color:green} unit {color} | {color:green} 0m 10s 
{color} | {color:green} hadoop-aws in the patch passed with JDK v1.8.0_66. 
{color} |
| {color:green}+1{color} | {color:green} unit {color} | {color:green} 0m 11s 
{color} | {color:green} hadoop-aws in the patch passed with JDK v1.7.0_91. 
{color} |
| {color:green}+1{color} | {color:green} asflicense {color} | {color:green} 0m 
18s {color} | {color:green} Patch does not generate ASF License warnings. 
{color} |
| {color:black}{color} | {color:black} {color} | {color:black} 25m 6s {color} | 
{color:black} {color} |
\\
\\
|| Subsystem || Report/Notes ||
| Docker |  Image:yetus/hadoop:0ca8df7 |
| JIRA Patch URL | 
https://issues.apache.org/jira/secure/attachment/12780416/HADOOP-12689.01.patch 
|
| JIRA Issue | HADOOP-12689 |
| Optional Tests |  asflicense  compile  javac  javadoc  mvninstall  mvnsite  
unit  findbugs  checkstyle  |
| uname | Linux a6525f1c552e 3.13.0-36-lowlatency #63-Ubuntu SMP PREEMPT Wed 
Sep 3 21:56:12 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux |
| Build tool | maven |
| Personality | /testptch/hadoop/patchprocess/precommit/personality/provided.sh 
|

[jira] [Commented] (HADOOP-12689) S3 filesystem operations stopped working correctly

2016-01-04 Thread Ravi Prakash (JIRA)

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

Ravi Prakash commented on HADOOP-12689:
---

Patch looks good to me. Thanks Matt. I'll commit by EOD tomorrow if there are 
no objections

> S3 filesystem operations stopped working correctly
> --
>
> Key: HADOOP-12689
> URL: https://issues.apache.org/jira/browse/HADOOP-12689
> Project: Hadoop Common
>  Issue Type: Bug
>Affects Versions: 2.8.0, 3.0.0
>Reporter: Matthew Paduano
>Assignee: Matthew Paduano
>Priority: Minor
> 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 IOException)
> 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:y...@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_06_0 - exited : java.io.IOException: /test 
> doesn't exist
> 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
(v6.3.4#6332)