You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@bookkeeper.apache.org by yo...@apache.org on 2023/08/29 06:54:12 UTC

[bookkeeper] 03/03: fix AutoCloseableLifecycleComponent close exception log (#4042)

This is an automated email from the ASF dual-hosted git repository.

yong pushed a commit to branch branch-4.16
in repository https://gitbox.apache.org/repos/asf/bookkeeper.git

commit e63f647a8b017110ff9d45864a85d839c505559a
Author: houxiaoyu <ho...@apache.org>
AuthorDate: Tue Aug 29 14:53:29 2023 +0800

    fix AutoCloseableLifecycleComponent close exception log (#4042)
    
    Descriptions of the changes in this PR:
    ### Motivation
    
    If closed with exception, the log will always be `failed to close AutoCloseableLifecycleComponent`.  It will be better to print the `componentName` instead of the class name.
    
    ### Changes
    
    Print the `componentName` instead of `AutoCloseableLifecycleComponent` class name if closed with exception
    
    (cherry picked from commit 269374fe5318a435c0591cc462af63ead61f3f8c)
---
 .../common/component/AbstractLifecycleComponent.java         |  2 +-
 .../common/component/AutoCloseableLifecycleComponent.java    |  2 +-
 .../java/org/apache/bookkeeper/server/EmbeddedServer.java    | 12 ++++++------
 3 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/bookkeeper-common/src/main/java/org/apache/bookkeeper/common/component/AbstractLifecycleComponent.java b/bookkeeper-common/src/main/java/org/apache/bookkeeper/common/component/AbstractLifecycleComponent.java
index 5b6f19ee35..534c952f33 100644
--- a/bookkeeper-common/src/main/java/org/apache/bookkeeper/common/component/AbstractLifecycleComponent.java
+++ b/bookkeeper-common/src/main/java/org/apache/bookkeeper/common/component/AbstractLifecycleComponent.java
@@ -122,7 +122,7 @@ public abstract class AbstractLifecycleComponent<ConfT extends ComponentConfigur
         try {
             doClose();
         } catch (IOException e) {
-            log.warn("failed to close {}", getClass().getName(), e);
+            log.warn("failed to close {}", componentName, e);
         }
         listeners.forEach(LifecycleListener::afterClose);
     }
diff --git a/bookkeeper-common/src/main/java/org/apache/bookkeeper/common/component/AutoCloseableLifecycleComponent.java b/bookkeeper-common/src/main/java/org/apache/bookkeeper/common/component/AutoCloseableLifecycleComponent.java
index f741cbac3c..ded3707a05 100644
--- a/bookkeeper-common/src/main/java/org/apache/bookkeeper/common/component/AutoCloseableLifecycleComponent.java
+++ b/bookkeeper-common/src/main/java/org/apache/bookkeeper/common/component/AutoCloseableLifecycleComponent.java
@@ -100,7 +100,7 @@ public class AutoCloseableLifecycleComponent implements LifecycleComponent {
         try {
             closeable.close();
         } catch (Exception e) {
-            LOG.warn("failed to close {}", getClass().getName(), e);
+            LOG.warn("failed to close {}", componentName, e);
         }
         listeners.forEach(LifecycleListener::afterClose);
     }
diff --git a/bookkeeper-server/src/main/java/org/apache/bookkeeper/server/EmbeddedServer.java b/bookkeeper-server/src/main/java/org/apache/bookkeeper/server/EmbeddedServer.java
index bfa80246f5..92e6462b2b 100644
--- a/bookkeeper-server/src/main/java/org/apache/bookkeeper/server/EmbeddedServer.java
+++ b/bookkeeper-server/src/main/java/org/apache/bookkeeper/server/EmbeddedServer.java
@@ -295,7 +295,7 @@ public class EmbeddedServer {
                 StatsProviderService statsProviderService = new StatsProviderService(conf);
                 statsProvider = statsProviderService.getStatsProvider();
                 serverBuilder.addComponent(statsProviderService);
-                log.info("Load lifecycle component : {}", StatsProviderService.class.getName());
+                log.info("Load lifecycle component : {}", statsProviderService.getName());
             }
 
             StatsLogger rootStatsLogger = statsProvider.getStatsLogger("");
@@ -431,7 +431,7 @@ public class EmbeddedServer {
                     new BookieService(conf, bookie, rootStatsLogger, allocatorWithOomHandler, uncleanShutdownDetection);
 
             serverBuilder.addComponent(bookieService);
-            log.info("Load lifecycle component : {}", BookieService.class.getName());
+            log.info("Load lifecycle component : {}", bookieService.getName());
 
             if (conf.getServerConf().isLocalScrubEnabled()) {
                 serverBuilder.addComponent(
@@ -446,7 +446,7 @@ public class EmbeddedServer {
                 autoRecoveryService = new AutoRecoveryService(conf, rootStatsLogger.scope(REPLICATION_SCOPE));
 
                 serverBuilder.addComponent(autoRecoveryService);
-                log.info("Load lifecycle component : {}", AutoRecoveryService.class.getName());
+                log.info("Load lifecycle component : {}", autoRecoveryService.getName());
             }
 
             // 7. build data integrity check service
@@ -456,7 +456,7 @@ public class EmbeddedServer {
                 dataIntegrityService =
                         new DataIntegrityService(conf, rootStatsLogger.scope(REPLICATION_SCOPE), integCheck);
                 serverBuilder.addComponent(dataIntegrityService);
-                log.info("Load lifecycle component : {}", DataIntegrityService.class.getName());
+                log.info("Load lifecycle component : {}", dataIntegrityService.getName());
             }
 
             // 8. build http service
@@ -470,7 +470,7 @@ public class EmbeddedServer {
                         .build();
                 httpService = new HttpService(provider, conf, rootStatsLogger);
                 serverBuilder.addComponent(httpService);
-                log.info("Load lifecycle component : {}", HttpService.class.getName());
+                log.info("Load lifecycle component : {}", httpService.getName());
             }
 
             // 9. build extra services
@@ -483,7 +483,7 @@ public class EmbeddedServer {
                             rootStatsLogger);
                     for (ServerLifecycleComponent component : components) {
                         serverBuilder.addComponent(component);
-                        log.info("Load lifecycle component : {}", component.getClass().getName());
+                        log.info("Load lifecycle component : {}", component.getName());
                     }
                 } catch (Exception e) {
                     if (conf.getServerConf().getIgnoreExtraServerComponentsStartupFailures()) {