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 class NMTimelinePublisher extends CompositeService {
|
||||||
LOG.error("Seems like client has been removed before the container"
|
LOG.error("Seems like client has been removed before the container"
|
||||||
+ " metric could be published for " + container.getContainerId());
|
+ " metric could be published for " + container.getContainerId());
|
||||||
}
|
}
|
||||||
} catch (IOException | YarnException e) {
|
} catch (IOException e) {
|
||||||
LOG.error("Failed to publish Container metrics for container "
|
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 @@ public class NMTimelinePublisher extends CompositeService {
|
||||||
LOG.error("Seems like client has been removed before the event could be"
|
LOG.error("Seems like client has been removed before the event could be"
|
||||||
+ " published for " + container.getContainerId());
|
+ " published for " + container.getContainerId());
|
||||||
}
|
}
|
||||||
} catch (IOException | YarnException e) {
|
} catch (IOException e) {
|
||||||
LOG.error("Failed to publish Container metrics for container "
|
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 @@ public class NMTimelinePublisher extends CompositeService {
|
||||||
LOG.error("Seems like client has been removed before the entity "
|
LOG.error("Seems like client has been removed before the entity "
|
||||||
+ "could be published for " + entity);
|
+ "could be published for " + entity);
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (IOException e) {
|
||||||
LOG.error("Error when publishing entity " + entity, 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;
|
package org.apache.hadoop.yarn.server.resourcemanager.metrics;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
@ -457,8 +458,11 @@ public class TimelineServiceV2Publisher extends AbstractSystemMetricsPublisher {
|
||||||
entities.addEntity(entity);
|
entities.addEntity(entity);
|
||||||
timelineCollector.putEntities(entities,
|
timelineCollector.putEntities(entities,
|
||||||
UserGroupInformation.getCurrentUser());
|
UserGroupInformation.getCurrentUser());
|
||||||
} catch (Exception e) {
|
} catch (IOException e) {
|
||||||
LOG.error("Error when publishing entity " + entity, e);
|
LOG.error("Error when publishing entity " + entity);
|
||||||
|
if (LOG.isDebugEnabled()) {
|
||||||
|
LOG.debug("Error when publishing entity " + entity, e);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -61,6 +61,9 @@ import com.google.inject.Singleton;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
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
|
* The main per-node REST end point for timeline service writes. It is
|
||||||
* essentially a container service that routes requests to the appropriate
|
* essentially a container service that routes requests to the appropriate
|
||||||
|
@ -166,7 +169,7 @@ public class TimelineCollectorWebService {
|
||||||
TimelineCollector collector = collectorManager.get(appID);
|
TimelineCollector collector = collectorManager.get(appID);
|
||||||
if (collector == null) {
|
if (collector == null) {
|
||||||
LOG.error("Application: "+ appId + " is not found");
|
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");
|
boolean isAsync = async != null && async.trim().equalsIgnoreCase("true");
|
||||||
|
@ -179,7 +182,10 @@ public class TimelineCollectorWebService {
|
||||||
}
|
}
|
||||||
|
|
||||||
return Response.ok().build();
|
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);
|
LOG.error("Error putting entities", e);
|
||||||
throw new WebApplicationException(e,
|
throw new WebApplicationException(e,
|
||||||
Response.Status.INTERNAL_SERVER_ERROR);
|
Response.Status.INTERNAL_SERVER_ERROR);
|
||||||
|
@ -221,14 +227,17 @@ public class TimelineCollectorWebService {
|
||||||
TimelineCollector collector = collectorManager.get(appID);
|
TimelineCollector collector = collectorManager.get(appID);
|
||||||
if (collector == null) {
|
if (collector == null) {
|
||||||
LOG.error("Application: " + appId + " is not found");
|
LOG.error("Application: " + appId + " is not found");
|
||||||
throw new NotFoundException(); // different exception?
|
throw new NotFoundException("Application: " + appId + " is not found");
|
||||||
}
|
}
|
||||||
|
|
||||||
domain.setOwner(callerUgi.getShortUserName());
|
domain.setOwner(callerUgi.getShortUserName());
|
||||||
collector.putDomain(domain, callerUgi);
|
collector.putDomain(domain, callerUgi);
|
||||||
|
|
||||||
return Response.ok().build();
|
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);
|
LOG.error("Error putting entities", e);
|
||||||
throw new WebApplicationException(e,
|
throw new WebApplicationException(e,
|
||||||
Response.Status.INTERNAL_SERVER_ERROR);
|
Response.Status.INTERNAL_SERVER_ERROR);
|
||||||
|
@ -242,7 +251,7 @@ public class TimelineCollectorWebService {
|
||||||
} else {
|
} else {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (IllegalFormatException e) {
|
||||||
LOG.error("Invalid application ID: " + appId);
|
LOG.error("Invalid application ID: " + appId);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue