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

dataroaring 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 eaa1ca7143a [fix](fe) Fix show frontends npt in some situations 
(#27295)
eaa1ca7143a is described below

commit eaa1ca7143a239f93f8308597707a6e677aa4714
Author: Lei Zhang <[email protected]>
AuthorDate: Wed Nov 22 10:46:59 2023 +0800

    [fix](fe) Fix show frontends npt in some situations (#27295)
    
    ```
    java.lang.NullPointerException: null
        at 
com.sleepycat.je.rep.util.ReplicationGroupAdmin.getMasterSocket(ReplicationGroupAdmin.java:191)
        at 
com.sleepycat.je.rep.util.ReplicationGroupAdmin.doMessageExchange(ReplicationGroupAdmin.java:607)
        at 
com.sleepycat.je.rep.util.ReplicationGroupAdmin.getGroup(ReplicationGroupAdmin.java:406)
        at org.apache.doris.ha.BDBHA.getElectableNodes(BDBHA.java:132)
        at 
org.apache.doris.common.proc.FrontendsProcNode.getFrontendsInfo(FrontendsProcNode.java:84)
        at 
org.apache.doris.qe.ShowExecutor.handleShowFrontends(ShowExecutor.java:1923)
        at org.apache.doris.qe.ShowExecutor.execute(ShowExecutor.java:355)
        at org.apache.doris.qe.StmtExecutor.handleShow(StmtExecutor.java:2113)
        ...
    ```
---
 .../java/org/apache/doris/common/proc/FrontendsProcNode.java   |  1 -
 fe/fe-core/src/main/java/org/apache/doris/ha/BDBHA.java        | 10 ++++++----
 .../java/org/apache/doris/journal/bdbje/BDBEnvironment.java    |  5 +++++
 3 files changed, 11 insertions(+), 5 deletions(-)

diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/common/proc/FrontendsProcNode.java 
b/fe/fe-core/src/main/java/org/apache/doris/common/proc/FrontendsProcNode.java
index b49874b6e9c..be126e9bc53 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/common/proc/FrontendsProcNode.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/common/proc/FrontendsProcNode.java
@@ -127,7 +127,6 @@ public class FrontendsProcNode implements ProcNodeInterface 
{
         }
 
         for (Frontend fe : env.getFrontends(null /* all */)) {
-
             List<String> info = new ArrayList<String>();
             info.add(fe.getNodeName());
             info.add(fe.getHost());
diff --git a/fe/fe-core/src/main/java/org/apache/doris/ha/BDBHA.java 
b/fe/fe-core/src/main/java/org/apache/doris/ha/BDBHA.java
index 40de7329222..046bca5bac9 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/ha/BDBHA.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/ha/BDBHA.java
@@ -104,11 +104,12 @@ public class BDBHA implements HAProtocol {
 
     @Override
     public List<InetSocketAddress> getObserverNodes() {
+        List<InetSocketAddress> ret = new ArrayList<InetSocketAddress>();
         ReplicationGroupAdmin replicationGroupAdmin = 
environment.getReplicationGroupAdmin();
         if (replicationGroupAdmin == null) {
-            return null;
+            return ret;
         }
-        List<InetSocketAddress> ret = new ArrayList<InetSocketAddress>();
+
         try {
             ReplicationGroup replicationGroup = 
replicationGroupAdmin.getGroup();
             for (ReplicationNode replicationNode : 
replicationGroup.getSecondaryNodes()) {
@@ -123,11 +124,12 @@ public class BDBHA implements HAProtocol {
 
     @Override
     public List<InetSocketAddress> getElectableNodes(boolean leaderIncluded) {
+        List<InetSocketAddress> ret = new ArrayList<InetSocketAddress>();
         ReplicationGroupAdmin replicationGroupAdmin = 
environment.getReplicationGroupAdmin();
         if (replicationGroupAdmin == null) {
-            return null;
+            return ret;
         }
-        List<InetSocketAddress> ret = new ArrayList<InetSocketAddress>();
+
         try {
             ReplicationGroup replicationGroup = 
replicationGroupAdmin.getGroup();
             for (ReplicationNode replicationNode : 
replicationGroup.getElectableNodes()) {
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/journal/bdbje/BDBEnvironment.java 
b/fe/fe-core/src/main/java/org/apache/doris/journal/bdbje/BDBEnvironment.java
index 5dec4a4c570..1b608751c76 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/journal/bdbje/BDBEnvironment.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/journal/bdbje/BDBEnvironment.java
@@ -209,6 +209,11 @@ public class BDBEnvironment {
                 .filter(Frontend::isAlive)
                 .map(fe -> new InetSocketAddress(fe.getHost(), 
fe.getEditLogPort()))
                 .collect(Collectors.toSet());
+
+        if (addresses.isEmpty()) {
+            LOG.info("addresses is empty");
+            return null;
+        }
         return new ReplicationGroupAdmin(PALO_JOURNAL_GROUP, addresses);
     }
 


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

Reply via email to