[
https://issues.apache.org/jira/browse/MAPREDUCE-5603?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13809542#comment-13809542
]
Jason Lowe commented on MAPREDUCE-5603:
---------------------------------------
Sample OOM backtrace for reference:
{noformat}
Exception in thread "main" java.io.IOException: Failed on local exception:
java.io.IOException: Error reading responses; Host Details : local host is:
"x/x.x.x.x"; destination host is: ""x":x;
at org.apache.hadoop.net.NetUtils.wrapException(NetUtils.java:738)
at org.apache.hadoop.ipc.Client.call(Client.java:1098)
at
org.apache.hadoop.ipc.WritableRpcEngine$Invoker.invoke(WritableRpcEngine.java:195)
at com.sun.proxy.$Proxy6.getListing(Unknown Source)
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:601)
at
org.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.java:102)
at
org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:67)
at com.sun.proxy.$Proxy6.getListing(Unknown Source)
at org.apache.hadoop.hdfs.DFSClient.listPaths(DFSClient.java:1286)
at
org.apache.hadoop.hdfs.DistributedFileSystem$1.<init>(DistributedFileSystem.java:418)
at
org.apache.hadoop.hdfs.DistributedFileSystem.listLocatedStatus(DistributedFileSystem.java:409)
at org.apache.hadoop.fs.FileSystem.listLocatedStatus(FileSystem.java:1654)
at
org.apache.hadoop.mapred.FileInputFormat.listStatus(FileInputFormat.java:225)
at
org.apache.hadoop.mapred.SequenceFileInputFormat.listStatus(SequenceFileInputFormat.java:45)
at
org.apache.hadoop.mapred.FileInputFormat.getSplits(FileInputFormat.java:265)
at
org.apache.hadoop.mapreduce.JobSubmitter.writeOldSplits(JobSubmitter.java:500)
at
org.apache.hadoop.mapreduce.JobSubmitter.writeSplits(JobSubmitter.java:492)
at
org.apache.hadoop.mapreduce.JobSubmitter.submitJobInternal(JobSubmitter.java:385)
at org.apache.hadoop.mapreduce.Job$11.run(Job.java:1218)
at org.apache.hadoop.mapreduce.Job$11.run(Job.java:1215)
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:1264)
at org.apache.hadoop.mapreduce.Job.submit(Job.java:1215)
at org.apache.hadoop.mapred.JobClient$1.run(JobClient.java:573)
at org.apache.hadoop.mapred.JobClient$1.run(JobClient.java:568)
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:1264)
at org.apache.hadoop.mapred.JobClient.submitJob(JobClient.java:568)
at org.apache.hadoop.mapred.JobClient.runJob(JobClient.java:844)
at x
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:69)
at x
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:601)
at org.apache.hadoop.util.RunJar.main(RunJar.java:208)
Caused by: java.io.IOException: Error reading responses
at org.apache.hadoop.ipc.Client$Connection.run(Client.java:764)
Caused by: java.lang.OutOfMemoryError: Java heap space
at java.lang.AbstractStringBuilder.<init>(AbstractStringBuilder.java:64)
at java.lang.StringBuilder.<init>(StringBuilder.java:97)
at org.apache.hadoop.io.UTF8.readString(UTF8.java:216)
at org.apache.hadoop.hdfs.DeprecatedUTF8.readString(DeprecatedUTF8.java:59)
at
org.apache.hadoop.hdfs.protocol.DatanodeID.readFields(DatanodeID.java:212)
at
org.apache.hadoop.hdfs.protocol.DatanodeInfo.readFields(DatanodeInfo.java:389)
at
org.apache.hadoop.hdfs.protocol.LocatedBlock.readFields(LocatedBlock.java:146)
at
org.apache.hadoop.hdfs.protocol.LocatedBlocks.readFields(LocatedBlocks.java:223)
at
org.apache.hadoop.hdfs.protocol.HdfsLocatedFileStatus.readFields(HdfsLocatedFileStatus.java:87)
at
org.apache.hadoop.hdfs.protocol.DirectoryListing.readFields(DirectoryListing.java:120)
at org.apache.hadoop.io.ObjectWritable.readObject(ObjectWritable.java:280)
at org.apache.hadoop.io.ObjectWritable.readFields(ObjectWritable.java:75)
at org.apache.hadoop.ipc.Client$Connection.receiveResponse(Client.java:833)
at org.apache.hadoop.ipc.Client$Connection.run(Client.java:757)
{noformat}
> Ability to disable FileInputFormat listLocatedStatus optimization to save
> client memory
> ---------------------------------------------------------------------------------------
>
> Key: MAPREDUCE-5603
> URL: https://issues.apache.org/jira/browse/MAPREDUCE-5603
> Project: Hadoop Map/Reduce
> Issue Type: Improvement
> Components: client, mrv2
> Affects Versions: 0.23.10, 2.2.0
> Reporter: Jason Lowe
> Assignee: Jason Lowe
> Priority: Minor
>
> It would be nice if users had the option to disable the listLocatedStatus
> optimization in FileInputFormat to save client memory.
--
This message was sent by Atlassian JIRA
(v6.1#6144)