You are viewing a plain text version of this content. The canonical link for it is here.
Posted to mapreduce-dev@hadoop.apache.org by "John Gordon (JIRA)" <ji...@apache.org> on 2012/06/06 23:43:22 UTC

[jira] [Created] (MAPREDUCE-4322) Fix command-line length abort issues on Windows

John Gordon created MAPREDUCE-4322:
--------------------------------------

             Summary: Fix command-line length abort issues on Windows
                 Key: MAPREDUCE-4322
                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-4322
             Project: Hadoop Map/Reduce
          Issue Type: Bug
          Components: tasktracker
         Environment: Windows, downstream applications with long aggregate classpaths
            Reporter: John Gordon


When a task is started on the tasktracker, it creates a small batch file to invoke java and runs that batch.  Within the batch file, the invocation of Java currently has -classpath ${CLASSPATH} inline to the command.  That line often exceeds 8000 characters.  This is ok for most linux distributions because the line limit env variable is often set much higher than this.  However, for Windows this cause cmd to abort execution.  This surfaces in Hadoop as an unknown failure mode for the task.

I think the easiest and most natural way to fix this is to push the -classpath option into a config file to take the longest variable part of the line and put it somewhere that scales better.

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

        

[jira] [Resolved] (MAPREDUCE-4322) Fix command-line length abort issues on Windows

Posted by "Arun C Murthy (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/MAPREDUCE-4322?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Arun C Murthy resolved MAPREDUCE-4322.
--------------------------------------

          Resolution: Fixed
       Fix Version/s: 1-win
    Target Version/s:   (was: 1.1.0)

+1, lgtm.

I just committed this. Thanks Ivan for the patch and Bikas for the detailed reviews.
                
> Fix command-line length abort issues on Windows
> -----------------------------------------------
>
>                 Key: MAPREDUCE-4322
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-4322
>             Project: Hadoop Map/Reduce
>          Issue Type: Bug
>          Components: tasktracker
>         Environment: Windows, downstream applications with long aggregate classpaths
>            Reporter: John Gordon
>            Assignee: Ivan Mitic
>             Fix For: 1-win
>
>         Attachments: MAPREDUCE-4322-branch-1-win(2).patch, MAPREDUCE-4322-branch-1-win(3).patch, MAPREDUCE-4322-branch-1-win(4).patch, MAPREDUCE-4322-branch-1-win(5).patch, MAPREDUCE-4322-branch-1-win.patch
>
>   Original Estimate: 12h
>  Remaining Estimate: 12h
>
> When a task is started on the tasktracker, it creates a small batch file to invoke java and runs that batch.  Within the batch file, the invocation of Java currently has -classpath ${CLASSPATH} inline to the command.  That line often exceeds 8000 characters.  This is ok for most linux distributions because the line limit env variable is often set much higher than this.  However, for Windows this cause cmd to abort execution.  This surfaces in Hadoop as an unknown failure mode for the task.
> I think the easiest and most natural way to fix this is to push the -classpath option into a config file to take the longest variable part of the line and put it somewhere that scales better.

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