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]