From be5147c32e5ab0b586ce39bac322f4d43e7caeac Mon Sep 17 00:00:00 2001 From: yiguolei <676222867@qq.com> Date: Mon, 13 Mar 2023 11:27:00 +0800 Subject: [PATCH] [enhancement](feservice) catch throwable and print log for frontend service (#17708) --------- Co-authored-by: yiguolei --- .../java/org/apache/doris/service/FeServer.java | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/service/FeServer.java b/fe/fe-core/src/main/java/org/apache/doris/service/FeServer.java index dd7b203833..11b224df02 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/service/FeServer.java +++ b/fe/fe-core/src/main/java/org/apache/doris/service/FeServer.java @@ -43,6 +43,7 @@ public class FeServer { public void start() throws IOException { FrontendServiceImpl service = new FrontendServiceImpl(ExecuteEnv.getInstance()); + Logger feServiceLogger = LogManager.getLogger(FrontendServiceImpl.class); FrontendService.Iface instance = (FrontendService.Iface) Proxy.newProxyInstance( FrontendServiceImpl.class.getClassLoader(), FrontendServiceImpl.class.getInterfaces(), @@ -50,9 +51,19 @@ public class FeServer { long begin = System.currentTimeMillis(); String name = method.getName(); MetricRepo.THRIFT_COUNTER_RPC_ALL.getOrAdd(name).increase(1L); - Object r = method.invoke(service, args); - long end = System.currentTimeMillis(); - MetricRepo.THRIFT_COUNTER_RPC_LATENCY.getOrAdd(name).increase(end - begin); + feServiceLogger.debug("receive request for {}", name); + Object r = null; + try { + r = method.invoke(service, args); + } catch (Throwable t) { + feServiceLogger.warn("errors while process request for {}", name, t); + // If exception occurs, do not deal it, just keep as the previous + throw t; + } finally { + feServiceLogger.debug("finish process request for {}", name); + long end = System.currentTimeMillis(); + MetricRepo.THRIFT_COUNTER_RPC_LATENCY.getOrAdd(name).increase(end - begin); + } return r; }); // setup frontend server