From cc2fa7808066bfc6beb26ab811359c009ec585d4 Mon Sep 17 00:00:00 2001 From: abmdocrt Date: Mon, 2 Sep 2024 10:37:25 +0800 Subject: [PATCH] [Fix](delete) Fix error when creating a non-MOW table while the default value of `enable_mow_light_delete` is true (#40197) ## Proposed changes Fix the issue where an error occurs when creating a non-MOW table while the default value of `enable_mow_light_delete` is set to true. --- .../org/apache/doris/common/util/PropertyAnalyzer.java | 7 ++++--- .../java/org/apache/doris/datasource/InternalCatalog.java | 3 ++- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/common/util/PropertyAnalyzer.java b/fe/fe-core/src/main/java/org/apache/doris/common/util/PropertyAnalyzer.java index e978dd7c4d35a9..6000831172e421 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/common/util/PropertyAnalyzer.java +++ b/fe/fe-core/src/main/java/org/apache/doris/common/util/PropertyAnalyzer.java @@ -1466,14 +1466,15 @@ public static boolean analyzeUniqueKeyMergeOnWrite(Map propertie throw new AnalysisException(PropertyAnalyzer.ENABLE_UNIQUE_KEY_MERGE_ON_WRITE + " must be `true` or `false`"); } - public static boolean analyzeEnableDeleteOnDeletePredicate(Map properties) + public static boolean analyzeEnableDeleteOnDeletePredicate(Map properties, + boolean enableUniqueKeyMergeOnWrite) throws AnalysisException { if (properties == null || properties.isEmpty()) { - return Config.enable_mow_light_delete; + return enableUniqueKeyMergeOnWrite ? Config.enable_mow_light_delete : false; } String value = properties.get(PropertyAnalyzer.PROPERTIES_ENABLE_MOW_LIGHT_DELETE); if (value == null) { - return Config.enable_mow_light_delete; + return enableUniqueKeyMergeOnWrite ? Config.enable_mow_light_delete : false; } properties.remove(PropertyAnalyzer.PROPERTIES_ENABLE_MOW_LIGHT_DELETE); if (value.equals("true")) { diff --git a/fe/fe-core/src/main/java/org/apache/doris/datasource/InternalCatalog.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/InternalCatalog.java index 2e1729d8bb78c0..16e0106b3185b1 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/datasource/InternalCatalog.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/InternalCatalog.java @@ -2655,7 +2655,8 @@ private boolean createOlapTable(Database db, CreateTableStmt stmt) throws UserEx boolean enableDeleteOnDeletePredicate = false; try { - enableDeleteOnDeletePredicate = PropertyAnalyzer.analyzeEnableDeleteOnDeletePredicate(properties); + enableDeleteOnDeletePredicate = PropertyAnalyzer.analyzeEnableDeleteOnDeletePredicate(properties, + enableUniqueKeyMergeOnWrite); } catch (AnalysisException e) { throw new DdlException(e.getMessage()); }