YARN-8155. Improve ATSv2 client logging in RM and NM publisher. Contributed by Abhishek Modi.
This commit is contained in:
parent
ddd09d59f3
commit
9119b3cf8f
@ -190,9 +190,20 @@ public void reportContainerResourceUsage(Container container, Long pmemUsage,
|
||||
LOG.error("Seems like client has been removed before the container"
|
||||
+ " metric could be published for " + container.getContainerId());
|
||||
}
|
||||
} catch (IOException | YarnException e) {
|
||||
} catch (IOException e) {
|
||||
LOG.error("Failed to publish Container metrics for container "
|
||||
+ container.getContainerId(), e);
|
||||
+ container.getContainerId());
|
||||
if (LOG.isDebugEnabled()) {
|
||||
LOG.debug("Failed to publish Container metrics for container "
|
||||
+ container.getContainerId(), e);
|
||||
}
|
||||
} catch (YarnException e) {
|
||||
LOG.error("Failed to publish Container metrics for container "
|
||||
+ container.getContainerId(), e.getMessage());
|
||||
if (LOG.isDebugEnabled()) {
|
||||
LOG.debug("Failed to publish Container metrics for container "
|
||||
+ container.getContainerId(), e);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -284,9 +295,20 @@ private void publishContainerLocalizationEvent(
|
||||
LOG.error("Seems like client has been removed before the event could be"
|
||||
+ " published for " + container.getContainerId());
|
||||
}
|
||||
} catch (IOException | YarnException e) {
|
||||
} catch (IOException e) {
|
||||
LOG.error("Failed to publish Container metrics for container "
|
||||
+ container.getContainerId(), e);
|
||||
+ container.getContainerId());
|
||||
if (LOG.isDebugEnabled()) {
|
||||
LOG.debug("Failed to publish Container metrics for container "
|
||||
+ container.getContainerId(), e);
|
||||
}
|
||||
} catch (YarnException e) {
|
||||
LOG.error("Failed to publish Container metrics for container "
|
||||
+ container.getContainerId(), e.getMessage());
|
||||
if (LOG.isDebugEnabled()) {
|
||||
LOG.debug("Failed to publish Container metrics for container "
|
||||
+ container.getContainerId(), e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -315,8 +337,16 @@ private void putEntity(TimelineEntity entity, ApplicationId appId) {
|
||||
LOG.error("Seems like client has been removed before the entity "
|
||||
+ "could be published for " + entity);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
LOG.error("Error when publishing entity " + entity, e);
|
||||
} catch (IOException e) {
|
||||
LOG.error("Error when publishing entity " + entity);
|
||||
if (LOG.isDebugEnabled()) {
|
||||
LOG.debug("Error when publishing entity " + entity, e);
|
||||
}
|
||||
} catch (YarnException e) {
|
||||
LOG.error("Error when publishing entity " + entity, e.getMessage());
|
||||
if (LOG.isDebugEnabled()) {
|
||||
LOG.debug("Error when publishing entity " + entity, e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -18,6 +18,7 @@
|
||||
|
||||
package org.apache.hadoop.yarn.server.resourcemanager.metrics;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.Map;
|
||||
@ -457,8 +458,11 @@ private void putEntity(TimelineEntity entity, ApplicationId appId) {
|
||||
entities.addEntity(entity);
|
||||
timelineCollector.putEntities(entities,
|
||||
UserGroupInformation.getCurrentUser());
|
||||
} catch (Exception e) {
|
||||
LOG.error("Error when publishing entity " + entity, e);
|
||||
} catch (IOException e) {
|
||||
LOG.error("Error when publishing entity " + entity);
|
||||
if (LOG.isDebugEnabled()) {
|
||||
LOG.debug("Error when publishing entity " + entity, e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -61,6 +61,9 @@
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.IllegalFormatException;
|
||||
|
||||
/**
|
||||
* The main per-node REST end point for timeline service writes. It is
|
||||
* essentially a container service that routes requests to the appropriate
|
||||
@ -166,7 +169,7 @@ public Response putEntities(
|
||||
TimelineCollector collector = collectorManager.get(appID);
|
||||
if (collector == null) {
|
||||
LOG.error("Application: "+ appId + " is not found");
|
||||
throw new NotFoundException(); // different exception?
|
||||
throw new NotFoundException("Application: "+ appId + " is not found");
|
||||
}
|
||||
|
||||
boolean isAsync = async != null && async.trim().equalsIgnoreCase("true");
|
||||
@ -179,7 +182,10 @@ public Response putEntities(
|
||||
}
|
||||
|
||||
return Response.ok().build();
|
||||
} catch (Exception e) {
|
||||
} catch (NotFoundException | ForbiddenException e) {
|
||||
throw new WebApplicationException(e,
|
||||
Response.Status.INTERNAL_SERVER_ERROR);
|
||||
} catch (IOException e) {
|
||||
LOG.error("Error putting entities", e);
|
||||
throw new WebApplicationException(e,
|
||||
Response.Status.INTERNAL_SERVER_ERROR);
|
||||
@ -221,14 +227,17 @@ public Response putDomain(
|
||||
TimelineCollector collector = collectorManager.get(appID);
|
||||
if (collector == null) {
|
||||
LOG.error("Application: " + appId + " is not found");
|
||||
throw new NotFoundException(); // different exception?
|
||||
throw new NotFoundException("Application: " + appId + " is not found");
|
||||
}
|
||||
|
||||
domain.setOwner(callerUgi.getShortUserName());
|
||||
collector.putDomain(domain, callerUgi);
|
||||
|
||||
return Response.ok().build();
|
||||
} catch (Exception e) {
|
||||
} catch (NotFoundException e) {
|
||||
throw new WebApplicationException(e,
|
||||
Response.Status.INTERNAL_SERVER_ERROR);
|
||||
} catch (IOException e) {
|
||||
LOG.error("Error putting entities", e);
|
||||
throw new WebApplicationException(e,
|
||||
Response.Status.INTERNAL_SERVER_ERROR);
|
||||
@ -242,7 +251,7 @@ private static ApplicationId parseApplicationId(String appId) {
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
} catch (Exception e) {
|
||||
} catch (IllegalFormatException e) {
|
||||
LOG.error("Invalid application ID: " + appId);
|
||||
return null;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user