[
https://issues.apache.org/jira/browse/MAPREDUCE-1533?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12853832#action_12853832
]
Hemanth Yamijala commented on MAPREDUCE-1533:
---------------------------------------------
bq. As of now its a push model where every change in the scheduler's state
results into an info string which gets pushed to all the jobs. Shouldn't it be
a pull model wherein the jobs pull the data from the scheduler whenever
required?
Yes, this seems a sensible direction to me. Given that the view requests come
very infrequently as compared to heartbeats, this is a more optimal design.
bq. But for now we can keep it simple and solve the problem at hand by using
StringBuilder. Thoughts?
I am fine with this proposal.
> reduce or remove usage of String.format() usage in
> CapacityTaskScheduler.updateQSIObjects
> -----------------------------------------------------------------------------------------
>
> Key: MAPREDUCE-1533
> URL: https://issues.apache.org/jira/browse/MAPREDUCE-1533
> Project: Hadoop Map/Reduce
> Issue Type: Bug
> Affects Versions: 0.20.1
> Reporter: Rajesh Balamohan
> Assignee: Amar Kamat
> Attachments: mapreduce-1533-v1.4.patch
>
>
> When short jobs are executed in hadoop with OutOfBandHeardBeat=true, JT
> executes heartBeat() method heavily. This internally makes a call to
> CapacityTaskScheduler.updateQSIObjects().
> CapacityTaskScheduler.updateQSIObjects(), internally calls String.format()
> for setting the job scheduling information. Based on the datastructure size
> of "jobQueuesManager" and "queueInfoMap", the number of times String.format()
> gets executed becomes very high. String.format() internally does pattern
> matching which turns to be out very heavy (This was revealed while profiling
> JT. Almost 57% of time was spent in CapacityScheduler.assignTasks(), out of
> which String.format() took 46%.
> Would it be possible to do String.format() only at the time of invoking
> JobInProgress.getSchedulingInfo?. This might reduce the pressure on JT while
> processing heartbeats.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.