[ 
https://issues.apache.org/jira/browse/MAPREDUCE-3789?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13198659#comment-13198659
 ] 

Harsh J commented on MAPREDUCE-3789:
------------------------------------

Test log for this scenario:

{code}
12/02/02 15:30:10 INFO mapred.CapacityTaskScheduler: Initializing 'default' 
queue with cap=100.0, maxCap=-1.0, ulMin=100, ulMinFactor=1.0, 
supportsPriorities=true, maxJobsToInit=3000, maxJobsToAccept=30000, 
maxActiveTasks=200000, maxJobsPerUserToInit=3000, maxJobsPerUserToAccept=30000, 
maxActiveTasksPerUser=100000
12/02/02 15:30:10 INFO mapred.CapacityTaskScheduler: Scheduler configured with 
(memSizeForMapSlotOnJT, memSizeForReduceSlotOnJT, limitMaxMemForMapTasks, 
limitMaxMemForReduceTasks) (2048,2048,8192,8192)
12/02/02 15:30:10 INFO mapred.CapacityTaskScheduler: Added new queue: default
12/02/02 15:30:10 INFO mapred.CapacityTaskScheduler: Capacity scheduler 
initialized 1 queues
12/02/02 15:30:10 INFO delegation.AbstractDelegationTokenSecretManager: 
Updating the current master key for generating delegation tokens
12/02/02 15:30:10 INFO mapred.JobTracker: Scheduler configured with 
(memSizeForMapSlotOnJT, memSizeForReduceSlotOnJT, limitMaxMemForMapTasks, 
limitMaxMemForReduceTasks) (-1, -1, -1, -1)
12/02/02 15:30:10 INFO util.HostsFileReader: Refreshing hosts (include/exclude) 
list
12/02/02 15:30:10 INFO delegation.AbstractDelegationTokenSecretManager: 
Starting expired delegation token remover thread, tokenRemoverScanInterval=60 
min(s)
12/02/02 15:30:10 INFO delegation.AbstractDelegationTokenSecretManager: 
Updating the current master key for generating delegation tokens
12/02/02 15:30:10 INFO mapred.JobTracker: Starting jobtracker with owner as 
harshchouraria
12/02/02 15:30:10 INFO ipc.Server: Starting SocketReader
12/02/02 15:30:10 INFO http.HttpServer: Added global filtersafety 
(class=org.apache.hadoop.http.HttpServer$QuotingInputFilter)
12/02/02 15:30:10 INFO http.HttpServer: Port returned by 
webServer.getConnectors()[0].getLocalPort() before open() is -1. Opening the 
listener on 0
12/02/02 15:30:10 INFO http.HttpServer: listener.getLocalPort() returned 55111 
webServer.getConnectors()[0].getLocalPort() returned 55111
12/02/02 15:30:10 INFO http.HttpServer: Jetty bound to port 55111
2012-02-02 15:30:10.216:INFO::jetty-6.1.26
2012-02-02 15:30:10.361:INFO::Started [email protected]:55111
12/02/02 15:30:10 INFO mapred.JobTracker: JobTracker up at: 55110
12/02/02 15:30:10 INFO mapred.JobTracker: JobTracker webserver: 55111
12/02/02 15:30:10 INFO mapred.JobTracker: Cleaning up the system directory
12/02/02 15:30:10 INFO mapred.JobTracker: History server being initialized in 
embedded mode
12/02/02 15:30:10 INFO mapred.JobHistoryServer: Started job history server at: 
localhost:55111
12/02/02 15:30:10 INFO mapred.JobTracker: Job History Server web address: 
localhost:55111
12/02/02 15:30:10 INFO mapred.CompletedJobStatusStore: Completed job store is 
inactive
12/02/02 15:30:10 INFO mapred.JobInProgress: job_test_0001: nMaps=2 nReduces=0 
max=-1
12/02/02 15:30:10 INFO mapred.JobQueuesManager: Job job_test_0001 submitted to 
queue default
12/02/02 15:30:10 INFO mapred.CapacityTaskScheduler: job_test_0001: Reserving 
tt2 since memory-requirements don't match
*12/02/02 15:30:10 INFO jobtracker.TaskTracker: tt2: Reserved 3 MAP slots for 
job_test_0001*
12/02/02 15:30:10 INFO mapred.TestCapacityScheduler: 1 running map tasks using 
4 map slots. 4 additional slots reserved. 0 running reduce tasks using 0 reduce 
slots. 0 additional slots reserved.
{code}
                
> CapacityTaskScheduler may perform unnecessary reservations in heterogenous 
> tracker environments
> -----------------------------------------------------------------------------------------------
>
>                 Key: MAPREDUCE-3789
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-3789
>             Project: Hadoop Map/Reduce
>          Issue Type: Bug
>          Components: scheduler
>    Affects Versions: 1.1.0
>            Reporter: Harsh J
>            Assignee: Harsh J
>            Priority: Critical
>         Attachments: MAPREDUCE-3789.patch
>
>
> Briefly, to reproduce:
> * Run JT with CapacityTaskScheduler [Say, Cluster max map = 8G, Cluster map = 
> 2G]
> * Run two TTs but with varied capacity, say, one with 4 map slot, another 
> with 3 map slots.
> * Run a job with two tasks, each demanding mem worth 4 slots at least (Map 
> mem = 7G or so).
> * Job will begin running on TT #1, but will also end up reserving the 3 slots 
> on TT #2 cause it does not check for the maximum limit of slots when 
> reserving (as it goes greedy, and hopes to gain more slots in future).
> * Other jobs that could've run on the TT #2 over 3 slots are thereby blocked 
> out due to this illogical reservation.
> I've not yet tested MR2 for this so feel free to weigh in if it affects MR2 
> as well.
> For MR1, I've attached a test case initially to indicate this. A fix that 
> checks reservations vs. max slots, to follow.

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

        

Reply via email to