You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-issues@hadoop.apache.org by "Tim Mattison (Created) (JIRA)" <ji...@apache.org> on 2012/02/07 19:18:59 UTC

[jira] [Created] (HADOOP-8029) org.apache.hadoop.io.nativeio.NativeIO.posixFadviseIfPossible does not handle EINVAL

org.apache.hadoop.io.nativeio.NativeIO.posixFadviseIfPossible does not handle EINVAL
------------------------------------------------------------------------------------

                 Key: HADOOP-8029
                 URL: https://issues.apache.org/jira/browse/HADOOP-8029
             Project: Hadoop Common
          Issue Type: Bug
          Components: native
    Affects Versions: 0.20.205.0
         Environment: Debian Wheezy 64-bit 

uname -a = "Linux desktop 3.1.0-1-amd64 #1 SMP Tue Jan 10 05:01:58 UTC 2012 x86_64 GNU/Linux" 
cat /etc/issue = "Debian GNU/Linux wheezy/sid \n \l" 

/etc/apt/sources.list = " 
deb http://ftp.us.debian.org/debian/ wheezy main contrib non-free 
deb-src http://ftp.us.debian.org/debian/ wheezy main contrib non-free 

deb http://security.debian.org/ wheezy/updates main contrib non-free 
deb-src http://security.debian.org/ wheezy/updates main contrib non-free 

deb http://archive.cloudera.com/debian squeeze-cdh3 contrib 
deb-src http://archive.cloudera.com/debian squeeze-cdh3 contrib" 

Hadoop specific configuration (disabled permissions, pseudo-distributed mode, replication set to 1, from my own blog post here: http://j.mp/tsVBR4
            Reporter: Tim Mattison


When Hadoop's directories reside on tmpfs in Debian Wheezy (and possibly all Linux 3.1 distros) in an installation that is using the native libraries fadvise returns EINVAL when trying to run a MapReduce job.  Since EINVAL isn't handled all MapReduce jobs report "Map output lost, rescheduling: getMapOutput".

A full stack trace for this issue looks like this:

[exec] 12/02/03 09:50:58 INFO mapred.JobClient: Task Id : attempt_201202030949_0001_m_000000_0, Status : FAILED
[exec] Map output lost, rescheduling: getMapOutput(attempt_201202030949_0001_m_000000_0,0) failed :
[exec] EINVAL: Invalid argument
[exec] at org.apache.hadoop.io.nativeio.NativeIO.posix_fadvise(Native Method)
[exec] at org.apache.hadoop.io.nativeio.NativeIO.posixFadviseIfPossible(NativeIO.java:177)
[exec] at org.apache.hadoop.mapred.TaskTracker$MapOutputServlet.doGet(TaskTracker.java:4026)
[exec] at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
[exec] at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
[exec] at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
[exec] at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1221)
[exec] at org.apache.hadoop.http.HttpServer$QuotingInputFilter.doFilter(HttpServer.java:829)
[exec] at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1212)
[exec] at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:399)
[exec] at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)

Some logic will need to be implemented to handle EINVAL to properly support all file systems.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira