[
https://issues.apache.org/jira/browse/TEZ-3940?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16487431#comment-16487431
]
Jason Lowe commented on TEZ-3940:
---------------------------------
Thanks for the report and patch!
Nit: The ternary operator can be simplified with String.valueOf() instead.
There's some whitespace missing when the counters are converted. The original
counter toString method would insert newlines and indentation between lines but
that is missing in this new version.
> Reduce time to convert TaskFinishedEvent to string
> --------------------------------------------------
>
> Key: TEZ-3940
> URL: https://issues.apache.org/jira/browse/TEZ-3940
> Project: Apache Tez
> Issue Type: Bug
> Reporter: Jonathan Eagles
> Priority: Major
> Attachments: TEZ-3940.001.patch
>
>
> Found a small CPU improvement while investigating a high CPU AM.
> {noformat}
> "Dispatcher thread {Central}" #38 prio=5 os_prio=0 tid=0x00002ba188535800
> nid=0x1b3e3 runnable [0x00002ba1a3e02000]
> java.lang.Thread.State: RUNNABLE
> at java.util.Arrays.copyOf(Arrays.java:3332)
> at
> java.lang.AbstractStringBuilder.ensureCapacityInternal(AbstractStringBuilder.java:124)
> at
> java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:448)
> at java.lang.StringBuilder.append(StringBuilder.java:136)
> at
> org.apache.tez.common.counters.AbstractCounters.toString(AbstractCounters.java:344)
> - locked <0x00000007a2ed6b80> (a
> org.apache.tez.common.counters.TezCounters)
> at
> org.apache.tez.dag.history.events.TaskFinishedEvent.toString(TaskFinishedEvent.java:135)
> at
> org.apache.tez.dag.history.HistoryEventHandler.handleCriticalEvent(HistoryEventHandler.java:155)
> at
> org.apache.tez.dag.history.HistoryEventHandler.handle(HistoryEventHandler.java:259)
> at
> org.apache.tez.dag.app.dag.impl.TaskImpl.logJobHistoryTaskFinishedEvent(TaskImpl.java:923)
> at
> org.apache.tez.dag.app.dag.impl.TaskImpl$AttemptSucceededTransition.transition(TaskImpl.java:1116)
> at
> org.apache.tez.dag.app.dag.impl.TaskImpl$AttemptSucceededTransition.transition(TaskImpl.java:1036)
> at
> org.apache.hadoop.yarn.state.StateMachineFactory$MultipleInternalArc.doTransition(StateMachineFactory.java:385)
> at
> org.apache.hadoop.yarn.state.StateMachineFactory.doTransition(StateMachineFactory.java:302)
> at
> org.apache.hadoop.yarn.state.StateMachineFactory.access$300(StateMachineFactory.java:46)
> at
> org.apache.hadoop.yarn.state.StateMachineFactory$InternalStateMachine.doTransition(StateMachineFactory.java:448)
> - locked <0x0000000717ed2120> (a
> org.apache.hadoop.yarn.state.StateMachineFactory$InternalStateMachine)
> at
> org.apache.tez.state.StateMachineTez.doTransition(StateMachineTez.java:59)
> at org.apache.tez.dag.app.dag.impl.TaskImpl.handle(TaskImpl.java:826)
> at org.apache.tez.dag.app.dag.impl.TaskImpl.handle(TaskImpl.java:112)
> at
> org.apache.tez.dag.app.DAGAppMaster$TaskEventDispatcher.handle(DAGAppMaster.java:2312)
> at
> org.apache.tez.dag.app.DAGAppMaster$TaskEventDispatcher.handle(DAGAppMaster.java:2299)
> at
> org.apache.tez.common.AsyncDispatcher.dispatch(AsyncDispatcher.java:180)
> at
> org.apache.tez.common.AsyncDispatcher$1.run(AsyncDispatcher.java:115)
> at java.lang.Thread.run(Thread.java:745)
> {noformat}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)