diff --git a/bigtop-manager-agent/src/main/java/org/apache/bigtop/manager/agent/grpc/interceptor/TaskInterceptor.java b/bigtop-manager-agent/src/main/java/org/apache/bigtop/manager/agent/grpc/interceptor/TaskInterceptor.java index 43f382ed6..6d7414337 100644 --- a/bigtop-manager-agent/src/main/java/org/apache/bigtop/manager/agent/grpc/interceptor/TaskInterceptor.java +++ b/bigtop-manager-agent/src/main/java/org/apache/bigtop/manager/agent/grpc/interceptor/TaskInterceptor.java @@ -43,11 +43,15 @@ public class TaskInterceptor implements ServerInterceptor { public ServerCall.Listener interceptCall( ServerCall call, Metadata headers, ServerCallHandler next) { return new ForwardingServerCallListener.SimpleForwardingServerCallListener<>(next.startCall(call, headers)) { + + private boolean taskRequest = false; + @Override public void onMessage(ReqT message) { super.onMessage(message); + taskRequest = isTaskRequest(message); - if (isTaskRequest(message)) { + if (taskRequest) { try { Method method = message.getClass().getDeclaredMethod("getTaskId"); Long taskId = (Long) method.invoke(message); @@ -69,16 +73,20 @@ public void onHalfClose() { public void onCancel() { super.onCancel(); - Caches.RUNNING_TASK = null; - MDC.clear(); + if (taskRequest) { + Caches.RUNNING_TASK = null; + MDC.clear(); + } } @Override public void onComplete() { super.onComplete(); - Caches.RUNNING_TASK = null; - MDC.clear(); + if (taskRequest) { + Caches.RUNNING_TASK = null; + MDC.clear(); + } } @Override diff --git a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/ServiceDao.java b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/ServiceDao.java index 06a268087..accbdd40a 100644 --- a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/ServiceDao.java +++ b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/ServiceDao.java @@ -30,6 +30,8 @@ public interface ServiceDao extends BaseDao { List findByQuery(@Param("query") ServiceQuery query); + int countByClusterId(@Param("clusterId") Long clusterId); + List findByClusterId(@Param("clusterId") Long clusterId); ServicePO findByClusterIdAndName(@Param("clusterId") Long clusterId, @Param("name") String name); diff --git a/bigtop-manager-dao/src/main/resources/mapper/mysql/ClusterMapper.xml b/bigtop-manager-dao/src/main/resources/mapper/mysql/ClusterMapper.xml index df0035bc4..807741228 100644 --- a/bigtop-manager-dao/src/main/resources/mapper/mysql/ClusterMapper.xml +++ b/bigtop-manager-dao/src/main/resources/mapper/mysql/ClusterMapper.xml @@ -36,11 +36,10 @@ , u.nickname as create_user, count(h.id) as total_host, sum(h.available_processors) as total_processor, - sum(h.total_memory_size) as total_memory, sum(h.total_disk) as total_disk, count(s.id) as total_service + sum(h.total_memory_size) as total_memory, sum(h.total_disk) as total_disk from cluster c left join user u on c.create_by = u.id left join host h on c.id = h.cluster_id - left join service s on c.id = s.cluster_id where c.id = #{id} limit 1 diff --git a/bigtop-manager-dao/src/main/resources/mapper/mysql/ServiceMapper.xml b/bigtop-manager-dao/src/main/resources/mapper/mysql/ServiceMapper.xml index f1179956c..7753c85c1 100644 --- a/bigtop-manager-dao/src/main/resources/mapper/mysql/ServiceMapper.xml +++ b/bigtop-manager-dao/src/main/resources/mapper/mysql/ServiceMapper.xml @@ -52,6 +52,14 @@ + + + +