You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@slider.apache.org by st...@apache.org on 2014/11/11 11:53:17 UTC
[02/10] incubator-slider git commit: SLIDER-635 Duration should be
closed upon return from LaunchedApplication#monitorAppToState()
SLIDER-635 Duration should be closed upon return from LaunchedApplication#monitorAppToState()
Project: http://git-wip-us.apache.org/repos/asf/incubator-slider/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-slider/commit/693fddd1
Tree: http://git-wip-us.apache.org/repos/asf/incubator-slider/tree/693fddd1
Diff: http://git-wip-us.apache.org/repos/asf/incubator-slider/diff/693fddd1
Branch: refs/heads/feature/SLIDER-622-windows
Commit: 693fddd1a35d0828a6faa959150673a7b95f8282
Parents: 62cdd69
Author: tedyu <yu...@gmail.com>
Authored: Mon Nov 10 15:31:58 2014 -0800
Committer: tedyu <yu...@gmail.com>
Committed: Mon Nov 10 15:31:58 2014 -0800
----------------------------------------------------------------------
.../slider/client/SliderYarnClientImpl.java | 51 +++++++++++---------
.../launch/SerializedApplicationReport.java | 4 +-
.../server/services/security/SecurityUtils.java | 12 ++++-
3 files changed, 40 insertions(+), 27 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/693fddd1/slider-core/src/main/java/org/apache/slider/client/SliderYarnClientImpl.java
----------------------------------------------------------------------
diff --git a/slider-core/src/main/java/org/apache/slider/client/SliderYarnClientImpl.java b/slider-core/src/main/java/org/apache/slider/client/SliderYarnClientImpl.java
index a2a7fe7..856b34c 100644
--- a/slider-core/src/main/java/org/apache/slider/client/SliderYarnClientImpl.java
+++ b/slider-core/src/main/java/org/apache/slider/client/SliderYarnClientImpl.java
@@ -195,35 +195,38 @@ public class SliderYarnClientImpl extends YarnClientImpl {
duration.limit,
desiredState);
duration.start();
- while (true) {
+ try {
+ while (true) {
+ // Get application report for the appId we are interested in
- // Get application report for the appId we are interested in
+ ApplicationReport r = getApplicationReport(appId);
- ApplicationReport r = getApplicationReport(appId);
-
- log.debug("queried status is\n{}",
- new SliderUtils.OnDemandReportStringifier(r));
-
- YarnApplicationState state = r.getYarnApplicationState();
- if (state.ordinal() >= desiredState.ordinal()) {
- log.debug("App in desired state (or higher) :{}", state);
- return r;
- }
- if (duration.getLimitExceeded()) {
- log.debug(
- "Wait limit of {} millis to get to state {}, exceeded; app status\n {}",
- duration.limit,
- desiredState,
+ log.debug("queried status is\n{}",
new SliderUtils.OnDemandReportStringifier(r));
- return null;
- }
- // sleep 1s.
- try {
- Thread.sleep(1000);
- } catch (InterruptedException ignored) {
- log.debug("Thread sleep in monitoring loop interrupted");
+ YarnApplicationState state = r.getYarnApplicationState();
+ if (state.ordinal() >= desiredState.ordinal()) {
+ log.debug("App in desired state (or higher) :{}", state);
+ return r;
+ }
+ if (duration.getLimitExceeded()) {
+ log.debug(
+ "Wait limit of {} millis to get to state {}, exceeded; app status\n {}",
+ duration.limit,
+ desiredState,
+ new SliderUtils.OnDemandReportStringifier(r));
+ return null;
+ }
+
+ // sleep 1s.
+ try {
+ Thread.sleep(1000);
+ } catch (InterruptedException ignored) {
+ log.debug("Thread sleep in monitoring loop interrupted");
+ }
}
+ } finally {
+ duration.close();
}
}
http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/693fddd1/slider-core/src/main/java/org/apache/slider/core/launch/SerializedApplicationReport.java
----------------------------------------------------------------------
diff --git a/slider-core/src/main/java/org/apache/slider/core/launch/SerializedApplicationReport.java b/slider-core/src/main/java/org/apache/slider/core/launch/SerializedApplicationReport.java
index dfa037d..116aeb3 100644
--- a/slider-core/src/main/java/org/apache/slider/core/launch/SerializedApplicationReport.java
+++ b/slider-core/src/main/java/org/apache/slider/core/launch/SerializedApplicationReport.java
@@ -19,6 +19,7 @@
package org.apache.slider.core.launch;
import org.apache.hadoop.yarn.api.records.ApplicationReport;
+import org.apache.hadoop.yarn.api.records.FinalApplicationStatus;
import org.apache.slider.core.persist.ApplicationReportSerDeser;
import org.codehaus.jackson.annotate.JsonIgnoreProperties;
import org.codehaus.jackson.map.annotate.JsonSerialize;
@@ -77,7 +78,8 @@ public class SerializedApplicationReport {
this.diagnostics = report.getDiagnostics();
this.startTime = report.getStartTime();
this.finishTime = report.getFinishTime();
- this.finalStatus = report.getFinalApplicationStatus().toString();
+ FinalApplicationStatus appStatus = report.getFinalApplicationStatus();
+ this.finalStatus = appStatus == null ? "" : appStatus.toString();
this.progress = report.getProgress();
}
http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/693fddd1/slider-core/src/main/java/org/apache/slider/server/services/security/SecurityUtils.java
----------------------------------------------------------------------
diff --git a/slider-core/src/main/java/org/apache/slider/server/services/security/SecurityUtils.java b/slider-core/src/main/java/org/apache/slider/server/services/security/SecurityUtils.java
index 527d4e6..ecbb637 100644
--- a/slider-core/src/main/java/org/apache/slider/server/services/security/SecurityUtils.java
+++ b/slider-core/src/main/java/org/apache/slider/server/services/security/SecurityUtils.java
@@ -153,8 +153,9 @@ public class SecurityUtils {
File dbDir = new File(secDirFile, "db");
File newCertsDir = new File(dbDir, "newcerts");
newCertsDir.mkdirs();
+ RawLocalFileSystem fileSystem = null;
try {
- RawLocalFileSystem fileSystem = new RawLocalFileSystem();
+ fileSystem = new RawLocalFileSystem();
FsPermission permissions = new FsPermission(FsAction.ALL, FsAction.NONE,
FsAction.NONE);
fileSystem.setPermission(new Path(dbDir.getAbsolutePath()),
@@ -164,11 +165,18 @@ public class SecurityUtils {
permissions);
File indexFile = new File(dbDir, "index.txt");
indexFile.createNewFile();
-
SecurityUtils.writeCaConfigFile(secDirFile.getAbsolutePath().replace('\\', '/'));
} catch (IOException e) {
LOG.error("Unable to create SSL configuration directories/files", e);
+ } finally {
+ if (fileSystem != null) {
+ try {
+ fileSystem.close();
+ } catch (IOException e) {
+ LOG.warn("Unable to close fileSystem", e);
+ }
+ }
}
// need to create the password
}