You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@oozie.apache.org by as...@apache.org on 2018/01/24 08:57:41 UTC
oozie git commit: OOZIE-2775 Oozie server does not stop if there is
an exception during service initalization at startup (asasvari)
Repository: oozie
Updated Branches:
refs/heads/master 823ddbe64 -> 53b2f26bc
OOZIE-2775 Oozie server does not stop if there is an exception during service initalization at startup (asasvari)
Project: http://git-wip-us.apache.org/repos/asf/oozie/repo
Commit: http://git-wip-us.apache.org/repos/asf/oozie/commit/53b2f26b
Tree: http://git-wip-us.apache.org/repos/asf/oozie/tree/53b2f26b
Diff: http://git-wip-us.apache.org/repos/asf/oozie/diff/53b2f26b
Branch: refs/heads/master
Commit: 53b2f26bcae9b0ccabf224c4d08680bb0bc968b7
Parents: 823ddbe
Author: Attila Sasvari <as...@cloudera.com>
Authored: Wed Jan 24 09:57:30 2018 +0100
Committer: Attila Sasvari <as...@cloudera.com>
Committed: Wed Jan 24 09:57:30 2018 +0100
----------------------------------------------------------------------
.../java/org/apache/oozie/service/Services.java | 2 +-
release-log.txt | 1 +
.../oozie/server/EmbeddedOozieServer.java | 37 ++++++++++++++++----
.../oozie/server/guice/ServicesProvider.java | 9 +++--
4 files changed, 38 insertions(+), 11 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/oozie/blob/53b2f26b/core/src/main/java/org/apache/oozie/service/Services.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/oozie/service/Services.java b/core/src/main/java/org/apache/oozie/service/Services.java
index 1ca3bf5..7391605 100644
--- a/core/src/main/java/org/apache/oozie/service/Services.java
+++ b/core/src/main/java/org/apache/oozie/service/Services.java
@@ -304,7 +304,7 @@ public class Services {
setService(entry.getValue().getClass());
}
} catch (RuntimeException rex) {
- log.fatal("Runtime Exception during Services Load. Check your list of '{0}' or '{1}'",
+ log.fatal("Runtime Exception during Services Load. Check your list of [{0}] or [{1}]",
CONF_SERVICE_CLASSES, CONF_SERVICE_EXT_CLASSES, rex);
throw new ServiceException(ErrorCode.E0103, rex.getMessage(), rex);
}
http://git-wip-us.apache.org/repos/asf/oozie/blob/53b2f26b/release-log.txt
----------------------------------------------------------------------
diff --git a/release-log.txt b/release-log.txt
index 8f68ae9..38e4da2 100644
--- a/release-log.txt
+++ b/release-log.txt
@@ -1,5 +1,6 @@
-- Oozie 5.0.0 release (trunk - unreleased)
+OOZIE-2775 Oozie server does not stop if there is an exception during service initalization at startup (asasvari)
OOZIE-3145 >git status< should be clean after >mvn test< was called (kmarton via gezapeti)
OOZIE-3162 amend Precommit build fails to add comment to JIRA (asasvari)
OOZIE-3159 Spark Action fails because of absence of hadoop mapreduce jar(s) (asasvari)
http://git-wip-us.apache.org/repos/asf/oozie/blob/53b2f26b/server/src/main/java/org/apache/oozie/server/EmbeddedOozieServer.java
----------------------------------------------------------------------
diff --git a/server/src/main/java/org/apache/oozie/server/EmbeddedOozieServer.java b/server/src/main/java/org/apache/oozie/server/EmbeddedOozieServer.java
index b6b59b6..a0c27b8 100644
--- a/server/src/main/java/org/apache/oozie/server/EmbeddedOozieServer.java
+++ b/server/src/main/java/org/apache/oozie/server/EmbeddedOozieServer.java
@@ -22,6 +22,7 @@ import com.google.common.base.Preconditions;
import com.google.inject.Guice;
import com.google.inject.Inject;
import com.google.inject.Injector;
+import com.google.inject.ProvisionException;
import org.apache.hadoop.conf.Configuration;
import org.apache.oozie.server.guice.OozieGuiceModule;
import org.apache.oozie.service.ConfigurationService;
@@ -199,6 +200,19 @@ public class EmbeddedOozieServer {
LOG.info("Server started.");
}
+ public void shutdown() throws Exception {
+ LOG.info("Shutting down.");
+ if (serviceController != null) {
+ serviceController.destroy();
+ LOG.info("Oozie services stopped.");
+ }
+
+ if (server != null) {
+ server.stop();
+ LOG.info("Server stopped.");
+ }
+ }
+
public void join() throws InterruptedException {
server.join();
}
@@ -206,9 +220,11 @@ public class EmbeddedOozieServer {
public void addShutdownHook() {
Runtime.getRuntime().addShutdownHook(new Thread() {
public void run() {
- LOG.info("Shutting down.");
- serviceController.destroy();
- LOG.info("Oozie services stopped.");
+ try {
+ shutdown();
+ } catch (final Exception e) {
+ LOG.error(String.format("There were errors during shutdown. Error message: %s", e.getMessage()));
+ }
}
});
}
@@ -216,14 +232,21 @@ public class EmbeddedOozieServer {
public static void main(String[] args) throws Exception {
final Injector guiceInjector = Guice.createInjector(new OozieGuiceModule());
- final EmbeddedOozieServer embeddedOozieServer = guiceInjector.getInstance(EmbeddedOozieServer.class);
+ EmbeddedOozieServer embeddedOozieServer = null;
+ try {
+ embeddedOozieServer = guiceInjector.getInstance(EmbeddedOozieServer.class);
+ }
+ catch (final ProvisionException ex) {
+ LOG.error(ex.getMessage());
+ System.exit(1);
+ }
- embeddedOozieServer.setup();
embeddedOozieServer.addShutdownHook();
+ embeddedOozieServer.setup();
try {
embeddedOozieServer.start();
- } catch (Exception e) {
- LOG.error("Could not start EmbeddedOozieServer!", e);
+ } catch (final Exception e) {
+ LOG.error(String.format("Could not start EmbeddedOozieServer! Error message: %s", e.getMessage()));
System.exit(1);
}
embeddedOozieServer.join();
http://git-wip-us.apache.org/repos/asf/oozie/blob/53b2f26b/server/src/main/java/org/apache/oozie/server/guice/ServicesProvider.java
----------------------------------------------------------------------
diff --git a/server/src/main/java/org/apache/oozie/server/guice/ServicesProvider.java b/server/src/main/java/org/apache/oozie/server/guice/ServicesProvider.java
index cc4ed17..5e1f533 100644
--- a/server/src/main/java/org/apache/oozie/server/guice/ServicesProvider.java
+++ b/server/src/main/java/org/apache/oozie/server/guice/ServicesProvider.java
@@ -25,14 +25,17 @@ import org.apache.oozie.service.Services;
class ServicesProvider implements Provider<Services> {
@Override
public Services get() {
+ Services oozieServices = null;
try {
- final Services oozieServices = new Services();
-
+ oozieServices = new Services();
oozieServices.init();
return oozieServices;
} catch (ServiceException e) {
- throw new ExceptionInInitializerError(
+ if (oozieServices != null) {
+ oozieServices.destroy();
+ }
+ throw new IllegalStateException(
String.format("Could not instantiate Oozie services. [e.message=%s]", e.getMessage()));
}
}