diff --git a/fe/src/main/java/org/apache/doris/alter/SchemaChangeJob.java b/fe/src/main/java/org/apache/doris/alter/SchemaChangeJob.java index e11575b526..5dbdfd55c7 100644 --- a/fe/src/main/java/org/apache/doris/alter/SchemaChangeJob.java +++ b/fe/src/main/java/org/apache/doris/alter/SchemaChangeJob.java @@ -704,7 +704,9 @@ public class SchemaChangeJob extends AlterJob { } if (replica.getLastFailedVersion() > 0) { - -- healthNum; + LOG.warn("replica {} of tablet {} last failed version > 0, set it as bad", + replica, tablet.getId()); + --healthNum; continue; } } diff --git a/fe/src/main/java/org/apache/doris/catalog/BrokerMgr.java b/fe/src/main/java/org/apache/doris/catalog/BrokerMgr.java index 9f68c26d3e..8ef0e5d4dc 100644 --- a/fe/src/main/java/org/apache/doris/catalog/BrokerMgr.java +++ b/fe/src/main/java/org/apache/doris/catalog/BrokerMgr.java @@ -324,7 +324,7 @@ public class BrokerMgr { row.add(String.valueOf(broker.isAlive)); row.add(TimeUtils.longToTimeString(broker.lastStartTime)); row.add(TimeUtils.longToTimeString(broker.lastUpdateTime)); - row.add(broker.msg); + row.add(broker.heartbeatErrMsg); result.addRow(row); } } diff --git a/fe/src/main/java/org/apache/doris/catalog/FsBroker.java b/fe/src/main/java/org/apache/doris/catalog/FsBroker.java index a8b00436ec..56f81d219c 100644 --- a/fe/src/main/java/org/apache/doris/catalog/FsBroker.java +++ b/fe/src/main/java/org/apache/doris/catalog/FsBroker.java @@ -30,7 +30,7 @@ public class FsBroker implements Writable, Comparable { public String ip; public int port; // msg for ping result - public String msg; + public String heartbeatErrMsg = ""; public long lastUpdateTime; public long lastStartTime = -1; @@ -59,13 +59,13 @@ public class FsBroker implements Writable, Comparable { lastStartTime = hbResponse.getHbTime(); } lastUpdateTime = hbResponse.getHbTime(); - msg = ""; + heartbeatErrMsg = ""; } else { if (isAlive) { isAlive = false; isChanged = true; } - msg = hbResponse.getMsg(); + heartbeatErrMsg = hbResponse.getMsg() == null ? "Unknown error" : hbResponse.getMsg(); } return isChanged; diff --git a/fe/src/main/java/org/apache/doris/catalog/Replica.java b/fe/src/main/java/org/apache/doris/catalog/Replica.java index 2ef2233125..f65267f54f 100644 --- a/fe/src/main/java/org/apache/doris/catalog/Replica.java +++ b/fe/src/main/java/org/apache/doris/catalog/Replica.java @@ -349,7 +349,7 @@ public class Replica implements Writable { @Override public String toString() { - StringBuffer strBuffer = new StringBuffer("replicaId="); + StringBuffer strBuffer = new StringBuffer("[replicaId="); strBuffer.append(id); strBuffer.append(", BackendId="); strBuffer.append(backendId); @@ -373,6 +373,7 @@ public class Replica implements Writable { strBuffer.append(lastFailedTimestamp); strBuffer.append(", schemaHash"); strBuffer.append(schemaHash); + strBuffer.append("]"); return strBuffer.toString(); } diff --git a/fe/src/main/java/org/apache/doris/common/Config.java b/fe/src/main/java/org/apache/doris/common/Config.java index 6247bf1f1c..f2d05de68b 100644 --- a/fe/src/main/java/org/apache/doris/common/Config.java +++ b/fe/src/main/java/org/apache/doris/common/Config.java @@ -743,6 +743,6 @@ public class Config extends ConfigBase { * if set to true, TabletScheduler will not do balance. */ @ConfField(mutable = true, masterOnly = true) - public static boolean disable_balance = false; // 10% + public static boolean disable_balance = false; } diff --git a/fe/src/main/java/org/apache/doris/common/proc/FrontendsProcNode.java b/fe/src/main/java/org/apache/doris/common/proc/FrontendsProcNode.java index 45bf349083..b2043427c2 100644 --- a/fe/src/main/java/org/apache/doris/common/proc/FrontendsProcNode.java +++ b/fe/src/main/java/org/apache/doris/common/proc/FrontendsProcNode.java @@ -108,7 +108,7 @@ public class FrontendsProcNode implements ProcNodeInterface { info.add(String.valueOf(isHelperNode(helperNodes, fe))); - info.add(fe.getMsg()); + info.add(fe.getHeartbeatErrMsg()); infos.add(info); } diff --git a/fe/src/main/java/org/apache/doris/system/Backend.java b/fe/src/main/java/org/apache/doris/system/Backend.java index c214183b38..901bf15439 100644 --- a/fe/src/main/java/org/apache/doris/system/Backend.java +++ b/fe/src/main/java/org/apache/doris/system/Backend.java @@ -566,7 +566,7 @@ public class Backend implements Writable { LOG.info("{} is dead,", this.toString()); } - heartbeatErrMsg = hbResponse.getMsg(); + heartbeatErrMsg = hbResponse.getMsg() == null ? "Unknown error" : hbResponse.getMsg(); } return isChanged; diff --git a/fe/src/main/java/org/apache/doris/system/Frontend.java b/fe/src/main/java/org/apache/doris/system/Frontend.java index d6ae74da8a..0a315c8ce4 100644 --- a/fe/src/main/java/org/apache/doris/system/Frontend.java +++ b/fe/src/main/java/org/apache/doris/system/Frontend.java @@ -40,7 +40,7 @@ public class Frontend implements Writable { private long replayedJournalId; private long lastUpdateTime; - private String msg = ""; + private String heartbeatErrMsg = ""; private boolean isAlive = false; @@ -101,8 +101,8 @@ public class Frontend implements Writable { return replayedJournalId; } - public String getMsg() { - return msg; + public String getHeartbeatErrMsg() { + return heartbeatErrMsg; } public long getLastUpdateTime() { @@ -123,14 +123,14 @@ public class Frontend implements Writable { rpcPort = hbResponse.getRpcPort(); replayedJournalId = hbResponse.getReplayedJournalId(); lastUpdateTime = hbResponse.getHbTime(); - msg = ""; + heartbeatErrMsg = ""; isChanged = true; } else { if (isAlive) { isAlive = false; isChanged = true; } - msg = hbResponse.getMsg(); + heartbeatErrMsg = hbResponse.getMsg() == null ? "Unknown error" : hbResponse.getMsg(); } return isChanged; }