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

yiguolei pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/master by this push:
     new 03ece437f06 Fix topicPublisher thread may NPE when no topic exists 
(#29306)
03ece437f06 is described below

commit 03ece437f0690e0902f5fcd24bd5129aa2fb0fb1
Author: wangbo <[email protected]>
AuthorDate: Fri Dec 29 23:04:20 2023 +0800

    Fix topicPublisher thread may NPE when no topic exists (#29306)
---
 .../java/org/apache/doris/common/publish/TopicPublisherThread.java   | 5 ++---
 .../java/org/apache/doris/common/publish/WorkloadGroupPublisher.java | 4 +---
 .../resource/workloadschedpolicy/WorkloadSchedPolicyPublisher.java   | 4 +---
 3 files changed, 4 insertions(+), 9 deletions(-)

diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/common/publish/TopicPublisherThread.java
 
b/fe/fe-core/src/main/java/org/apache/doris/common/publish/TopicPublisherThread.java
index db5158e24f5..0a6bed76d00 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/common/publish/TopicPublisherThread.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/common/publish/TopicPublisherThread.java
@@ -66,9 +66,8 @@ public class TopicPublisherThread extends MasterDaemon {
             topicPublisher.getTopicInfo(request);
         }
 
-        if (request.getTopicMap().size() == 0) {
-            return;
-        }
+        // even request contains no group and schedule policy, we still need 
to send an empty rpc.
+        // because it may means workload group/policy is dropped
 
         // step 2: publish topic info to all be
         Collection<Backend> nodesToPublish = 
clusterInfoService.getIdToBackend().values();
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/common/publish/WorkloadGroupPublisher.java
 
b/fe/fe-core/src/main/java/org/apache/doris/common/publish/WorkloadGroupPublisher.java
index e81ccb06d3e..45b3664631e 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/common/publish/WorkloadGroupPublisher.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/common/publish/WorkloadGroupPublisher.java
@@ -35,8 +35,6 @@ public class WorkloadGroupPublisher implements TopicPublisher 
{
     @Override
     public void getTopicInfo(TPublishTopicRequest req) {
         List<TopicInfo> list = env.getWorkloadGroupMgr().getPublishTopicInfo();
-        if (list.size() > 0) {
-            req.putToTopicMap(TTopicInfoType.WORKLOAD_GROUP, list);
-        }
+        req.putToTopicMap(TTopicInfoType.WORKLOAD_GROUP, list);
     }
 }
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/resource/workloadschedpolicy/WorkloadSchedPolicyPublisher.java
 
b/fe/fe-core/src/main/java/org/apache/doris/resource/workloadschedpolicy/WorkloadSchedPolicyPublisher.java
index 5083d183e6c..e3b6e466a3d 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/resource/workloadschedpolicy/WorkloadSchedPolicyPublisher.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/resource/workloadschedpolicy/WorkloadSchedPolicyPublisher.java
@@ -36,9 +36,7 @@ public class WorkloadSchedPolicyPublisher implements 
TopicPublisher {
     @Override
     public void getTopicInfo(TPublishTopicRequest req) {
         List<TopicInfo> list = 
env.getWorkloadSchedPolicyMgr().getPublishTopicInfoList();
-        if (list.size() > 0) {
-            req.putToTopicMap(TTopicInfoType.WORKLOAD_SCHED_POLICY, list);
-        }
+        req.putToTopicMap(TTopicInfoType.WORKLOAD_SCHED_POLICY, list);
     }
 
 }


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to