hadoop-common-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Srikanth Kakani (JIRA)" <j...@apache.org>
Subject [jira] Created: (HADOOP-1699) Child task debugging on Hadoop
Date Thu, 09 Aug 2007 00:32:59 GMT
Child task debugging on Hadoop
------------------------------

                 Key: HADOOP-1699
                 URL: https://issues.apache.org/jira/browse/HADOOP-1699
             Project: Hadoop
          Issue Type: Improvement
          Components: mapred
         Environment: Any hadoop installation
            Reporter: Srikanth Kakani
            Priority: Critical


Recently I discovered debugging a map/reduce task on hadoop can be simplified with couple
of lines code in TaskRunner enabling us to run jdb on the child tasks.

TaskRunner.java: 282
        if(conf.getBoolean("mapred.debug.child.task", false)) {
            Random r=new Random();
            int debugPort=8000 + r.nextInt(1000);
            vargs.add("-Xdebug");
            vargs.add("-Xrunjdwp:transport=dt_socket,address="+ debugPort +",server=y,suspend=n");
            LOG.info("Running debug server for task "+ t.getTaskId() + " at port" + debugPort);
        }

This code runs the child tasks with debug enabled after getting a configuration variable.

Connecting to a child task is as simple as running jdb -attach <hostname>:<debugPort>
from anywhere. Additionally authentication information could be included in the jobConf. 

I believe it will greatly reduce the development/debug time on hadoop.


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message