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

ycycse pushed a commit to branch AINodeFix
in repository https://gitbox.apache.org/repos/asf/iotdb.git

commit fb87ad7ef85a4d5cda185c78a57e1d03cbedbd2e
Author: YangCaiyin <[email protected]>
AuthorDate: Tue Feb 25 16:54:21 2025 +0800

    optimize the error information when drop built-in model
---
 .../main/java/org/apache/iotdb/confignode/manager/ModelManager.java  | 5 +++++
 .../main/java/org/apache/iotdb/confignode/persistence/ModelInfo.java | 2 +-
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git 
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/ModelManager.java
 
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/ModelManager.java
index 6121b30a886..3c19dfdb14a 100644
--- 
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/ModelManager.java
+++ 
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/ModelManager.java
@@ -20,6 +20,7 @@
 package org.apache.iotdb.confignode.manager;
 
 import org.apache.iotdb.common.rpc.thrift.TSStatus;
+import org.apache.iotdb.commons.model.ModelType;
 import 
org.apache.iotdb.confignode.consensus.request.read.model.GetModelInfoPlan;
 import org.apache.iotdb.confignode.consensus.request.read.model.ShowModelPlan;
 import org.apache.iotdb.confignode.consensus.response.model.GetModelInfoResp;
@@ -63,6 +64,10 @@ public class ModelManager {
   }
 
   public TSStatus dropModel(TDropModelReq req) {
+    if (modelInfo.checkModelType(req.getModelId()) != ModelType.USER_DEFINED) {
+      return new TSStatus(TSStatusCode.MODEL_EXIST_ERROR.getStatusCode())
+          .setMessage(String.format("Built-in model %s can't be removed", 
req.modelId));
+    }
     if (!modelInfo.contain(req.modelId)) {
       return new TSStatus(TSStatusCode.MODEL_EXIST_ERROR.getStatusCode())
           .setMessage(String.format("Model name %s doesn't exists", 
req.modelId));
diff --git 
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/persistence/ModelInfo.java
 
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/persistence/ModelInfo.java
index d3407e5c5de..21b317d9854 100644
--- 
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/persistence/ModelInfo.java
+++ 
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/persistence/ModelInfo.java
@@ -233,7 +233,7 @@ public class ModelInfo implements SnapshotProcessor {
     return false;
   }
 
-  private ModelType checkModelType(String modelName) {
+  public ModelType checkModelType(String modelName) {
     if (containsBuiltInModelName(builtInForecastModel, modelName)) {
       return ModelType.BUILT_IN_FORECAST;
     } else if (containsBuiltInModelName(builtInAnomalyDetectionModel, 
modelName)) {

Reply via email to