Hadoop YARN
  1. Hadoop YARN
  2. YARN-349

Send out last-minute load averages in TaskTrackerStatus

    Details

    • Type: New Feature New Feature
    • Status: Open
    • Priority: Major Major
    • Resolution: Unresolved
    • Affects Version/s: 2.0.0-alpha
    • Fix Version/s: None
    • Component/s: nodemanager
    • Labels:
      None

      Description

      Load averages could be useful in scheduling. This patch looks to extend the existing Linux resource plugin (via /proc/loadavg file) to allow transmitting load averages of the last one minute via the TaskTrackerStatus.

      Patch is up for review, with test cases added, at: https://reviews.apache.org/r/20/

      1. mapreduce.loadaverage.r3.diff
        8 kB
        Harsh J
      2. mapreduce.loadaverage.r4.diff
        8 kB
        Harsh J
      3. mapreduce.loadaverage.r5.diff
        10 kB
        Harsh J
      4. mapreduce.loadaverage.r6.diff
        11 kB
        Harsh J

        Activity

        Harsh J created issue -
        Hide
        Allen Wittenauer added a comment -

        Why not use getSystemLoadAvg() to make it portable?

        Show
        Allen Wittenauer added a comment - Why not use getSystemLoadAvg() to make it portable?
        Hide
        Harsh J added a comment -

        Hm, I didn't know about that MXBean thingy! [Just googled that method]

        I could make the change, but the Linux resource plugin is only loaded when the os is detected to be "linux", that still makes it (mostly) non-portable doesn't it?

        Is there a portable plugin?

        Show
        Harsh J added a comment - Hm, I didn't know about that MXBean thingy! [Just googled that method] I could make the change, but the Linux resource plugin is only loaded when the os is detected to be "linux", that still makes it (mostly) non-portable doesn't it? Is there a portable plugin?
        Hide
        Allen Wittenauer added a comment -

        That's sort of my point: why not promote this to be a Hadoop feature rather than something tied to a specific OS if we can support it in a generic way?

        One of the bad things about load avg is that it doesn't give you a why. In other words, a node may be totally fine running more cpu-bound tasks if the box is actually being hammered IO-wise. Since both conditions show as load.... But this would require a lot more smarts in the system and of the user. So while it makes me slightly uncomfortable to use this value, load should be 'good enough' given the current state of the system.

        Show
        Allen Wittenauer added a comment - That's sort of my point: why not promote this to be a Hadoop feature rather than something tied to a specific OS if we can support it in a generic way? One of the bad things about load avg is that it doesn't give you a why. In other words, a node may be totally fine running more cpu-bound tasks if the box is actually being hammered IO-wise. Since both conditions show as load.... But this would require a lot more smarts in the system and of the user. So while it makes me slightly uncomfortable to use this value, load should be 'good enough' given the current state of the system.
        Hide
        Harsh J added a comment -

        We could add a portable plugin, sure! Are there sufficient functions available as part of the JVM itself, for this?

        Show
        Harsh J added a comment - We could add a portable plugin, sure! Are there sufficient functions available as part of the JVM itself, for this?
        Hide
        Allen Wittenauer added a comment -

        Why does it have to be in a plug-in? Why can't it just be part of the TaskTracker in general?

        Show
        Allen Wittenauer added a comment - Why does it have to be in a plug-in? Why can't it just be part of the TaskTracker in general?
        Hide
        Harsh J added a comment -

        Plugins could help if there are better detailed, platform-specific ways of getting resource statistics?

        Show
        Harsh J added a comment - Plugins could help if there are better detailed, platform-specific ways of getting resource statistics?
        Hide
        Scott Chen added a comment -

        +1 on Allen's idea of using getSystemLoadAvg() in ResourceCalculatorPlugin.getSystemLoadAverage(). So if in the future people have added a new ResourceCalculatorPlugin for other platform, they can directly use this method.

        I think it is better to put this in ResourceCalculatorPlugin to keep similar tools in the same class.

        Show
        Scott Chen added a comment - +1 on Allen's idea of using getSystemLoadAvg() in ResourceCalculatorPlugin.getSystemLoadAverage(). So if in the future people have added a new ResourceCalculatorPlugin for other platform, they can directly use this method. I think it is better to put this in ResourceCalculatorPlugin to keep similar tools in the same class.
        Hide
        Scott Chen added a comment -

        And thank you for adding this feature, Harsh. I think this is a good thing to have

        Show
        Scott Chen added a comment - And thank you for adding this feature, Harsh. I think this is a good thing to have
        Hide
        Harsh J added a comment -

        I began to change this, but have run into a small issue. How do I store a 'double' inside a Configuration? There are only ways to set/get floats from it.

        getSystemLoadAverage() in OperatingSystemMXBean returns a double. Is it okay if we change that to a float and use it?

        Show
        Harsh J added a comment - I began to change this, but have run into a small issue. How do I store a 'double' inside a Configuration? There are only ways to set/get floats from it. getSystemLoadAverage() in OperatingSystemMXBean returns a double. Is it okay if we change that to a float and use it?
        Hide
        Scott Chen added a comment -

        Hey Harsh, I think it is OK to cast it into float.

        Show
        Scott Chen added a comment - Hey Harsh, I think it is OK to cast it into float.
        Hide
        Harsh J added a comment -

        I've updated the patch on the review board.

        Show
        Harsh J added a comment - I've updated the patch on the review board.
        Hide
        Arun C Murthy added a comment -

        Harsh, can you please put up the patch here on jira and grant license to ASF for inclusion? Thanks.

        Show
        Arun C Murthy added a comment - Harsh, can you please put up the patch here on jira and grant license to ASF for inclusion? Thanks.
        Hide
        Scott Chen added a comment -

        Hey Harsh,
        Why do we need to override getSystemLoadAverage()? The native one should also work for Linux case, right?

          @Override
          public float getSystemLoadAverage() {
            readProcLoadAverageFile();
            return loadAverage;
          }
        
        Show
        Scott Chen added a comment - Hey Harsh, Why do we need to override getSystemLoadAverage()? The native one should also work for Linux case, right? @Override public float getSystemLoadAverage() { readProcLoadAverageFile(); return loadAverage; }
        Hide
        Harsh J added a comment -

        Attaching patch here as requested by Arun.

        Patch also addresses Scott Chen's query. The Linux plugin does not do any /proc/loadavg reading anymore.

        P.s. Is it safe to also rely on OperatingSystemMXBean.getAvailableProcessors() for retrieving the number of CPUs via ResourceCalculatorPlugin.getNumProcessors()? If it is, I could add this on also.

        Show
        Harsh J added a comment - Attaching patch here as requested by Arun. Patch also addresses Scott Chen's query. The Linux plugin does not do any /proc/loadavg reading anymore. P.s. Is it safe to also rely on OperatingSystemMXBean.getAvailableProcessors() for retrieving the number of CPUs via ResourceCalculatorPlugin.getNumProcessors() ? If it is, I could add this on also.
        Harsh J made changes -
        Field Original Value New Value
        Attachment mapreduce.loadaverage.r3.diff [ 12459720 ]
        Hide
        Arun C Murthy added a comment -

        +1 the patch looks good.

        Marking it 'PA" on Harsh's behalf... I'll commit once we get an 'ok' from Hudson.

        Show
        Arun C Murthy added a comment - +1 the patch looks good. Marking it 'PA" on Harsh's behalf... I'll commit once we get an 'ok' from Hudson.
        Arun C Murthy made changes -
        Status Open [ 1 ] Patch Available [ 10002 ]
        Hide
        Hadoop QA added a comment -

        -1 overall. Here are the results of testing the latest attachment
        http://issues.apache.org/jira/secure/attachment/12459720/mapreduce.loadaverage.r3.diff
        against trunk revision 1036745.

        +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 patch appears to cause tar ant target to fail.

        -1 findbugs. The patch appears to introduce 1 new Findbugs (version 1.3.9) warnings.

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

        -1 core tests. The patch failed these core unit tests:
        org.apache.hadoop.cli.TestMRCLI
        org.apache.hadoop.conf.TestJobConf
        org.apache.hadoop.conf.TestNoDefaultsJobConf
        org.apache.hadoop.examples.pi.math.TestSummation
        org.apache.hadoop.examples.terasort.TestTeraSort
        org.apache.hadoop.examples.TestBaileyBorweinPlouffe
        org.apache.hadoop.fs.slive.TestSlive
        org.apache.hadoop.fs.TestDFSIO
        org.apache.hadoop.fs.TestFileSystem
        org.apache.hadoop.fs.TestHarFileSystem
        org.apache.hadoop.fs.TestJHLA
        org.apache.hadoop.io.TestSequenceFileMergeProgress
        org.apache.hadoop.ipc.TestSocketFactory
        org.apache.hadoop.mapred.join.TestDatamerge
        org.apache.hadoop.mapred.lib.TestDelegatingInputFormat
        org.apache.hadoop.mapred.pipes.TestPipesAsDifferentUser
        org.apache.hadoop.mapred.pipes.TestPipes
        org.apache.hadoop.mapred.TestAdminOperationsProtocolWithServiceAuthorization
        org.apache.hadoop.mapred.TestAuditLogger
        org.apache.hadoop.mapred.TestBadRecords
        org.apache.hadoop.mapred.TestClusterMapReduceTestCase
        org.apache.hadoop.mapred.TestClusterMRNotification
        org.apache.hadoop.mapred.TestClusterStatus
        org.apache.hadoop.mapred.TestCompositeTaskTrackerInstrumentation
        org.apache.hadoop.mapred.TestCompressedEmptyMapOutputs
        org.apache.hadoop.mapred.TestControlledMapReduceJob
        org.apache.hadoop.mapred.TestDebugScriptWithLinuxTaskController
        org.apache.hadoop.mapred.TestDebugScript
        org.apache.hadoop.mapred.TestEmptyJob
        org.apache.hadoop.mapred.TestFieldSelection
        org.apache.hadoop.mapred.TestIFile
        org.apache.hadoop.mapred.TestInputPath
        org.apache.hadoop.mapred.TestIsolationRunner
        org.apache.hadoop.mapred.TestJobCleanup
        org.apache.hadoop.mapred.TestJobClient
        org.apache.hadoop.mapred.TestJobCounters
        org.apache.hadoop.mapred.TestJobDirCleanup
        org.apache.hadoop.mapred.TestJobExecutionAsDifferentUser
        org.apache.hadoop.mapred.TestJobHistory
        org.apache.hadoop.mapred.TestJobInProgressListener
        org.apache.hadoop.mapred.TestJobKillAndFail
        org.apache.hadoop.mapred.TestJobName
        org.apache.hadoop.mapred.TestJobQueueClient
        org.apache.hadoop.mapred.TestJobQueueInformation
        org.apache.hadoop.mapred.TestJobRetire
        org.apache.hadoop.mapred.TestJobStatusPersistency
        org.apache.hadoop.mapred.TestJobSysDirWithDFS
        org.apache.hadoop.mapred.TestJobTrackerInstrumentation
        org.apache.hadoop.mapred.TestJobTrackerStart
        org.apache.hadoop.mapred.TestJobTrackerXmlJsp
        org.apache.hadoop.mapred.TestJvmManager
        org.apache.hadoop.mapred.TestJvmReuse
        org.apache.hadoop.mapred.TestKeyValueTextInputFormat
        org.apache.hadoop.mapred.TestKillSubProcessesWithLinuxTaskController
        org.apache.hadoop.mapred.TestKillSubProcesses
        org.apache.hadoop.mapred.TestLazyOutput
        org.apache.hadoop.mapred.TestLimitTasksPerJobTaskScheduler
        org.apache.hadoop.mapred.TestLinuxTaskController
        org.apache.hadoop.mapred.TestLocalizationWithLinuxTaskController
        org.apache.hadoop.mapred.TestMapProgress
        org.apache.hadoop.mapred.TestMapredHeartbeat
        org.apache.hadoop.mapred.TestMapredSystemDir
        org.apache.hadoop.mapred.TestMiniMRClasspath
        org.apache.hadoop.mapred.TestMiniMRLocalFS
        org.apache.hadoop.mapred.TestMiniMRWithDFS
        org.apache.hadoop.mapred.TestMRServerPorts
        org.apache.hadoop.mapred.TestMRWithDistributedCache
        org.apache.hadoop.mapred.TestMultiFileInputFormat
        org.apache.hadoop.mapred.TestMultiFileSplit
        org.apache.hadoop.mapred.TestMultipleLevelCaching
        org.apache.hadoop.mapred.TestMultipleTextOutputFormat
        org.apache.hadoop.mapred.TestNodeHealthService
        org.apache.hadoop.mapred.TestNodeRefresh
        org.apache.hadoop.mapred.TestParallelInitialization
        org.apache.hadoop.mapred.TestQueueManagerWithJobTracker
        org.apache.hadoop.mapred.TestQueueManager
        org.apache.hadoop.mapred.TestRecoveryManager
        org.apache.hadoop.mapred.TestSetupAndCleanupFailure
        org.apache.hadoop.mapred.TestSpecialCharactersInOutputPath
        org.apache.hadoop.mapred.TestSubmitJob
        org.apache.hadoop.mapred.TestTaskFail
        org.apache.hadoop.mapred.TestTaskOutputSize
        org.apache.hadoop.mapred.TestTaskTrackerMemoryManager
        org.apache.hadoop.mapred.TestTaskTrackerSlotManagement
        org.apache.hadoop.mapred.TestTrackerReservation
        org.apache.hadoop.mapred.TestTTResourceReporting
        org.apache.hadoop.mapred.TestWebUIAuthorization
        org.apache.hadoop.mapreduce.lib.input.TestCombineFileInputFormat
        org.apache.hadoop.mapreduce.lib.input.TestDelegatingInputFormat
        org.apache.hadoop.mapreduce.lib.join.TestJoinDatamerge
        org.apache.hadoop.mapreduce.lib.join.TestJoinProperties
        org.apache.hadoop.mapreduce.lib.output.TestJobOutputCommitter
        org.apache.hadoop.mapreduce.security.TestBinaryTokenFile
        org.apache.hadoop.mapreduce.security.TestTokenCacheOldApi
        org.apache.hadoop.mapreduce.security.TestTokenCache
        org.apache.hadoop.mapreduce.security.TestUmbilicalProtocolWithJobToken
        org.apache.hadoop.mapreduce.security.token.TestDelegationTokenRenewal
        org.apache.hadoop.mapreduce.TestChild
        org.apache.hadoop.mapreduce.TestJobACLs
        org.apache.hadoop.mapreduce.TestMapReduceLazyOutput
        org.apache.hadoop.mapreduce.TestMapReduceLocal
        org.apache.hadoop.mapreduce.TestMRJobClient
        org.apache.hadoop.mapreduce.TestNoJobSetupCleanup
        org.apache.hadoop.mapreduce.TestTaskContext
        org.apache.hadoop.security.authorize.TestServiceLevelAuthorization
        org.apache.hadoop.security.TestMapredGroupMappingServiceRefresh
        org.apache.hadoop.tools.rumen.TestRumenJobTraces
        org.apache.hadoop.tools.TestCopyFiles
        org.apache.hadoop.tools.TestDistCh
        org.apache.hadoop.tools.TestHadoopArchives
        org.apache.hadoop.tools.TestHarFileSystem

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

        +1 system test framework. The patch passed system test framework compile.

        Test results: https://hudson.apache.org/hudson/job/PreCommit-MAPREDUCE-Build/6//testReport/
        Findbugs warnings: https://hudson.apache.org/hudson/job/PreCommit-MAPREDUCE-Build/6//artifact/trunk/build/test/findbugs/newPatchFindbugsWarnings.html
        Console output: https://hudson.apache.org/hudson/job/PreCommit-MAPREDUCE-Build/6//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/12459720/mapreduce.loadaverage.r3.diff against trunk revision 1036745. +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 patch appears to cause tar ant target to fail. -1 findbugs. The patch appears to introduce 1 new Findbugs (version 1.3.9) warnings. +1 release audit. The applied patch does not increase the total number of release audit warnings. -1 core tests. The patch failed these core unit tests: org.apache.hadoop.cli.TestMRCLI org.apache.hadoop.conf.TestJobConf org.apache.hadoop.conf.TestNoDefaultsJobConf org.apache.hadoop.examples.pi.math.TestSummation org.apache.hadoop.examples.terasort.TestTeraSort org.apache.hadoop.examples.TestBaileyBorweinPlouffe org.apache.hadoop.fs.slive.TestSlive org.apache.hadoop.fs.TestDFSIO org.apache.hadoop.fs.TestFileSystem org.apache.hadoop.fs.TestHarFileSystem org.apache.hadoop.fs.TestJHLA org.apache.hadoop.io.TestSequenceFileMergeProgress org.apache.hadoop.ipc.TestSocketFactory org.apache.hadoop.mapred.join.TestDatamerge org.apache.hadoop.mapred.lib.TestDelegatingInputFormat org.apache.hadoop.mapred.pipes.TestPipesAsDifferentUser org.apache.hadoop.mapred.pipes.TestPipes org.apache.hadoop.mapred.TestAdminOperationsProtocolWithServiceAuthorization org.apache.hadoop.mapred.TestAuditLogger org.apache.hadoop.mapred.TestBadRecords org.apache.hadoop.mapred.TestClusterMapReduceTestCase org.apache.hadoop.mapred.TestClusterMRNotification org.apache.hadoop.mapred.TestClusterStatus org.apache.hadoop.mapred.TestCompositeTaskTrackerInstrumentation org.apache.hadoop.mapred.TestCompressedEmptyMapOutputs org.apache.hadoop.mapred.TestControlledMapReduceJob org.apache.hadoop.mapred.TestDebugScriptWithLinuxTaskController org.apache.hadoop.mapred.TestDebugScript org.apache.hadoop.mapred.TestEmptyJob org.apache.hadoop.mapred.TestFieldSelection org.apache.hadoop.mapred.TestIFile org.apache.hadoop.mapred.TestInputPath org.apache.hadoop.mapred.TestIsolationRunner org.apache.hadoop.mapred.TestJobCleanup org.apache.hadoop.mapred.TestJobClient org.apache.hadoop.mapred.TestJobCounters org.apache.hadoop.mapred.TestJobDirCleanup org.apache.hadoop.mapred.TestJobExecutionAsDifferentUser org.apache.hadoop.mapred.TestJobHistory org.apache.hadoop.mapred.TestJobInProgressListener org.apache.hadoop.mapred.TestJobKillAndFail org.apache.hadoop.mapred.TestJobName org.apache.hadoop.mapred.TestJobQueueClient org.apache.hadoop.mapred.TestJobQueueInformation org.apache.hadoop.mapred.TestJobRetire org.apache.hadoop.mapred.TestJobStatusPersistency org.apache.hadoop.mapred.TestJobSysDirWithDFS org.apache.hadoop.mapred.TestJobTrackerInstrumentation org.apache.hadoop.mapred.TestJobTrackerStart org.apache.hadoop.mapred.TestJobTrackerXmlJsp org.apache.hadoop.mapred.TestJvmManager org.apache.hadoop.mapred.TestJvmReuse org.apache.hadoop.mapred.TestKeyValueTextInputFormat org.apache.hadoop.mapred.TestKillSubProcessesWithLinuxTaskController org.apache.hadoop.mapred.TestKillSubProcesses org.apache.hadoop.mapred.TestLazyOutput org.apache.hadoop.mapred.TestLimitTasksPerJobTaskScheduler org.apache.hadoop.mapred.TestLinuxTaskController org.apache.hadoop.mapred.TestLocalizationWithLinuxTaskController org.apache.hadoop.mapred.TestMapProgress org.apache.hadoop.mapred.TestMapredHeartbeat org.apache.hadoop.mapred.TestMapredSystemDir org.apache.hadoop.mapred.TestMiniMRClasspath org.apache.hadoop.mapred.TestMiniMRLocalFS org.apache.hadoop.mapred.TestMiniMRWithDFS org.apache.hadoop.mapred.TestMRServerPorts org.apache.hadoop.mapred.TestMRWithDistributedCache org.apache.hadoop.mapred.TestMultiFileInputFormat org.apache.hadoop.mapred.TestMultiFileSplit org.apache.hadoop.mapred.TestMultipleLevelCaching org.apache.hadoop.mapred.TestMultipleTextOutputFormat org.apache.hadoop.mapred.TestNodeHealthService org.apache.hadoop.mapred.TestNodeRefresh org.apache.hadoop.mapred.TestParallelInitialization org.apache.hadoop.mapred.TestQueueManagerWithJobTracker org.apache.hadoop.mapred.TestQueueManager org.apache.hadoop.mapred.TestRecoveryManager org.apache.hadoop.mapred.TestSetupAndCleanupFailure org.apache.hadoop.mapred.TestSpecialCharactersInOutputPath org.apache.hadoop.mapred.TestSubmitJob org.apache.hadoop.mapred.TestTaskFail org.apache.hadoop.mapred.TestTaskOutputSize org.apache.hadoop.mapred.TestTaskTrackerMemoryManager org.apache.hadoop.mapred.TestTaskTrackerSlotManagement org.apache.hadoop.mapred.TestTrackerReservation org.apache.hadoop.mapred.TestTTResourceReporting org.apache.hadoop.mapred.TestWebUIAuthorization org.apache.hadoop.mapreduce.lib.input.TestCombineFileInputFormat org.apache.hadoop.mapreduce.lib.input.TestDelegatingInputFormat org.apache.hadoop.mapreduce.lib.join.TestJoinDatamerge org.apache.hadoop.mapreduce.lib.join.TestJoinProperties org.apache.hadoop.mapreduce.lib.output.TestJobOutputCommitter org.apache.hadoop.mapreduce.security.TestBinaryTokenFile org.apache.hadoop.mapreduce.security.TestTokenCacheOldApi org.apache.hadoop.mapreduce.security.TestTokenCache org.apache.hadoop.mapreduce.security.TestUmbilicalProtocolWithJobToken org.apache.hadoop.mapreduce.security.token.TestDelegationTokenRenewal org.apache.hadoop.mapreduce.TestChild org.apache.hadoop.mapreduce.TestJobACLs org.apache.hadoop.mapreduce.TestMapReduceLazyOutput org.apache.hadoop.mapreduce.TestMapReduceLocal org.apache.hadoop.mapreduce.TestMRJobClient org.apache.hadoop.mapreduce.TestNoJobSetupCleanup org.apache.hadoop.mapreduce.TestTaskContext org.apache.hadoop.security.authorize.TestServiceLevelAuthorization org.apache.hadoop.security.TestMapredGroupMappingServiceRefresh org.apache.hadoop.tools.rumen.TestRumenJobTraces org.apache.hadoop.tools.TestCopyFiles org.apache.hadoop.tools.TestDistCh org.apache.hadoop.tools.TestHadoopArchives org.apache.hadoop.tools.TestHarFileSystem -1 contrib tests. The patch failed contrib unit tests. +1 system test framework. The patch passed system test framework compile. Test results: https://hudson.apache.org/hudson/job/PreCommit-MAPREDUCE-Build/6//testReport/ Findbugs warnings: https://hudson.apache.org/hudson/job/PreCommit-MAPREDUCE-Build/6//artifact/trunk/build/test/findbugs/newPatchFindbugsWarnings.html Console output: https://hudson.apache.org/hudson/job/PreCommit-MAPREDUCE-Build/6//console This message is automatically generated.
        Hide
        Nigel Daley added a comment -

        Sorry for the long precommit comment by Hadoop QA. I'm trying to get this running on MR again. Lots of tests failing. Looks like trunk wasn't properly updated after 0.22 branching. I still see references to 0.22 in the ivy/libraries.properties file on trunk.

        Show
        Nigel Daley added a comment - Sorry for the long precommit comment by Hadoop QA. I'm trying to get this running on MR again. Lots of tests failing. Looks like trunk wasn't properly updated after 0.22 branching. I still see references to 0.22 in the ivy/libraries.properties file on trunk.
        Hide
        Harsh J added a comment -

        Updating patch to fix a findbugs BX warning on ResourceCalculatorPlugin:46

        Show
        Harsh J added a comment - Updating patch to fix a findbugs BX warning on ResourceCalculatorPlugin:46
        Harsh J made changes -
        Attachment mapreduce.loadaverage.r4.diff [ 12460091 ]
        Hide
        Hadoop QA added a comment -

        -1 overall. Here are the results of testing the latest attachment
        http://issues.apache.org/jira/secure/attachment/12460091/mapreduce.loadaverage.r4.diff
        against trunk revision 1038357.

        +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 (version 1.3.9) warnings.

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

        -1 core tests. The patch failed these core unit tests:
        org.apache.hadoop.mapred.TestControlledMapReduceJob
        org.apache.hadoop.mapred.TestTTResourceReporting
        org.apache.hadoop.mapreduce.security.TestUmbilicalProtocolWithJobToken
        org.apache.hadoop.tools.rumen.TestRumenJobTraces
        org.apache.hadoop.tools.TestHarFileSystem

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

        +1 system test framework. The patch passed system test framework compile.

        Test results: https://hudson.apache.org/hudson/job/PreCommit-MAPREDUCE-Build/7//testReport/
        Findbugs warnings: https://hudson.apache.org/hudson/job/PreCommit-MAPREDUCE-Build/7//artifact/trunk/build/test/findbugs/newPatchFindbugsWarnings.html
        Console output: https://hudson.apache.org/hudson/job/PreCommit-MAPREDUCE-Build/7//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/12460091/mapreduce.loadaverage.r4.diff against trunk revision 1038357. +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 (version 1.3.9) warnings. +1 release audit. The applied patch does not increase the total number of release audit warnings. -1 core tests. The patch failed these core unit tests: org.apache.hadoop.mapred.TestControlledMapReduceJob org.apache.hadoop.mapred.TestTTResourceReporting org.apache.hadoop.mapreduce.security.TestUmbilicalProtocolWithJobToken org.apache.hadoop.tools.rumen.TestRumenJobTraces org.apache.hadoop.tools.TestHarFileSystem -1 contrib tests. The patch failed contrib unit tests. +1 system test framework. The patch passed system test framework compile. Test results: https://hudson.apache.org/hudson/job/PreCommit-MAPREDUCE-Build/7//testReport/ Findbugs warnings: https://hudson.apache.org/hudson/job/PreCommit-MAPREDUCE-Build/7//artifact/trunk/build/test/findbugs/newPatchFindbugsWarnings.html Console output: https://hudson.apache.org/hudson/job/PreCommit-MAPREDUCE-Build/7//console This message is automatically generated.
        Hide
        Harsh J added a comment -

        Attaching a new patch that should fix the test case fail.

        Show
        Harsh J added a comment - Attaching a new patch that should fix the test case fail.
        Harsh J made changes -
        Attachment mapreduce.loadaverage.r5.diff [ 12466938 ]
        Hide
        Harsh J added a comment -

        Fixing the cause that led to a failing core test. [New patch upped -- r5]

        Show
        Harsh J added a comment - Fixing the cause that led to a failing core test. [New patch upped -- r5]
        Harsh J made changes -
        Status Patch Available [ 10002 ] In Progress [ 3 ]
        Hide
        Harsh J added a comment -

        This should pass the tests. Had not added the TaskTracker.java diff previously, oops.

        Show
        Harsh J added a comment - This should pass the tests. Had not added the TaskTracker.java diff previously, oops.
        Harsh J made changes -
        Status In Progress [ 3 ] Patch Available [ 10002 ]
        Hide
        Harsh J added a comment -

        Running 'ant test-patch' passes here.

             [exec] +1 overall.  
             [exec] 
             [exec]     +1 @author.  The patch does not contain any @author tags.
             [exec] 
             [exec]     +1 tests included.  The patch appears to include 6 new or modified tests.
             [exec] 
             [exec]     +1 javadoc.  The javadoc tool did not generate any warning messages.
             [exec] 
             [exec]     +1 javac.  The applied patch does not increase the total number of javac compiler warnings.
             [exec] 
             [exec]     +1 findbugs.  The patch does not introduce any new Findbugs (version 1.3.9) warnings.
             [exec] 
             [exec]     +1 release audit.  The applied patch does not increase the total number of release audit warnings.
             [exec] 
             [exec]     +1 system test framework.  The patch passed system test framework compile.
             [exec] 
             [exec] 
             [exec] 
             [exec] 
             [exec] ======================================================================
             [exec] ======================================================================
             [exec]     Finished build.
             [exec] ======================================================================
             [exec] ======================================================================
             [exec] 
             [exec] 
        
        BUILD SUCCESSFUL
        Total time: 31 minutes 51 seconds
        
        Show
        Harsh J added a comment - Running 'ant test-patch' passes here. [exec] +1 overall. [exec] [exec] +1 @author. The patch does not contain any @author tags. [exec] [exec] +1 tests included. The patch appears to include 6 new or modified tests. [exec] [exec] +1 javadoc. The javadoc tool did not generate any warning messages. [exec] [exec] +1 javac. The applied patch does not increase the total number of javac compiler warnings. [exec] [exec] +1 findbugs. The patch does not introduce any new Findbugs (version 1.3.9) warnings. [exec] [exec] +1 release audit. The applied patch does not increase the total number of release audit warnings. [exec] [exec] +1 system test framework. The patch passed system test framework compile. [exec] [exec] [exec] [exec] [exec] ====================================================================== [exec] ====================================================================== [exec] Finished build. [exec] ====================================================================== [exec] ====================================================================== [exec] [exec] BUILD SUCCESSFUL Total time: 31 minutes 51 seconds
        Hide
        Harsh J added a comment -

        Setting to BLOCKER as per Nigel's mail.

        Show
        Harsh J added a comment - Setting to BLOCKER as per Nigel's mail.
        Harsh J made changes -
        Priority Minor [ 4 ] Blocker [ 1 ]
        Hide
        Hadoop QA added a comment -

        -1 overall. Here are the results of testing the latest attachment
        http://issues.apache.org/jira/secure/attachment/12466938/mapreduce.loadaverage.r5.diff
        against trunk revision 1074251.

        +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 (version 1.3.9) warnings.

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

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

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

        +1 system test framework. The patch passed system test framework compile.

        Test results: https://hudson.apache.org/hudson/job/PreCommit-MAPREDUCE-Build/54//testReport/
        Findbugs warnings: https://hudson.apache.org/hudson/job/PreCommit-MAPREDUCE-Build/54//artifact/trunk/build/test/findbugs/newPatchFindbugsWarnings.html
        Console output: https://hudson.apache.org/hudson/job/PreCommit-MAPREDUCE-Build/54//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/12466938/mapreduce.loadaverage.r5.diff against trunk revision 1074251. +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 (version 1.3.9) warnings. +1 release audit. The applied patch does not increase the total number of release audit warnings. +1 core tests. The patch passed core unit tests. -1 contrib tests. The patch failed contrib unit tests. +1 system test framework. The patch passed system test framework compile. Test results: https://hudson.apache.org/hudson/job/PreCommit-MAPREDUCE-Build/54//testReport/ Findbugs warnings: https://hudson.apache.org/hudson/job/PreCommit-MAPREDUCE-Build/54//artifact/trunk/build/test/findbugs/newPatchFindbugsWarnings.html Console output: https://hudson.apache.org/hudson/job/PreCommit-MAPREDUCE-Build/54//console This message is automatically generated.
        Hide
        Nigel Daley added a comment -

        This isn't a blocker for 0.22. Removing from 0.22.

        Show
        Nigel Daley added a comment - This isn't a blocker for 0.22. Removing from 0.22.
        Nigel Daley made changes -
        Fix Version/s 0.22.0 [ 12314184 ]
        Priority Blocker [ 1 ] Critical [ 2 ]
        Harsh J made changes -
        Issue Type Improvement [ 4 ] New Feature [ 2 ]
        Fix Version/s 0.23.0 [ 12315570 ]
        Hide
        Harsh J added a comment -

        Rebased patch for trunk (no changes).

        Is there still demand for this addition?

        Show
        Harsh J added a comment - Rebased patch for trunk (no changes). Is there still demand for this addition?
        Harsh J made changes -
        Attachment mapreduce.loadaverage.r6.diff [ 12482150 ]
        Hide
        Hadoop QA added a comment -

        -1 overall. Here are the results of testing the latest attachment
        http://issues.apache.org/jira/secure/attachment/12482150/mapreduce.loadaverage.r6.diff
        against trunk revision 1134180.

        +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 (version 1.3.9) warnings.

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

        -1 core tests. The patch failed these core unit tests:
        org.apache.hadoop.cli.TestMRCLI
        org.apache.hadoop.conf.TestNoDefaultsJobConf
        org.apache.hadoop.examples.terasort.TestTeraSort
        org.apache.hadoop.fs.TestDFSIO
        org.apache.hadoop.fs.TestFileSystem
        org.apache.hadoop.ipc.TestSocketFactory
        org.apache.hadoop.mapred.join.TestDatamerge
        org.apache.hadoop.mapred.lib.TestDelegatingInputFormat
        org.apache.hadoop.mapred.pipes.TestPipes
        org.apache.hadoop.mapred.TestBadRecords
        org.apache.hadoop.mapred.TestClusterMapReduceTestCase
        org.apache.hadoop.mapred.TestCommandLineJobSubmission
        org.apache.hadoop.mapred.TestCompressedEmptyMapOutputs
        org.apache.hadoop.mapred.TestControlledMapReduceJob
        org.apache.hadoop.mapred.TestFileInputFormat
        org.apache.hadoop.mapred.TestJobClient
        org.apache.hadoop.mapred.TestJobDirCleanup
        org.apache.hadoop.mapred.TestJobHistory
        org.apache.hadoop.mapred.TestJobName
        org.apache.hadoop.mapred.TestJobQueueInformation
        org.apache.hadoop.mapred.TestJobStatusPersistency
        org.apache.hadoop.mapred.TestJobSysDirWithDFS
        org.apache.hadoop.mapred.TestJobTrackerXmlJsp
        org.apache.hadoop.mapred.TestLazyOutput
        org.apache.hadoop.mapred.TestMapredHeartbeat
        org.apache.hadoop.mapred.TestMapredSystemDir
        org.apache.hadoop.mapred.TestMiniMRChildTask
        org.apache.hadoop.mapred.TestMiniMRClasspath
        org.apache.hadoop.mapred.TestMiniMRDFSCaching
        org.apache.hadoop.mapred.TestMiniMRDFSSort
        org.apache.hadoop.mapred.TestMiniMRWithDFSWithDistinctUsers
        org.apache.hadoop.mapred.TestMiniMRWithDFS
        org.apache.hadoop.mapred.TestMultipleLevelCaching
        org.apache.hadoop.mapred.TestNodeRefresh
        org.apache.hadoop.mapred.TestRecoveryManager
        org.apache.hadoop.mapred.TestReduceFetchFromPartialMem
        org.apache.hadoop.mapred.TestReduceFetch
        org.apache.hadoop.mapred.TestSetupAndCleanupFailure
        org.apache.hadoop.mapred.TestSeveral
        org.apache.hadoop.mapred.TestSpecialCharactersInOutputPath
        org.apache.hadoop.mapred.TestSubmitJob
        org.apache.hadoop.mapred.TestTaskFail
        org.apache.hadoop.mapred.TestWebUIAuthorization
        org.apache.hadoop.mapreduce.lib.input.TestCombineFileInputFormat
        org.apache.hadoop.mapreduce.lib.input.TestDelegatingInputFormat
        org.apache.hadoop.mapreduce.lib.join.TestJoinDatamerge
        org.apache.hadoop.mapreduce.lib.join.TestJoinProperties
        org.apache.hadoop.mapreduce.security.TestBinaryTokenFile
        org.apache.hadoop.mapreduce.security.TestTokenCacheOldApi
        org.apache.hadoop.mapreduce.security.TestTokenCache
        org.apache.hadoop.mapreduce.TestMapReduceLazyOutput
        org.apache.hadoop.mapreduce.TestMRJobClient
        org.apache.hadoop.security.authorize.TestServiceLevelAuthorization
        org.apache.hadoop.security.TestMapredGroupMappingServiceRefresh
        org.apache.hadoop.tools.TestCopyFiles
        org.apache.hadoop.tools.TestDistCh
        org.apache.hadoop.tools.TestHadoopArchives
        org.apache.hadoop.tools.TestHarFileSystem

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

        +1 system test framework. The patch passed system test framework compile.

        Test results: https://builds.apache.org/job/PreCommit-MAPREDUCE-Build/375//testReport/
        Findbugs warnings: https://builds.apache.org/job/PreCommit-MAPREDUCE-Build/375//artifact/trunk/build/test/findbugs/newPatchFindbugsWarnings.html
        Console output: https://builds.apache.org/job/PreCommit-MAPREDUCE-Build/375//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/12482150/mapreduce.loadaverage.r6.diff against trunk revision 1134180. +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 (version 1.3.9) warnings. +1 release audit. The applied patch does not increase the total number of release audit warnings. -1 core tests. The patch failed these core unit tests: org.apache.hadoop.cli.TestMRCLI org.apache.hadoop.conf.TestNoDefaultsJobConf org.apache.hadoop.examples.terasort.TestTeraSort org.apache.hadoop.fs.TestDFSIO org.apache.hadoop.fs.TestFileSystem org.apache.hadoop.ipc.TestSocketFactory org.apache.hadoop.mapred.join.TestDatamerge org.apache.hadoop.mapred.lib.TestDelegatingInputFormat org.apache.hadoop.mapred.pipes.TestPipes org.apache.hadoop.mapred.TestBadRecords org.apache.hadoop.mapred.TestClusterMapReduceTestCase org.apache.hadoop.mapred.TestCommandLineJobSubmission org.apache.hadoop.mapred.TestCompressedEmptyMapOutputs org.apache.hadoop.mapred.TestControlledMapReduceJob org.apache.hadoop.mapred.TestFileInputFormat org.apache.hadoop.mapred.TestJobClient org.apache.hadoop.mapred.TestJobDirCleanup org.apache.hadoop.mapred.TestJobHistory org.apache.hadoop.mapred.TestJobName org.apache.hadoop.mapred.TestJobQueueInformation org.apache.hadoop.mapred.TestJobStatusPersistency org.apache.hadoop.mapred.TestJobSysDirWithDFS org.apache.hadoop.mapred.TestJobTrackerXmlJsp org.apache.hadoop.mapred.TestLazyOutput org.apache.hadoop.mapred.TestMapredHeartbeat org.apache.hadoop.mapred.TestMapredSystemDir org.apache.hadoop.mapred.TestMiniMRChildTask org.apache.hadoop.mapred.TestMiniMRClasspath org.apache.hadoop.mapred.TestMiniMRDFSCaching org.apache.hadoop.mapred.TestMiniMRDFSSort org.apache.hadoop.mapred.TestMiniMRWithDFSWithDistinctUsers org.apache.hadoop.mapred.TestMiniMRWithDFS org.apache.hadoop.mapred.TestMultipleLevelCaching org.apache.hadoop.mapred.TestNodeRefresh org.apache.hadoop.mapred.TestRecoveryManager org.apache.hadoop.mapred.TestReduceFetchFromPartialMem org.apache.hadoop.mapred.TestReduceFetch org.apache.hadoop.mapred.TestSetupAndCleanupFailure org.apache.hadoop.mapred.TestSeveral org.apache.hadoop.mapred.TestSpecialCharactersInOutputPath org.apache.hadoop.mapred.TestSubmitJob org.apache.hadoop.mapred.TestTaskFail org.apache.hadoop.mapred.TestWebUIAuthorization org.apache.hadoop.mapreduce.lib.input.TestCombineFileInputFormat org.apache.hadoop.mapreduce.lib.input.TestDelegatingInputFormat org.apache.hadoop.mapreduce.lib.join.TestJoinDatamerge org.apache.hadoop.mapreduce.lib.join.TestJoinProperties org.apache.hadoop.mapreduce.security.TestBinaryTokenFile org.apache.hadoop.mapreduce.security.TestTokenCacheOldApi org.apache.hadoop.mapreduce.security.TestTokenCache org.apache.hadoop.mapreduce.TestMapReduceLazyOutput org.apache.hadoop.mapreduce.TestMRJobClient org.apache.hadoop.security.authorize.TestServiceLevelAuthorization org.apache.hadoop.security.TestMapredGroupMappingServiceRefresh org.apache.hadoop.tools.TestCopyFiles org.apache.hadoop.tools.TestDistCh org.apache.hadoop.tools.TestHadoopArchives org.apache.hadoop.tools.TestHarFileSystem -1 contrib tests. The patch failed contrib unit tests. +1 system test framework. The patch passed system test framework compile. Test results: https://builds.apache.org/job/PreCommit-MAPREDUCE-Build/375//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-MAPREDUCE-Build/375//artifact/trunk/build/test/findbugs/newPatchFindbugsWarnings.html Console output: https://builds.apache.org/job/PreCommit-MAPREDUCE-Build/375//console This message is automatically generated.
        Hide
        Harsh J added a comment -

        Well this is strange… Went through about 15 of the failed list, but they do not appear related to my TT status patch at all.

        Show
        Harsh J added a comment - Well this is strange… Went through about 15 of the failed list, but they do not appear related to my TT status patch at all.
        Hide
        Harsh J added a comment -

        (Changed env/tags to make it look non-linux-specific since it would work across all platforms).

        Show
        Harsh J added a comment - (Changed env/tags to make it look non-linux-specific since it would work across all platforms).
        Harsh J made changes -
        Tags load average, tasktracker, linux load average, tasktracker
        Environment GNU/Linux
        Hide
        Harsh J added a comment -

        If there's still interest for this, I can update it up for the hadoop-yarn framework (ContainersMonitor).

        Show
        Harsh J added a comment - If there's still interest for this, I can update it up for the hadoop-yarn framework (ContainersMonitor).
        Hide
        Arun C Murthy added a comment -

        Yes please, love to have it for NodeManager. Thanks!

        Show
        Arun C Murthy added a comment - Yes please, love to have it for NodeManager. Thanks!
        Arun C Murthy made changes -
        Status Patch Available [ 10002 ] Open [ 1 ]
        Arun C Murthy made changes -
        Fix Version/s 0.24.0 [ 12317654 ]
        Fix Version/s 0.23.0 [ 12315570 ]
        Hide
        Harsh J added a comment -

        I took a look at NodeManager parts, and it appears that the plugin is only used for resource view use? How does the resource plugin come into play when it comes to the resource-based scheduler?

        Show
        Harsh J added a comment - I took a look at NodeManager parts, and it appears that the plugin is only used for resource view use? How does the resource plugin come into play when it comes to the resource-based scheduler?
        Hide
        Ambud Sharma added a comment -

        Hi,
        I am wondering if keeping that(systemaverageload) as a separate RPC call used/made when need would make more sense?
        -Ambud

        Show
        Ambud Sharma added a comment - Hi, I am wondering if keeping that(systemaverageload) as a separate RPC call used/made when need would make more sense? -Ambud
        Hide
        Harsh J added a comment -

        Ambud,

        What gain do you see in disconnecting it off of other stats (CPU/Memory/etc.) in the regular heartbeats?

        Show
        Harsh J added a comment - Ambud, What gain do you see in disconnecting it off of other stats (CPU/Memory/etc.) in the regular heartbeats?
        Arun C Murthy made changes -
        Priority Critical [ 2 ] Major [ 3 ]
        Harsh J made changes -
        Project Hadoop Map/Reduce [ 12310941 ] Hadoop YARN [ 12313722 ]
        Key MAPREDUCE-2170 YARN-349
        Release Note Add support for transmitting previous-minute load averages in TaskTrackerStatus
        Affects Version/s 2.0.0-alpha [ 12323271 ]
        Affects Version/s 0.22.0 [ 12314184 ]
        Fix Version/s 0.24.0 [ 12317654 ]
        Component/s nodemanager [ 12319323 ]
        Component/s jobtracker [ 12312907 ]
        Tags load average, tasktracker
        Harsh J made changes -
        Comment [ I will return to the office on January 17th. For urgent matters,
        please contact Aparna or Philip L. The week between Christmas and New
        Years', your best bet is Chris L.

        Thanks,

        -- Philip
        ]

          People

          • Assignee:
            Harsh J
            Reporter:
            Harsh J
          • Votes:
            0 Vote for this issue
            Watchers:
            12 Start watching this issue

            Dates

            • Created:
              Updated:

              Time Tracking

              Estimated:
              Original Estimate - 20m
              20m
              Remaining:
              Remaining Estimate - 20m
              20m
              Logged:
              Time Spent - Not Specified
              Not Specified

                Development