diff --git a/bookkeeper-common/pom.xml b/bookkeeper-common/pom.xml index 0a3ef64b938..aa733d20ff9 100644 --- a/bookkeeper-common/pom.xml +++ b/bookkeeper-common/pom.xml @@ -25,10 +25,6 @@ bookkeeper-common Apache BookKeeper :: Common - - org.apache.logging.log4j - log4j-api - org.apache.bookkeeper.stats bookkeeper-stats-api diff --git a/bookkeeper-common/src/main/java/org/apache/bookkeeper/common/component/ComponentStarter.java b/bookkeeper-common/src/main/java/org/apache/bookkeeper/common/component/ComponentStarter.java index b99a805933e..d1cb08163c5 100644 --- a/bookkeeper-common/src/main/java/org/apache/bookkeeper/common/component/ComponentStarter.java +++ b/bookkeeper-common/src/main/java/org/apache/bookkeeper/common/component/ComponentStarter.java @@ -21,7 +21,6 @@ import java.util.concurrent.CompletableFuture; import lombok.extern.slf4j.Slf4j; import org.apache.bookkeeper.common.concurrent.FutureUtils; -import org.apache.logging.log4j.LogManager; /** * Utils to start components. @@ -51,8 +50,6 @@ public void run() { log.error("Failed to close component {} in shutdown hook gracefully, Exiting anyway", component.getName(), e); future.completeExceptionally(e); - } finally { - LogManager.shutdown(); } } @@ -77,8 +74,9 @@ public static CompletableFuture startComponent(LifecycleComponent componen component.setExceptionHandler((t, e) -> { log.error("Triggered exceptionHandler of Component: {} because of Exception in Thread: {}", component.getName(), t, e); + System.err.println(e.getMessage()); // start the shutdown hook when an uncaught exception happen in the lifecycle component. - FutureUtils.complete(future, null); + shutdownHookThread.start(); }); component.publishInfo(new ComponentInfoPublisher()); diff --git a/bookkeeper-server/src/main/java/org/apache/bookkeeper/replication/AutoRecoveryMain.java b/bookkeeper-server/src/main/java/org/apache/bookkeeper/replication/AutoRecoveryMain.java index cdc0f830f99..926aef43241 100644 --- a/bookkeeper-server/src/main/java/org/apache/bookkeeper/replication/AutoRecoveryMain.java +++ b/bookkeeper-server/src/main/java/org/apache/bookkeeper/replication/AutoRecoveryMain.java @@ -56,7 +56,6 @@ import org.apache.commons.cli.Options; import org.apache.commons.cli.ParseException; import org.apache.commons.configuration.ConfigurationException; -import org.apache.logging.log4j.LogManager; import org.apache.zookeeper.KeeperException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -340,7 +339,7 @@ static int doMain(String[] args) { server = buildAutoRecoveryServer(new BookieConfiguration(conf)); } catch (Exception e) { LOG.error("Failed to build AutoRecovery Server", e); - LogManager.shutdown(); + System.err.println(e.getMessage()); return ExitCode.SERVER_EXCEPTION; } @@ -351,8 +350,10 @@ static int doMain(String[] args) { Thread.currentThread().interrupt(); // the server is interrupted LOG.info("AutoRecovery server is interrupted. Exiting ..."); + System.err.println(ie.getMessage()); } catch (ExecutionException ee) { LOG.error("Error in bookie shutdown", ee.getCause()); + System.err.println(ee.getMessage()); return ExitCode.SERVER_EXCEPTION; } return ExitCode.OK;