Skip to content

Commit f3f6956

Browse files
authored
Fix async log appender not print error log when bookie starting expectionally (#4475)
* Shutdown log before bookie exit to flush async log
1 parent 54bdc0d commit f3f6956

File tree

4 files changed

+10
-0
lines changed

4 files changed

+10
-0
lines changed

bookkeeper-common/src/main/java/org/apache/bookkeeper/common/component/ComponentStarter.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@ public static CompletableFuture<Void> startComponent(LifecycleComponent componen
7474
component.setExceptionHandler((t, e) -> {
7575
log.error("Triggered exceptionHandler of Component: {} because of Exception in Thread: {}",
7676
component.getName(), t, e);
77+
System.err.println(e.getMessage());
7778
// start the shutdown hook when an uncaught exception happen in the lifecycle component.
7879
shutdownHookThread.start();
7980
});

bookkeeper-server/src/main/java/org/apache/bookkeeper/replication/AutoRecoveryMain.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -339,6 +339,7 @@ static int doMain(String[] args) {
339339
server = buildAutoRecoveryServer(new BookieConfiguration(conf));
340340
} catch (Exception e) {
341341
LOG.error("Failed to build AutoRecovery Server", e);
342+
System.err.println(e.getMessage());
342343
return ExitCode.SERVER_EXCEPTION;
343344
}
344345

@@ -349,8 +350,10 @@ static int doMain(String[] args) {
349350
Thread.currentThread().interrupt();
350351
// the server is interrupted
351352
LOG.info("AutoRecovery server is interrupted. Exiting ...");
353+
System.err.println(ie.getMessage());
352354
} catch (ExecutionException ee) {
353355
LOG.error("Error in bookie shutdown", ee.getCause());
356+
System.err.println(ee.getMessage());
354357
return ExitCode.SERVER_EXCEPTION;
355358
}
356359
return ExitCode.OK;

bookkeeper-server/src/main/java/org/apache/bookkeeper/server/Main.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -222,6 +222,7 @@ static int doMain(String[] args) {
222222
server = buildBookieServer(new BookieConfiguration(conf));
223223
} catch (Exception e) {
224224
log.error("Failed to build bookie server", e);
225+
System.err.println(e.getMessage());
225226
return ExitCode.SERVER_EXCEPTION;
226227
}
227228

@@ -232,8 +233,10 @@ static int doMain(String[] args) {
232233
Thread.currentThread().interrupt();
233234
// the server is interrupted
234235
log.info("Bookie server is interrupted. Exiting ...");
236+
System.err.println(ie.getMessage());
235237
} catch (ExecutionException ee) {
236238
log.error("Error in bookie shutdown", ee.getCause());
239+
System.err.println(ee.getMessage());
237240
return ExitCode.SERVER_EXCEPTION;
238241
}
239242
return ExitCode.OK;

stream/server/src/main/java/org/apache/bookkeeper/stream/server/StorageServer.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -170,6 +170,7 @@ static int doMain(String[] args) {
170170
grpcUseHostname);
171171
} catch (Exception e) {
172172
log.error("Invalid storage configuration", e);
173+
System.err.println(e.getMessage());
173174
return ExitCode.INVALID_CONF.code();
174175
}
175176

@@ -181,8 +182,10 @@ static int doMain(String[] args) {
181182
// the server is interrupted.
182183
Thread.currentThread().interrupt();
183184
log.info("Storage server is interrupted. Exiting ...");
185+
System.err.println(e.getMessage());
184186
} catch (ExecutionException e) {
185187
log.info("Storage server is exiting ...");
188+
System.err.println(e.getMessage());
186189
}
187190
return ExitCode.OK.code();
188191
}

0 commit comments

Comments
 (0)