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

morningman pushed a commit to branch branch-2.0
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/branch-2.0 by this push:
     new d0185c131cc [fix](compatibility) add back metadata_failure_recovery 
config for compatibility (#29206)
d0185c131cc is described below

commit d0185c131cc6252050abdf83b2b8954c927641b5
Author: Kang <kxiao.ti...@gmail.com>
AuthorDate: Thu Dec 28 16:29:37 2023 +0800

    [fix](compatibility) add back metadata_failure_recovery config for 
compatibility (#29206)
---
 fe/fe-common/src/main/java/org/apache/doris/common/Config.java | 10 ++++++++++
 fe/fe-core/src/main/java/org/apache/doris/catalog/Env.java     |  3 ++-
 .../java/org/apache/doris/journal/bdbje/BDBEnvironment.java    |  3 ++-
 3 files changed, 14 insertions(+), 2 deletions(-)

diff --git a/fe/fe-common/src/main/java/org/apache/doris/common/Config.java 
b/fe/fe-common/src/main/java/org/apache/doris/common/Config.java
index 979f49e1fa5..9bc9bb1be9f 100644
--- a/fe/fe-common/src/main/java/org/apache/doris/common/Config.java
+++ b/fe/fe-common/src/main/java/org/apache/doris/common/Config.java
@@ -291,6 +291,16 @@ public class Config extends ConfigBase {
                     + "each element is a CIDR representation of the network 
address"})
     public static String priority_networks = "";
 
+    @ConfField(description = {"是否重置 BDBJE 的复制组,如果所有的可选节点都无法启动,"
+            + "可以将元数据拷贝到另一个节点,并将这个配置设置为 true,尝试重启 FE。更多信息请参阅官网的元数据故障恢复文档。",
+            "If true, FE will reset bdbje replication group(that is, to remove 
all electable nodes info) "
+                    + "and is supposed to start as Master. "
+                    + "If all the electable nodes can not start, we can copy 
the meta data "
+                    + "to another node and set this config to true to try to 
restart the FE. "
+                    + "For more information, please refer to the metadata 
failure recovery document "
+                    + "on the official website."})
+    public static String metadata_failure_recovery = "false";
+
     @ConfField(mutable = true, description = {"是否忽略元数据延迟,如果 FE 的元数据延迟超过这个阈值,"
             + "则非 Master FE 仍然提供读服务。这个配置可以用于当 Master FE 因为某些原因停止了较长时间,"
             + "但是仍然希望非 Master FE 可以提供读服务。",
diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/Env.java 
b/fe/fe-core/src/main/java/org/apache/doris/catalog/Env.java
index 6e3edb021fc..830cebb0636 100755
--- a/fe/fe-core/src/main/java/org/apache/doris/catalog/Env.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/Env.java
@@ -1608,7 +1608,8 @@ public class Env {
      * frontend log is deleted because of checkpoint.
      */
     private void checkCurrentNodeExist() {
-        boolean metadataFailureRecovery = null != 
System.getProperty(FeConstants.METADATA_FAILURE_RECOVERY_KEY);
+        boolean metadataFailureRecovery = null != 
System.getProperty(FeConstants.METADATA_FAILURE_RECOVERY_KEY)
+                || Config.metadata_failure_recovery.equals("true");
         if (metadataFailureRecovery) {
             return;
         }
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 47405c5c50e..cc774fe82ee 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
@@ -92,7 +92,8 @@ public class BDBEnvironment {
     // The setup() method opens the environment and database
     public void setup(File envHome, String selfNodeName, String 
selfNodeHostPort,
                       String helperHostPort, boolean isElectable) {
-        boolean metadataFailureRecovery = null != 
System.getProperty(FeConstants.METADATA_FAILURE_RECOVERY_KEY);
+        boolean metadataFailureRecovery = null != 
System.getProperty(FeConstants.METADATA_FAILURE_RECOVERY_KEY)
+                || Config.metadata_failure_recovery.equals("true");
         // Almost never used, just in case the master can not restart
         if (metadataFailureRecovery) {
             if (!isElectable) {


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org

Reply via email to