diff --git llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/LlapTaskReporter.java llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/LlapTaskReporter.java index ef596ac..f3771ea 100644 --- llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/LlapTaskReporter.java +++ llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/LlapTaskReporter.java @@ -32,11 +32,8 @@ import java.util.concurrent.locks.Condition; import java.util.concurrent.locks.ReentrantLock; -import com.google.common.base.Preconditions; import org.apache.commons.lang.exception.ExceptionUtils; import org.apache.hadoop.hive.llap.protocol.LlapTaskUmbilicalProtocol; -import org.apache.hadoop.io.Text; -import org.apache.tez.common.TezTaskUmbilicalProtocol; import org.apache.tez.common.counters.TezCounters; import org.apache.tez.dag.api.TezException; import org.apache.tez.dag.records.TezTaskAttemptID; @@ -45,6 +42,7 @@ import org.apache.tez.runtime.api.events.TaskAttemptFailedEvent; import org.apache.tez.runtime.api.events.TaskStatusUpdateEvent; import org.apache.tez.runtime.api.impl.EventMetaData; +import org.apache.tez.runtime.api.impl.TaskStatistics; import org.apache.tez.runtime.api.impl.TezEvent; import org.apache.tez.runtime.api.impl.TezHeartbeatRequest; import org.apache.tez.runtime.api.impl.TezHeartbeatResponse; @@ -327,8 +325,18 @@ private boolean taskSucceeded(TezTaskAttemptID taskAttemptID) throws IOException } private TaskStatusUpdateEvent getStatusUpdateEvent(boolean sendCounters) { - return new TaskStatusUpdateEvent((sendCounters ? task.getCounters() : null), - task.getProgress(), task.getTaskStatistics()); + TezCounters counters = null; + TaskStatistics stats = null; + float progress = 0; + if (task.hasInitialized()) { + progress = task.getProgress(); + if (sendCounters) { + // send these potentially large objects at longer intervals to avoid overloading the AM + counters = task.getCounters(); + stats = task.getTaskStatistics(); + } + } + return new TaskStatusUpdateEvent(counters, progress, stats); } /**