Hadoop Common
  1. Hadoop Common
  2. HADOOP-3135

if the 'mapred.system.dir' in the client jobconf is different from the JobTracker's value job submission fails

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Critical Critical
    • Resolution: Fixed
    • Affects Version/s: 0.16.1
    • Fix Version/s: 0.18.0
    • Component/s: None
    • Labels:
      None
    • Environment:

      all

    • Hadoop Flags:
      Reviewed
    • Release Note:
      Changed job submission protocol to not allow submission if the client's value of mapred.system.dir does not match the job tracker's. Deprecated JobConf.getSystemDir(); use JobClient.getSystemDir().

      Description

      Until Hadoop 0.13 or so, at submission time the full path of the job.xml and all supporting files in DFS was given by the client to the jobtracker.

      Since 0.15 onwards (we did not test 0.14) the jobclient is obtaining the job ID from the jobtracker and creating the directory for all the supporting files using the a system-dir computed from the local jobconf.

      Line 696-7 in the JobClient:

      String jobId = jobSubmitClient.getNewJobId();
      Path submitJobDir = new Path(job.getSystemDir(), jobId);

      This makes submissions to fail when the value of the 'mapred.system.dir' on the client is different from the one in the JobTracker.

      A simple way o fixing this would be to introduce a new method in the JobSubmissionProtocol 'getSystemDir()' that would return the jobtracker system dir and use that dir for uploading all the files on submission.


      For the future: A more comprehensive way of this doing would to obtain a base jobConf from the jobtracker, carrying final information for each element and the construct the job.xml on the client using the final semantics. And, in this case the 'mapred.system.dir' property should be set as final in the jobtracker. As there may be some configuration properties that are sensitive and for security reasons should not be exposed to the clients a new flag 'private' could be introduced and only properties that don't have the 'private' flag would be send over from the jobtracker to the jobclient for job.xml resolution.

      1. patch-3135-v7.txt
        22 kB
        Subramaniam Krishnan
      2. patch-3135-v7_2.txt
        24 kB
        Amareshwari Sriramadasu
      3. patch-3135-v7_1.txt
        22 kB
        Subramaniam Krishnan
      4. patch-3135-v6.txt
        28 kB
        Subramaniam Krishnan
      5. patch-3135-v6_3.txt
        27 kB
        Subramaniam Krishnan
      6. patch-3135-v6_2.txt
        28 kB
        Subramaniam Krishnan
      7. patch-3135-v5.txt
        27 kB
        Subramaniam Krishnan
      8. patch-3135-v4.txt
        20 kB
        Subramaniam Krishnan
      9. patch-3135-v3.txt
        18 kB
        Subramaniam Krishnan

        Issue Links

          Activity

          Hide
          Owen O'Malley added a comment -

          +1 for adding JobSubmissionProtocol.getSystemDirectoryPath.

          However, I think you should also replace InterTrackerProtocol.getFileSystemName with InterTrackerProtocol.getSystemDirectoryPath. Clearly the two getSystemDirectoryPath's are the same...

          That way, only the JobTracker needs to have the system directory defined in its configuration.

          The other piece that would be really good to pass back to the client is the default number of mappers and reducers. See HADOOP-1100.

          Show
          Owen O'Malley added a comment - +1 for adding JobSubmissionProtocol.getSystemDirectoryPath. However, I think you should also replace InterTrackerProtocol.getFileSystemName with InterTrackerProtocol.getSystemDirectoryPath. Clearly the two getSystemDirectoryPath's are the same... That way, only the JobTracker needs to have the system directory defined in its configuration. The other piece that would be really good to pass back to the client is the default number of mappers and reducers. See HADOOP-1100 .
          Hide
          Subramaniam Krishnan added a comment -

          The patch has the below mentioned changes:

          1) Added 'getSystemDir()' in JobSubmissionProtocol that would return the jobtracker system dir. Job Client will use this dir for uploading all the files on submission and JobInProgress will use it for retrieval
          2) Replaced InterTrackerProtocol.getFileSystemName with InterTrackerProtocol.getSystemDir & updated TaskTracker to use this to get the FileSystem handle
          3) Added 'getDefaultMaps()' & 'getDefaultReduces' to JobClient that will return the default number of Maps and Reduces respectively.

          Also added a TestCase - TestJobSysDirWithDFS that checks if a Job will run successfully in spite of different system dir config between Job Client & Job Tracker.

          Show
          Subramaniam Krishnan added a comment - The patch has the below mentioned changes: 1) Added 'getSystemDir()' in JobSubmissionProtocol that would return the jobtracker system dir. Job Client will use this dir for uploading all the files on submission and JobInProgress will use it for retrieval 2) Replaced InterTrackerProtocol.getFileSystemName with InterTrackerProtocol.getSystemDir & updated TaskTracker to use this to get the FileSystem handle 3) Added 'getDefaultMaps()' & 'getDefaultReduces' to JobClient that will return the default number of Maps and Reduces respectively. Also added a TestCase - TestJobSysDirWithDFS that checks if a Job will run successfully in spite of different system dir config between Job Client & Job Tracker.
          Hide
          Devaraj Das added a comment -

          This requires some indentation fixes. Other than that it looks good.

          Show
          Devaraj Das added a comment - This requires some indentation fixes. Other than that it looks good.
          Hide
          Hadoop QA added a comment -

          -1 overall. Here are the results of testing the latest attachment
          http://issues.apache.org/jira/secure/attachment/12379126/patch-3135.txt
          against trunk revision 643282.

          @author +1. The patch does not contain any @author tags.

          tests included +1. The patch appears to include 3 new or modified tests.

          javadoc +1. The javadoc tool did not generate any warning messages.

          javac +1. The applied patch does not generate any new javac compiler warnings.

          release audit +1. The applied patch does not generate any new release audit warnings.

          findbugs +1. The patch does not introduce any new Findbugs warnings.

          core tests -1. The patch failed core unit tests.

          contrib tests +1. The patch passed contrib unit tests.

          Test results: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/2123/testReport/
          Findbugs warnings: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/2123/artifact/trunk/build/test/findbugs/newPatchFindbugsWarnings.html
          Checkstyle results: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/2123/artifact/trunk/build/test/checkstyle-errors.html
          Console output: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/2123/console

          This message is automatically generated.

          Show
          Hadoop QA added a comment - -1 overall. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12379126/patch-3135.txt against trunk revision 643282. @author +1. The patch does not contain any @author tags. tests included +1. The patch appears to include 3 new or modified tests. javadoc +1. The javadoc tool did not generate any warning messages. javac +1. The applied patch does not generate any new javac compiler warnings. release audit +1. The applied patch does not generate any new release audit warnings. findbugs +1. The patch does not introduce any new Findbugs warnings. core tests -1. The patch failed core unit tests. contrib tests +1. The patch passed contrib unit tests. Test results: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/2123/testReport/ Findbugs warnings: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/2123/artifact/trunk/build/test/findbugs/newPatchFindbugsWarnings.html Checkstyle results: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/2123/artifact/trunk/build/test/checkstyle-errors.html Console output: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/2123/console This message is automatically generated.
          Hide
          Subramaniam Krishnan added a comment -

          Fixed the indentation

          Show
          Subramaniam Krishnan added a comment - Fixed the indentation
          Hide
          Hadoop QA added a comment -

          +1 overall. Here are the results of testing the latest attachment
          http://issues.apache.org/jira/secure/attachment/12379235/patch-3135-v2.txt
          against trunk revision 643282.

          @author +1. The patch does not contain any @author tags.

          tests included +1. The patch appears to include 3 new or modified tests.

          javadoc +1. The javadoc tool did not generate any warning messages.

          javac +1. The applied patch does not generate any new javac compiler warnings.

          release audit +1. The applied patch does not generate any new release audit warnings.

          findbugs +1. The patch does not introduce any new Findbugs warnings.

          core tests +1. The patch passed core unit tests.

          contrib tests +1. The patch passed contrib unit tests.

          Test results: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/2145/testReport/
          Findbugs warnings: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/2145/artifact/trunk/build/test/findbugs/newPatchFindbugsWarnings.html
          Checkstyle results: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/2145/artifact/trunk/build/test/checkstyle-errors.html
          Console output: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/2145/console

          This message is automatically generated.

          Show
          Hadoop QA added a comment - +1 overall. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12379235/patch-3135-v2.txt against trunk revision 643282. @author +1. The patch does not contain any @author tags. tests included +1. The patch appears to include 3 new or modified tests. javadoc +1. The javadoc tool did not generate any warning messages. javac +1. The applied patch does not generate any new javac compiler warnings. release audit +1. The applied patch does not generate any new release audit warnings. findbugs +1. The patch does not introduce any new Findbugs warnings. core tests +1. The patch passed core unit tests. contrib tests +1. The patch passed contrib unit tests. Test results: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/2145/testReport/ Findbugs warnings: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/2145/artifact/trunk/build/test/findbugs/newPatchFindbugsWarnings.html Checkstyle results: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/2145/artifact/trunk/build/test/checkstyle-errors.html Console output: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/2145/console This message is automatically generated.
          Hide
          Owen O'Malley added a comment -

          This is close, but the job client needs to get the file system from the system directory rather than getting the default file system.

          Show
          Owen O'Malley added a comment - This is close, but the job client needs to get the file system from the system directory rather than getting the default file system.
          Hide
          Subramaniam Krishnan added a comment -

          I thought I had covered that ...

          public synchronized FileSystem getFs() throws IOException {
          if (this.fs == null)

          { - String fsName = jobSubmitClient.getFilesystemName(); - this.fs = FileSystem.getNamed(fsName, getConf()); + Path sysDir = getSystemDir(); + this.fs = sysDir.getFileSystem(getConf()); }

          return fs;
          }

          Am I missing something?

          Show
          Subramaniam Krishnan added a comment - I thought I had covered that ... public synchronized FileSystem getFs() throws IOException { if (this.fs == null) { - String fsName = jobSubmitClient.getFilesystemName(); - this.fs = FileSystem.getNamed(fsName, getConf()); + Path sysDir = getSystemDir(); + this.fs = sysDir.getFileSystem(getConf()); } return fs; } Am I missing something?
          Hide
          Owen O'Malley added a comment -

          I should have been more explicit and it was actually in the JobInProgress. The offending code is:

          @@ -171,7 +172,7 @@
               this.localJarFile = default_job_conf.getLocalPath(JobTracker.SUBDIR
                                                                 +"/"+ jobid + ".jar");
               FileSystem fs = FileSystem.get(default_conf);
          -    Path jobFile = new Path(default_conf.getSystemDir(), jobid + "/job.xml");
          +    Path jobFile = new Path(this.jobtracker.getSystemDir(), jobid + "/job.xml");
               fs.copyToLocalFile(jobFile, localJobFile);
               conf = new JobConf(localJobFile);
               this.priority = conf.getJobPriority();
          
          Show
          Owen O'Malley added a comment - I should have been more explicit and it was actually in the JobInProgress. The offending code is: @@ -171,7 +172,7 @@ this .localJarFile = default_job_conf.getLocalPath(JobTracker.SUBDIR + "/" + jobid + ".jar" ); FileSystem fs = FileSystem.get(default_conf); - Path jobFile = new Path(default_conf.getSystemDir(), jobid + "/job.xml" ); + Path jobFile = new Path( this .jobtracker.getSystemDir(), jobid + "/job.xml" ); fs.copyToLocalFile(jobFile, localJobFile); conf = new JobConf(localJobFile); this .priority = conf.getJobPriority();
          Hide
          Subramaniam Krishnan added a comment -

          Got it!

          Have update the JIP to also use the JT's system dir to get the file system handle

          Show
          Subramaniam Krishnan added a comment - Got it! Have update the JIP to also use the JT's system dir to get the file system handle
          Hide
          Hadoop QA added a comment -

          +1 overall. Here are the results of testing the latest attachment
          http://issues.apache.org/jira/secure/attachment/12379542/patch-3135-v3.txt
          against trunk revision 645773.

          @author +1. The patch does not contain any @author tags.

          tests included +1. The patch appears to include 3 new or modified tests.

          javadoc +1. The javadoc tool did not generate any warning messages.

          javac +1. The applied patch does not generate any new javac compiler warnings.

          release audit +1. The applied patch does not generate any new release audit warnings.

          findbugs +1. The patch does not introduce any new Findbugs warnings.

          core tests +1. The patch passed core unit tests.

          contrib tests +1. The patch passed contrib unit tests.

          Test results: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/2182/testReport/
          Findbugs warnings: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/2182/artifact/trunk/build/test/findbugs/newPatchFindbugsWarnings.html
          Checkstyle results: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/2182/artifact/trunk/build/test/checkstyle-errors.html
          Console output: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/2182/console

          This message is automatically generated.

          Show
          Hadoop QA added a comment - +1 overall. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12379542/patch-3135-v3.txt against trunk revision 645773. @author +1. The patch does not contain any @author tags. tests included +1. The patch appears to include 3 new or modified tests. javadoc +1. The javadoc tool did not generate any warning messages. javac +1. The applied patch does not generate any new javac compiler warnings. release audit +1. The applied patch does not generate any new release audit warnings. findbugs +1. The patch does not introduce any new Findbugs warnings. core tests +1. The patch passed core unit tests. contrib tests +1. The patch passed contrib unit tests. Test results: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/2182/testReport/ Findbugs warnings: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/2182/artifact/trunk/build/test/findbugs/newPatchFindbugsWarnings.html Checkstyle results: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/2182/artifact/trunk/build/test/checkstyle-errors.html Console output: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/2182/console This message is automatically generated.
          Hide
          Enis Soztutar added a comment -

          Two minor issues with the patch :

          • We should also change
            Path jobDirectory = new Path(jobConf.getSystemDir(), NAME + "_" + randomId); 
            ..
            FileSystem jobfs = jobDirectory.getFileSystem(jobConf);
            

            in CopyFiles#setup(...)

          • We already have JobClient#getClusterStatus(), so JobClient#getDefaultMaps() and JobClient#getDefaultReduces() might not be necessary

          other than these patch looks good, +1.

          Show
          Enis Soztutar added a comment - Two minor issues with the patch : We should also change Path jobDirectory = new Path(jobConf.getSystemDir(), NAME + "_" + randomId); .. FileSystem jobfs = jobDirectory.getFileSystem(jobConf); in CopyFiles#setup(...) We already have JobClient#getClusterStatus() , so JobClient#getDefaultMaps() and JobClient#getDefaultReduces() might not be necessary other than these patch looks good, +1.
          Hide
          Arun C Murthy added a comment -

          Cancelling patch while Enis's concerns are addressed...

          Show
          Arun C Murthy added a comment - Cancelling patch while Enis's concerns are addressed...
          Hide
          Amareshwari Sriramadasu added a comment -

          We already have JobClient#getClusterStatus(), so JobClient#getDefaultMaps() and JobClient#getDefaultReduces() might not be necessary

          JobClient#getDefaultMaps() and JobClient#getDefaultReduces() are the wrappers around JobClient#getClusterStatus() as requested in HADOOP-1100
          So, I think these can still be added.

          Show
          Amareshwari Sriramadasu added a comment - We already have JobClient#getClusterStatus(), so JobClient#getDefaultMaps() and JobClient#getDefaultReduces() might not be necessary JobClient#getDefaultMaps() and JobClient#getDefaultReduces() are the wrappers around JobClient#getClusterStatus() as requested in HADOOP-1100 So, I think these can still be added.
          Hide
          Subramaniam Krishnan added a comment -

          Updated with Enis comment on CopyFile.setup().

          Show
          Subramaniam Krishnan added a comment - Updated with Enis comment on CopyFile.setup().
          Hide
          Owen O'Malley added a comment -

          Please go through all of the callers to FileSystem.get(conf) and make sure they are correct. I'd also ask you to create a unit test that has the system directory on a non-default file system and submits a job to it, if you don't have one already.

          Show
          Owen O'Malley added a comment - Please go through all of the callers to FileSystem.get(conf) and make sure they are correct. I'd also ask you to create a unit test that has the system directory on a non-default file system and submits a job to it, if you don't have one already.
          Hide
          Arun C Murthy added a comment -

          I'm sorry to jump in late on this, but I thought this was really important to consider...

          I'd like to propose that we deprecate JobConf.getSystemDir - it really is a bogus value in many cases as this jira explains. We should remove all references to JobConf.getSystemDir in our code and change them to use JobClient.getSystemDir, which is guaranteed to get u the right value. Thoughts?

          Show
          Arun C Murthy added a comment - I'm sorry to jump in late on this, but I thought this was really important to consider... I'd like to propose that we deprecate JobConf.getSystemDir - it really is a bogus value in many cases as this jira explains. We should remove all references to JobConf.getSystemDir in our code and change them to use JobClient.getSystemDir, which is guaranteed to get u the right value. Thoughts?
          Hide
          Arun C Murthy added a comment -

          Since you are generating a new patch, I'd appreciate if you could weed out miscellaneous changes like these which aren't necessary:

          Index: src/java/org/apache/hadoop/mapred/JobTracker.java
          ===================================================================
          --- src/java/org/apache/hadoop/mapred/JobTracker.java	(revision 643322)
          +++ src/java/org/apache/hadoop/mapred/JobTracker.java	(working copy)
          @@ -37,7 +37,6 @@
           import java.util.Properties;
           import java.util.Set;
           import java.util.TreeMap;
          -import java.util.HashMap;
           import java.util.TreeSet;
           import java.util.Vector;
           import java.util.concurrent.LinkedBlockingQueue;
          @@ -51,18 +50,18 @@
           import org.apache.hadoop.fs.permission.FsPermission;
           import org.apache.hadoop.ipc.RPC;
           import org.apache.hadoop.ipc.RemoteException;
          +import org.apache.hadoop.ipc.Server;
           import org.apache.hadoop.ipc.RPC.VersionMismatch;
          -import org.apache.hadoop.ipc.Server;
           import org.apache.hadoop.metrics.MetricsContext;
           import org.apache.hadoop.metrics.MetricsRecord;
           import org.apache.hadoop.metrics.MetricsUtil;
           import org.apache.hadoop.metrics.Updater;
           import org.apache.hadoop.metrics.jvm.JvmMetrics;
           import org.apache.hadoop.net.DNSToSwitchMapping;
          +import org.apache.hadoop.net.NetUtils;
           import org.apache.hadoop.net.NetworkTopology;
          +import org.apache.hadoop.net.Node;
           import org.apache.hadoop.net.NodeBase;
          -import org.apache.hadoop.net.Node;
          -import org.apache.hadoop.net.NetUtils;
           import org.apache.hadoop.net.ScriptBasedMapping;
           import org.apache.hadoop.util.HostsFileReader;
           import org.apache.hadoop.util.ReflectionUtils;
          

          Oh, we probably should cache the value of the system.dir in JobClient.getSystemDir rather than do an RPC to get it each time...

          Show
          Arun C Murthy added a comment - Since you are generating a new patch, I'd appreciate if you could weed out miscellaneous changes like these which aren't necessary: Index: src/java/org/apache/hadoop/mapred/JobTracker.java =================================================================== --- src/java/org/apache/hadoop/mapred/JobTracker.java (revision 643322) +++ src/java/org/apache/hadoop/mapred/JobTracker.java (working copy) @@ -37,7 +37,6 @@ import java.util.Properties; import java.util.Set; import java.util.TreeMap; -import java.util.HashMap; import java.util.TreeSet; import java.util.Vector; import java.util.concurrent.LinkedBlockingQueue; @@ -51,18 +50,18 @@ import org.apache.hadoop.fs.permission.FsPermission; import org.apache.hadoop.ipc.RPC; import org.apache.hadoop.ipc.RemoteException; +import org.apache.hadoop.ipc.Server; import org.apache.hadoop.ipc.RPC.VersionMismatch; -import org.apache.hadoop.ipc.Server; import org.apache.hadoop.metrics.MetricsContext; import org.apache.hadoop.metrics.MetricsRecord; import org.apache.hadoop.metrics.MetricsUtil; import org.apache.hadoop.metrics.Updater; import org.apache.hadoop.metrics.jvm.JvmMetrics; import org.apache.hadoop.net.DNSToSwitchMapping; +import org.apache.hadoop.net.NetUtils; import org.apache.hadoop.net.NetworkTopology; +import org.apache.hadoop.net.Node; import org.apache.hadoop.net.NodeBase; -import org.apache.hadoop.net.Node; -import org.apache.hadoop.net.NetUtils; import org.apache.hadoop.net.ScriptBasedMapping; import org.apache.hadoop.util.HostsFileReader; import org.apache.hadoop.util.ReflectionUtils; Oh, we probably should cache the value of the system.dir in JobClient.getSystemDir rather than do an RPC to get it each time...
          Hide
          Owen O'Malley added a comment -

          This is a very good thing to fix, but it is neither a bug or an incompatibility with 0.16. Furthermore, this is very likely to be a very difficult patch to test and get right.

          I'm moving it to 0.18.

          When this is resolved, it will fix my comment on HADOOP-1100.

          Show
          Owen O'Malley added a comment - This is a very good thing to fix, but it is neither a bug or an incompatibility with 0.16. Furthermore, this is very likely to be a very difficult patch to test and get right. I'm moving it to 0.18. When this is resolved, it will fix my comment on HADOOP-1100 .
          Hide
          Subramaniam Krishnan added a comment - - edited

          I have updated the patch with the following changes:

          1) Went through the call hierarchy of FileSystem.get(conf) with Amareshwari's help and updated a few instances to make sure they are correct(in my limited knowledge).
          2) Deprecated JobConf.getSystemDir. Replaced all references to JobConf.getSystemDir in our code and change them to use JobClient.getSystemDir.
          3) Add caching for the value of the system directory in JobClient.getSystemDir.

          I already have added a test case that checks if a Job run successfully in spite of different system directory configuration between Job Client & Job Tracker. I couldn't set the system directory to a non-default file system as the MiniMRCluster doesn't support it currently. Have raised a jira for the same - HADOOP-3244

          I haven't changed the imports as they were giving me warnings & are much better organized now.

          Show
          Subramaniam Krishnan added a comment - - edited I have updated the patch with the following changes: 1) Went through the call hierarchy of FileSystem.get(conf) with Amareshwari's help and updated a few instances to make sure they are correct(in my limited knowledge). 2) Deprecated JobConf.getSystemDir. Replaced all references to JobConf.getSystemDir in our code and change them to use JobClient.getSystemDir. 3) Add caching for the value of the system directory in JobClient.getSystemDir. I already have added a test case that checks if a Job run successfully in spite of different system directory configuration between Job Client & Job Tracker. I couldn't set the system directory to a non-default file system as the MiniMRCluster doesn't support it currently. Have raised a jira for the same - HADOOP-3244 I haven't changed the imports as they were giving me warnings & are much better organized now.
          Hide
          Hadoop QA added a comment -

          -1 overall. Here are the results of testing the latest attachment
          http://issues.apache.org/jira/secure/attachment/12380251/patch-3135-v5.txt
          against trunk revision 645773.

          @author +1. The patch does not contain any @author tags.

          tests included +1. The patch appears to include 6 new or modified tests.

          javadoc +1. The javadoc tool did not generate any warning messages.

          javac +1. The applied patch does not generate any new javac compiler warnings.

          release audit +1. The applied patch does not generate any new release audit warnings.

          findbugs +1. The patch does not introduce any new Findbugs warnings.

          core tests -1. The patch failed core unit tests.

          contrib tests -1. The patch failed contrib unit tests.

          Test results: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/2253/testReport/
          Findbugs warnings: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/2253/artifact/trunk/build/test/findbugs/newPatchFindbugsWarnings.html
          Checkstyle results: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/2253/artifact/trunk/build/test/checkstyle-errors.html
          Console output: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/2253/console

          This message is automatically generated.

          Show
          Hadoop QA added a comment - -1 overall. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12380251/patch-3135-v5.txt against trunk revision 645773. @author +1. The patch does not contain any @author tags. tests included +1. The patch appears to include 6 new or modified tests. javadoc +1. The javadoc tool did not generate any warning messages. javac +1. The applied patch does not generate any new javac compiler warnings. release audit +1. The applied patch does not generate any new release audit warnings. findbugs +1. The patch does not introduce any new Findbugs warnings. core tests -1. The patch failed core unit tests. contrib tests -1. The patch failed contrib unit tests. Test results: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/2253/testReport/ Findbugs warnings: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/2253/artifact/trunk/build/test/findbugs/newPatchFindbugsWarnings.html Checkstyle results: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/2253/artifact/trunk/build/test/checkstyle-errors.html Console output: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/2253/console This message is automatically generated.
          Hide
          Subramaniam Krishnan added a comment -

          I am canceling this patch as I am going to submit a new one with a fix in LocalJobRunner.

          Show
          Subramaniam Krishnan added a comment - I am canceling this patch as I am going to submit a new one with a fix in LocalJobRunner.
          Hide
          Subramaniam Krishnan added a comment -

          LocalJobRunner was not setting the local Job File for the Map/Reduce Tasks, so updated it to set the same.

          This patch also contains an update in the Javadoc of the deprecated JobConf.getSystemDir() to link to the JobClient.getSystemDir().

          Show
          Subramaniam Krishnan added a comment - LocalJobRunner was not setting the local Job File for the Map/Reduce Tasks, so updated it to set the same. This patch also contains an update in the Javadoc of the deprecated JobConf.getSystemDir() to link to the JobClient.getSystemDir().
          Hide
          Hadoop QA added a comment -

          -1 overall. Here are the results of testing the latest attachment
          http://issues.apache.org/jira/secure/attachment/12380374/patch-3135-v6.txt
          against trunk revision 645773.

          @author +1. The patch does not contain any @author tags.

          tests included +1. The patch appears to include 6 new or modified tests.

          patch -1. The patch command could not apply the patch.

          Console output: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/2262/console

          This message is automatically generated.

          Show
          Hadoop QA added a comment - -1 overall. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12380374/patch-3135-v6.txt against trunk revision 645773. @author +1. The patch does not contain any @author tags. tests included +1. The patch appears to include 6 new or modified tests. patch -1. The patch command could not apply the patch. Console output: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/2262/console This message is automatically generated.
          Hide
          Subramaniam Krishnan added a comment -


          Updated the patch after sync-ing with trunk

          Show
          Subramaniam Krishnan added a comment - Updated the patch after sync-ing with trunk
          Hide
          Hadoop QA added a comment -

          -1 overall. Here are the results of testing the latest attachment
          http://issues.apache.org/jira/secure/attachment/12380387/patch-3135-v6_2.txt
          against trunk revision 645773.

          @author +1. The patch does not contain any @author tags.

          tests included +1. The patch appears to include 6 new or modified tests.

          patch -1. The patch command could not apply the patch.

          Console output: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/2263/console

          This message is automatically generated.

          Show
          Hadoop QA added a comment - -1 overall. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12380387/patch-3135-v6_2.txt against trunk revision 645773. @author +1. The patch does not contain any @author tags. tests included +1. The patch appears to include 6 new or modified tests. patch -1. The patch command could not apply the patch. Console output: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/2263/console This message is automatically generated.
          Hide
          Subramaniam Krishnan added a comment -

          Corrected the file paths in patch file

          Show
          Subramaniam Krishnan added a comment - Corrected the file paths in patch file
          Hide
          Hadoop QA added a comment -

          +1 overall. Here are the results of testing the latest attachment
          http://issues.apache.org/jira/secure/attachment/12380470/patch-3135-v6_3.txt
          against trunk revision 645773.

          @author +1. The patch does not contain any @author tags.

          tests included +1. The patch appears to include 6 new or modified tests.

          javadoc +1. The javadoc tool did not generate any warning messages.

          javac +1. The applied patch does not generate any new javac compiler warnings.

          release audit +1. The applied patch does not generate any new release audit warnings.

          findbugs +1. The patch does not introduce any new Findbugs warnings.

          core tests +1. The patch passed core unit tests.

          contrib tests +1. The patch passed contrib unit tests.

          Test results: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/2280/testReport/
          Findbugs warnings: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/2280/artifact/trunk/build/test/findbugs/newPatchFindbugsWarnings.html
          Checkstyle results: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/2280/artifact/trunk/build/test/checkstyle-errors.html
          Console output: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/2280/console

          This message is automatically generated.

          Show
          Hadoop QA added a comment - +1 overall. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12380470/patch-3135-v6_3.txt against trunk revision 645773. @author +1. The patch does not contain any @author tags. tests included +1. The patch appears to include 6 new or modified tests. javadoc +1. The javadoc tool did not generate any warning messages. javac +1. The applied patch does not generate any new javac compiler warnings. release audit +1. The applied patch does not generate any new release audit warnings. findbugs +1. The patch does not introduce any new Findbugs warnings. core tests +1. The patch passed core unit tests. contrib tests +1. The patch passed contrib unit tests. Test results: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/2280/testReport/ Findbugs warnings: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/2280/artifact/trunk/build/test/findbugs/newPatchFindbugsWarnings.html Checkstyle results: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/2280/artifact/trunk/build/test/checkstyle-errors.html Console output: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/2280/console This message is automatically generated.
          Hide
          Owen O'Malley added a comment -

          I'm sorry, but this patch is out of sync with respect to trunk. Can you fix it once more?

          Show
          Owen O'Malley added a comment - I'm sorry, but this patch is out of sync with respect to trunk. Can you fix it once more?
          Hide
          Subramaniam Krishnan added a comment -

          I am just waiting for the patch for Hadoop-3244 to go in so that I update the test case to set the system directory to a non-default file system.
          Then I'll sync & submit once again.

          Show
          Subramaniam Krishnan added a comment - I am just waiting for the patch for Hadoop-3244 to go in so that I update the test case to set the system directory to a non-default file system. Then I'll sync & submit once again.
          Hide
          Devaraj Das added a comment -

          Now that HADOOP-3296 has been committed, could you pls submit a new patch with the testcase.

          Show
          Devaraj Das added a comment - Now that HADOOP-3296 has been committed, could you pls submit a new patch with the testcase.
          Hide
          Subramaniam Krishnan added a comment -

          I have made the following changes:

          1) Sync-ed with the Trunk.
          2) Updated the Test Case to make the JobTracker use a non-default file system.
          3) Updated FileSystem.get(conf) call in Multi File Splitter(had missed it previously).

          Show
          Subramaniam Krishnan added a comment - I have made the following changes: 1) Sync-ed with the Trunk. 2) Updated the Test Case to make the JobTracker use a non-default file system. 3) Updated FileSystem.get(conf) call in Multi File Splitter(had missed it previously).
          Hide
          Subramaniam Krishnan added a comment -


          Submitting same patch once again

          Show
          Subramaniam Krishnan added a comment - Submitting same patch once again
          Hide
          Subramaniam Krishnan added a comment -


          Submitting same patch once again (again)

          Show
          Subramaniam Krishnan added a comment - Submitting same patch once again (again)
          Hide
          Hadoop QA added a comment -

          -1 overall. Here are the results of testing the latest attachment
          http://issues.apache.org/jira/secure/attachment/12382776/patch-3135-v7.txt
          against trunk revision 662805.

          +1 @author. The patch does not contain any @author tags.

          +1 tests included. The patch appears to include 6 new or modified tests.

          +1 javadoc. The javadoc tool did not generate any warning messages.

          +1 javac. The applied patch does not increase the total number of javac compiler warnings.

          +1 findbugs. The patch does not introduce any new Findbugs warnings.

          +1 release audit. The applied patch does not increase the total number of release audit warnings.

          -1 core tests. The patch failed core unit tests.

          +1 contrib tests. The patch passed contrib unit tests.

          Test results: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/2546/testReport/
          Findbugs warnings: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/2546/artifact/trunk/build/test/findbugs/newPatchFindbugsWarnings.html
          Checkstyle results: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/2546/artifact/trunk/build/test/checkstyle-errors.html
          Console output: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/2546/console

          This message is automatically generated.

          Show
          Hadoop QA added a comment - -1 overall. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12382776/patch-3135-v7.txt against trunk revision 662805. +1 @author. The patch does not contain any @author tags. +1 tests included. The patch appears to include 6 new or modified tests. +1 javadoc. The javadoc tool did not generate any warning messages. +1 javac. The applied patch does not increase the total number of javac compiler warnings. +1 findbugs. The patch does not introduce any new Findbugs warnings. +1 release audit. The applied patch does not increase the total number of release audit warnings. -1 core tests. The patch failed core unit tests. +1 contrib tests. The patch passed contrib unit tests. Test results: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/2546/testReport/ Findbugs warnings: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/2546/artifact/trunk/build/test/findbugs/newPatchFindbugsWarnings.html Checkstyle results: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/2546/artifact/trunk/build/test/checkstyle-errors.html Console output: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/2546/console This message is automatically generated.
          Hide
          Subramaniam Krishnan added a comment -

          Only org.apache.hadoop.mapred.TestMiniMRBringup.testBringUp fails due to Timeout but all the tests including TestMiniMRBringup run fine on my machine.
          Also, the test case isn't related to the patch.

          Show
          Subramaniam Krishnan added a comment - Only org.apache.hadoop.mapred.TestMiniMRBringup.testBringUp fails due to Timeout but all the tests including TestMiniMRBringup run fine on my machine. Also, the test case isn't related to the patch.
          Hide
          Amareshwari Sriramadasu added a comment -

          There is some indetation issues in InterTrackerProtocol.java. Otherthan that patch looks good.
          Could you please submit a patch with indentation fixed?

          Show
          Amareshwari Sriramadasu added a comment - There is some indetation issues in InterTrackerProtocol.java. Otherthan that patch looks good. Could you please submit a patch with indentation fixed?
          Hide
          Subramaniam Krishnan added a comment -


          Fixed indentation in InterTrackerProtocol & sync-ed again with Trunk

          Show
          Subramaniam Krishnan added a comment - Fixed indentation in InterTrackerProtocol & sync-ed again with Trunk
          Hide
          Amareshwari Sriramadasu added a comment -

          +1 patch looks good.

          Show
          Amareshwari Sriramadasu added a comment - +1 patch looks good.
          Hide
          Amareshwari Sriramadasu added a comment -

          trying to put in hudson patch queue.

          Show
          Amareshwari Sriramadasu added a comment - trying to put in hudson patch queue.
          Hide
          Hadoop QA added a comment -

          -1 overall. Here are the results of testing the latest attachment
          http://issues.apache.org/jira/secure/attachment/12383436/patch-3135-v7_1.txt
          against trunk revision 663487.

          +1 @author. The patch does not contain any @author tags.

          +1 tests included. The patch appears to include 6 new or modified tests.

          +1 javadoc. The javadoc tool did not generate any warning messages.

          -1 javac. The applied patch generated 453 javac compiler warnings (more than the trunk's current 452 warnings).

          +1 findbugs. The patch does not introduce any new Findbugs warnings.

          +1 release audit. The applied patch does not increase the total number of release audit warnings.

          -1 core tests. The patch failed core unit tests.

          -1 contrib tests. The patch failed contrib unit tests.

          Test results: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/2586/testReport/
          Findbugs warnings: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/2586/artifact/trunk/build/test/findbugs/newPatchFindbugsWarnings.html
          Checkstyle results: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/2586/artifact/trunk/build/test/checkstyle-errors.html
          Console output: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/2586/console

          This message is automatically generated.

          Show
          Hadoop QA added a comment - -1 overall. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12383436/patch-3135-v7_1.txt against trunk revision 663487. +1 @author. The patch does not contain any @author tags. +1 tests included. The patch appears to include 6 new or modified tests. +1 javadoc. The javadoc tool did not generate any warning messages. -1 javac. The applied patch generated 453 javac compiler warnings (more than the trunk's current 452 warnings). +1 findbugs. The patch does not introduce any new Findbugs warnings. +1 release audit. The applied patch does not increase the total number of release audit warnings. -1 core tests. The patch failed core unit tests. -1 contrib tests. The patch failed contrib unit tests. Test results: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/2586/testReport/ Findbugs warnings: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/2586/artifact/trunk/build/test/findbugs/newPatchFindbugsWarnings.html Checkstyle results: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/2586/artifact/trunk/build/test/checkstyle-errors.html Console output: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/2586/console This message is automatically generated.
          Hide
          Devaraj Das added a comment -

          sigh.. Could you please fix the javac warning.

          Show
          Devaraj Das added a comment - sigh.. Could you please fix the javac warning.
          Hide
          Amareshwari Sriramadasu added a comment -

          Fixed javac warnings. And updated patch with the trunk.

          Show
          Amareshwari Sriramadasu added a comment - Fixed javac warnings. And updated patch with the trunk.
          Hide
          Hadoop QA added a comment -

          -1 overall. Here are the results of testing the latest attachment
          http://issues.apache.org/jira/secure/attachment/12383539/patch-3135-v7_2.txt
          against trunk revision 663889.

          +1 @author. The patch does not contain any @author tags.

          +1 tests included. The patch appears to include 6 new or modified tests.

          +1 javadoc. The javadoc tool did not generate any warning messages.

          +1 javac. The applied patch does not increase the total number of javac compiler warnings.

          +1 findbugs. The patch does not introduce any new Findbugs warnings.

          +1 release audit. The applied patch does not increase the total number of release audit warnings.

          -1 core tests. The patch failed core unit tests.

          +1 contrib tests. The patch passed contrib unit tests.

          Test results: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/2605/testReport/
          Findbugs warnings: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/2605/artifact/trunk/build/test/findbugs/newPatchFindbugsWarnings.html
          Checkstyle results: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/2605/artifact/trunk/build/test/checkstyle-errors.html
          Console output: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/2605/console

          This message is automatically generated.

          Show
          Hadoop QA added a comment - -1 overall. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12383539/patch-3135-v7_2.txt against trunk revision 663889. +1 @author. The patch does not contain any @author tags. +1 tests included. The patch appears to include 6 new or modified tests. +1 javadoc. The javadoc tool did not generate any warning messages. +1 javac. The applied patch does not increase the total number of javac compiler warnings. +1 findbugs. The patch does not introduce any new Findbugs warnings. +1 release audit. The applied patch does not increase the total number of release audit warnings. -1 core tests. The patch failed core unit tests. +1 contrib tests. The patch passed contrib unit tests. Test results: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/2605/testReport/ Findbugs warnings: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/2605/artifact/trunk/build/test/findbugs/newPatchFindbugsWarnings.html Checkstyle results: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/2605/artifact/trunk/build/test/checkstyle-errors.html Console output: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/2605/console This message is automatically generated.
          Hide
          Devaraj Das added a comment -

          I just committed this. Thanks Subramaniam and Amareshwari (for the last minute fix to the patch)!

          Show
          Devaraj Das added a comment - I just committed this. Thanks Subramaniam and Amareshwari (for the last minute fix to the patch)!
          Hide
          steve_l added a comment -

          I think this may have introduced a small race condition. getSystemDir() NPEs if fs==null, which may happen if the service is live but is not yet fully bonded to the filesystem

          java.io.IOException: java.lang.NullPointerException
          at org.apache.hadoop.mapred.JobTracker.getSystemDir(JobTracker.java:1825)
          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
          at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
          at java.lang.reflect.Method.invoke(Method.java:597)
          at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:452)
          at org.apache.hadoop.ipc.Server$Handler.run(Server.java:888)

          The getFileSystemName() method has a check for exactly this, throwing an IllegalStateException if the FS is null, but it has a signature that permits this.

          Show
          steve_l added a comment - I think this may have introduced a small race condition. getSystemDir() NPEs if fs==null, which may happen if the service is live but is not yet fully bonded to the filesystem java.io.IOException: java.lang.NullPointerException at org.apache.hadoop.mapred.JobTracker.getSystemDir(JobTracker.java:1825) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:452) at org.apache.hadoop.ipc.Server$Handler.run(Server.java:888) The getFileSystemName() method has a check for exactly this, throwing an IllegalStateException if the FS is null, but it has a signature that permits this.
          Hide
          Tsz Wo Nicholas Sze added a comment -

          The patch also fixed the HADOOP-3214. Linking them together.

          Show
          Tsz Wo Nicholas Sze added a comment - The patch also fixed the HADOOP-3214 . Linking them together.

            People

            • Assignee:
              Subramaniam Krishnan
              Reporter:
              Alejandro Abdelnur
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development