You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@reef.apache.org by we...@apache.org on 2017/02/16 17:18:55 UTC
reef git commit: [REEF-1740] Better logging when registering Driver
with YARN
Repository: reef
Updated Branches:
refs/heads/master 076b98c9a -> 2332f40be
[REEF-1740] Better logging when registering Driver with YARN
* Log the AM host, port, and tracking URL
* Pass the tracking URL when unregistering the AM
* Obtain tracking URL only once in the constructor
* Minor refactoring in the `YarnContainerManager` code for readability
JIRA:
[REEF-1740](https://issues.apache.org/jira/browse/REEF-1740)
Pull Request:
This closes #1255
Project: http://git-wip-us.apache.org/repos/asf/reef/repo
Commit: http://git-wip-us.apache.org/repos/asf/reef/commit/2332f40b
Tree: http://git-wip-us.apache.org/repos/asf/reef/tree/2332f40b
Diff: http://git-wip-us.apache.org/repos/asf/reef/diff/2332f40b
Branch: refs/heads/master
Commit: 2332f40be9f3a848eeef169f8d94ee4323f960bd
Parents: 076b98c
Author: Sergiy Matusevych <mo...@apache.org>
Authored: Wed Feb 15 18:19:17 2017 -0800
Committer: Markus Weimer <we...@apache.org>
Committed: Thu Feb 16 09:17:29 2017 -0800
----------------------------------------------------------------------
.../yarn/driver/YarnContainerManager.java | 20 +++++++++++++-------
1 file changed, 13 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/reef/blob/2332f40b/lang/java/reef-runtime-yarn/src/main/java/org/apache/reef/runtime/yarn/driver/YarnContainerManager.java
----------------------------------------------------------------------
diff --git a/lang/java/reef-runtime-yarn/src/main/java/org/apache/reef/runtime/yarn/driver/YarnContainerManager.java b/lang/java/reef-runtime-yarn/src/main/java/org/apache/reef/runtime/yarn/driver/YarnContainerManager.java
index e9e189b..f323018 100644
--- a/lang/java/reef-runtime-yarn/src/main/java/org/apache/reef/runtime/yarn/driver/YarnContainerManager.java
+++ b/lang/java/reef-runtime-yarn/src/main/java/org/apache/reef/runtime/yarn/driver/YarnContainerManager.java
@@ -80,7 +80,8 @@ final class YarnContainerManager
private final ApplicationMasterRegistration registration;
private final ContainerRequestCounter containerRequestCounter;
private final DriverStatusManager driverStatusManager;
- private final TrackingURLProvider trackingURLProvider;
+ private final String trackingUrl;
+
private final String jobSubmissionDirectory;
private final REEFFileNames reefFileNames;
private final RackNameFormatter rackNameFormatter;
@@ -108,8 +109,8 @@ final class YarnContainerManager
this.registration = registration;
this.containerRequestCounter = containerRequestCounter;
this.yarnConf = yarnConf;
- this.trackingURLProvider = trackingURLProvider;
this.rackNameFormatter = rackNameFormatter;
+ this.trackingUrl = trackingURLProvider.getTrackingUrl();
this.resourceManager = AMRMClientAsync.createAMRMClientAsync(yarnRMHeartbeatPeriod, this);
this.nodeManager = new NMClientAsyncImpl(this);
@@ -317,8 +318,11 @@ final class YarnContainerManager
try {
+ LOG.log(Level.FINE, "YARN registration: register AM at \"{0}:{1}\" tracking URL \"{2}\"",
+ new Object[] {AM_REGISTRATION_HOST, AM_REGISTRATION_PORT, this.trackingUrl});
+
this.registration.setRegistration(this.resourceManager.registerApplicationMaster(
- AM_REGISTRATION_HOST, AM_REGISTRATION_PORT, this.trackingURLProvider.getTrackingUrl()));
+ AM_REGISTRATION_HOST, AM_REGISTRATION_PORT, this.trackingUrl));
LOG.log(Level.FINE, "YARN registration: AM registered: {0}", this.registration);
@@ -326,8 +330,9 @@ final class YarnContainerManager
final Path outputFileName = new Path(this.jobSubmissionDirectory, this.reefFileNames.getDriverHttpEndpoint());
try (final FSDataOutputStream out = fs.create(outputFileName)) {
- out.writeBytes(this.trackingURLProvider.getTrackingUrl() + '\n');
+ out.writeBytes(this.trackingUrl + '\n');
}
+
} catch (final YarnException | IOException e) {
LOG.log(Level.WARNING, "Unable to register application master.", e);
onRuntimeError(e);
@@ -354,7 +359,7 @@ final class YarnContainerManager
if (exception == null) {
this.resourceManager.unregisterApplicationMaster(
- FinalApplicationStatus.SUCCEEDED, "Success!", this.trackingURLProvider.getTrackingUrl());
+ FinalApplicationStatus.SUCCEEDED, "Success!", this.trackingUrl);
} else {
// Note: We don't allow RM to restart our applications if it's an application level failure.
@@ -366,7 +371,7 @@ final class YarnContainerManager
"With stack trace:%n%s", exception.getMessage(), ExceptionUtils.getStackTrace(exception));
this.resourceManager.unregisterApplicationMaster(
- FinalApplicationStatus.FAILED, failureMsg, this.trackingURLProvider.getTrackingUrl());
+ FinalApplicationStatus.FAILED, failureMsg, this.trackingUrl);
}
this.resourceManager.close();
@@ -595,7 +600,8 @@ final class YarnContainerManager
// SHUTDOWN YARN
try {
this.reefEventHandlers.close();
- this.resourceManager.unregisterApplicationMaster(FinalApplicationStatus.FAILED, throwable.getMessage(), null);
+ this.resourceManager.unregisterApplicationMaster(
+ FinalApplicationStatus.FAILED, throwable.getMessage(), this.trackingUrl);
} catch (final Exception e) {
LOG.log(Level.WARNING, "Error shutting down YARN application", e);
} finally {