You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by qi...@apache.org on 2020/12/28 08:09:33 UTC

[iotdb] branch master updated: Delete update operation (#2288)

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

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


The following commit(s) were added to refs/heads/master by this push:
     new a898e72  Delete update operation (#2288)
a898e72 is described below

commit a898e7287cfbcac2db9860d777fdaff7929e1338
Author: Xiangwei Wei <34...@users.noreply.github.com>
AuthorDate: Mon Dec 28 16:09:12 2020 +0800

    Delete update operation (#2288)
---
 .../iotdb/cluster/query/ClusterPlanRouter.java     |   9 --
 .../cluster/partition/SlotPartitionTableTest.java  |  14 ---
 .../org/apache/iotdb/db/auth/AuthorityChecker.java |   2 -
 .../main/java/org/apache/iotdb/db/qp/Planner.java  |   1 -
 .../apache/iotdb/db/qp/executor/PlanExecutor.java  |   7 --
 .../org/apache/iotdb/db/qp/logical/Operator.java   |   2 +-
 .../iotdb/db/qp/logical/crud/UpdateOperator.java   |  41 -------
 .../iotdb/db/qp/physical/crud/UpdatePlan.java      | 135 ---------------------
 .../apache/iotdb/db/qp/sql/IoTDBSqlVisitor.java    |  23 ----
 .../iotdb/db/writelog/recover/LogReplayer.java     |   9 --
 .../apache/iotdb/db/auth/AuthorityCheckerTest.java |   3 -
 .../apache/iotdb/db/writelog/PerformanceTest.java  |  15 +--
 12 files changed, 4 insertions(+), 257 deletions(-)

diff --git a/cluster/src/main/java/org/apache/iotdb/cluster/query/ClusterPlanRouter.java b/cluster/src/main/java/org/apache/iotdb/cluster/query/ClusterPlanRouter.java
index 9e9e73a..f052294 100644
--- a/cluster/src/main/java/org/apache/iotdb/cluster/query/ClusterPlanRouter.java
+++ b/cluster/src/main/java/org/apache/iotdb/cluster/query/ClusterPlanRouter.java
@@ -37,7 +37,6 @@ import org.apache.iotdb.db.metadata.PartialPath;
 import org.apache.iotdb.db.qp.physical.PhysicalPlan;
 import org.apache.iotdb.db.qp.physical.crud.InsertRowPlan;
 import org.apache.iotdb.db.qp.physical.crud.InsertTabletPlan;
-import org.apache.iotdb.db.qp.physical.crud.UpdatePlan;
 import org.apache.iotdb.db.qp.physical.sys.AlterTimeSeriesPlan;
 import org.apache.iotdb.db.qp.physical.sys.CountPlan;
 import org.apache.iotdb.db.qp.physical.sys.CreateMultiTimeSeriesPlan;
@@ -112,8 +111,6 @@ public class ClusterPlanRouter {
       throws UnsupportedPlanException, MetadataException {
     if (plan instanceof InsertTabletPlan) {
       return splitAndRoutePlan((InsertTabletPlan) plan);
-    } else if (plan instanceof UpdatePlan) {
-      return splitAndRoutePlan((UpdatePlan) plan);
     } else if (plan instanceof CountPlan) {
       return splitAndRoutePlan((CountPlan) plan);
     } else if (plan instanceof CreateTimeSeriesPlan) {
@@ -251,12 +248,6 @@ public class ClusterPlanRouter {
     return values;
   }
 
-  private Map<PhysicalPlan, PartitionGroup> splitAndRoutePlan(UpdatePlan plan)
-      throws UnsupportedPlanException {
-    logger.error("UpdatePlan is not implemented");
-    throw new UnsupportedPlanException(plan);
-  }
-
   private Map<PhysicalPlan, PartitionGroup> splitAndRoutePlan(CountPlan plan)
       throws StorageGroupNotSetException, IllegalPathException {
     //CountPlan is quite special because it has the behavior of wildcard at the tail of the path
diff --git a/cluster/src/test/java/org/apache/iotdb/cluster/partition/SlotPartitionTableTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/partition/SlotPartitionTableTest.java
index 801d0c1..9e2fd6d 100644
--- a/cluster/src/test/java/org/apache/iotdb/cluster/partition/SlotPartitionTableTest.java
+++ b/cluster/src/test/java/org/apache/iotdb/cluster/partition/SlotPartitionTableTest.java
@@ -40,7 +40,6 @@ import java.util.stream.IntStream;
 import org.apache.iotdb.cluster.common.EnvironmentUtils;
 import org.apache.iotdb.cluster.config.ClusterConstant;
 import org.apache.iotdb.cluster.config.ClusterDescriptor;
-import org.apache.iotdb.cluster.exception.UnsupportedPlanException;
 import org.apache.iotdb.cluster.partition.slot.SlotNodeRemovalResult;
 import org.apache.iotdb.cluster.partition.slot.SlotPartitionTable;
 import org.apache.iotdb.cluster.query.ClusterPlanRouter;
@@ -51,7 +50,6 @@ import org.apache.iotdb.db.engine.StorageEngine;
 import org.apache.iotdb.db.exception.StorageEngineException;
 import org.apache.iotdb.db.exception.metadata.IllegalPathException;
 import org.apache.iotdb.db.exception.metadata.MetadataException;
-import org.apache.iotdb.db.exception.metadata.StorageGroupNotSetException;
 import org.apache.iotdb.db.exception.query.QueryProcessException;
 import org.apache.iotdb.db.metadata.MManager;
 import org.apache.iotdb.db.metadata.PartialPath;
@@ -61,7 +59,6 @@ import org.apache.iotdb.db.qp.physical.PhysicalPlan;
 import org.apache.iotdb.db.qp.physical.crud.DeletePlan;
 import org.apache.iotdb.db.qp.physical.crud.InsertRowPlan;
 import org.apache.iotdb.db.qp.physical.crud.InsertTabletPlan;
-import org.apache.iotdb.db.qp.physical.crud.UpdatePlan;
 import org.apache.iotdb.db.qp.physical.sys.AuthorPlan;
 import org.apache.iotdb.db.qp.physical.sys.CountPlan;
 import org.apache.iotdb.db.qp.physical.sys.CreateTimeSeriesPlan;
@@ -306,18 +303,7 @@ public class SlotPartitionTableTest {
   public void testPhysicalPlan() throws QueryProcessException, IllegalPathException {
     PhysicalPlan deletePlan = new DeletePlan();
     assertTrue(PartitionUtils.isGlobalDataPlan(deletePlan));
-    PhysicalPlan updatePlan = new UpdatePlan();
 
-    ClusterPlanRouter router = new ClusterPlanRouter(localTable);
-    try {
-      router.routePlan(updatePlan);
-    } catch (UnsupportedPlanException e) {
-      //success
-    } catch (StorageGroupNotSetException e) {
-      fail(e.getMessage());
-    } catch (MetadataException e) {
-      e.printStackTrace();
-    }
     try {
       PhysicalPlan authorPlan = new AuthorPlan(AuthorType.CREATE_ROLE, "test", "test", "test",
           "test", new String[]{}, new PartialPath("root.sg.l2.l3.l4.28.ld.l1.d0"));
diff --git a/server/src/main/java/org/apache/iotdb/db/auth/AuthorityChecker.java b/server/src/main/java/org/apache/iotdb/db/auth/AuthorityChecker.java
index d8d886f..9fc6e57 100644
--- a/server/src/main/java/org/apache/iotdb/db/auth/AuthorityChecker.java
+++ b/server/src/main/java/org/apache/iotdb/db/auth/AuthorityChecker.java
@@ -138,8 +138,6 @@ public class AuthorityChecker {
       case LOADDATA:
       case CREATE_INDEX:
         return PrivilegeType.INSERT_TIMESERIES.ordinal();
-      case UPDATE:
-        return PrivilegeType.UPDATE_TIMESERIES.ordinal();
       case LIST_ROLE:
       case LIST_ROLE_USERS:
       case LIST_ROLE_PRIVILEGE:
diff --git a/server/src/main/java/org/apache/iotdb/db/qp/Planner.java b/server/src/main/java/org/apache/iotdb/db/qp/Planner.java
index e598504..d6cd44f 100644
--- a/server/src/main/java/org/apache/iotdb/db/qp/Planner.java
+++ b/server/src/main/java/org/apache/iotdb/db/qp/Planner.java
@@ -178,7 +178,6 @@ public class Planner {
       case DROP_FUNCTION:
         return operator;
       case QUERY:
-      case UPDATE:
       case DELETE:
       case CREATE_INDEX:
       case DROP_INDEX:
diff --git a/server/src/main/java/org/apache/iotdb/db/qp/executor/PlanExecutor.java b/server/src/main/java/org/apache/iotdb/db/qp/executor/PlanExecutor.java
index dcc8593..7313109 100644
--- a/server/src/main/java/org/apache/iotdb/db/qp/executor/PlanExecutor.java
+++ b/server/src/main/java/org/apache/iotdb/db/qp/executor/PlanExecutor.java
@@ -102,7 +102,6 @@ import org.apache.iotdb.db.qp.physical.crud.QueryIndexPlan;
 import org.apache.iotdb.db.qp.physical.crud.QueryPlan;
 import org.apache.iotdb.db.qp.physical.crud.RawDataQueryPlan;
 import org.apache.iotdb.db.qp.physical.crud.UDTFPlan;
-import org.apache.iotdb.db.qp.physical.crud.UpdatePlan;
 import org.apache.iotdb.db.qp.physical.sys.AlterTimeSeriesPlan;
 import org.apache.iotdb.db.qp.physical.sys.AuthorPlan;
 import org.apache.iotdb.db.qp.physical.sys.CountPlan;
@@ -200,12 +199,6 @@ public class PlanExecutor implements IPlanExecutor {
       case DELETE:
         delete((DeletePlan) plan);
         return true;
-      case UPDATE:
-        UpdatePlan update = (UpdatePlan) plan;
-        for (Pair<Long, Long> timePair : update.getIntervals()) {
-          update(update.getPath(), timePair.left, timePair.right, update.getValue());
-        }
-        return true;
       case INSERT:
         insert((InsertRowPlan) plan);
         return true;
diff --git a/server/src/main/java/org/apache/iotdb/db/qp/logical/Operator.java b/server/src/main/java/org/apache/iotdb/db/qp/logical/Operator.java
index f0f6b58..d713fc8 100644
--- a/server/src/main/java/org/apache/iotdb/db/qp/logical/Operator.java
+++ b/server/src/main/java/org/apache/iotdb/db/qp/logical/Operator.java
@@ -67,7 +67,7 @@ public abstract class Operator {
    */
   public enum OperatorType {
     SFW, JOIN, UNION, FILTER, GROUPBYTIME, ORDERBY, LIMIT, SELECT, SEQTABLESCAN, HASHTABLESCAN,
-    MERGEJOIN, FILEREAD, NULL, TABLESCAN, UPDATE, INSERT, BATCHINSERT, DELETE, BASIC_FUNC, IN, QUERY, MERGEQUERY,
+    MERGEJOIN, FILEREAD, NULL, TABLESCAN, INSERT, BATCHINSERT, DELETE, BASIC_FUNC, IN, QUERY, MERGEQUERY,
     AGGREGATION, AUTHOR, FROM, FUNC, LOADDATA, METADATA, FILL,
     SET_STORAGE_GROUP, CREATE_TIMESERIES, DELETE_TIMESERIES, CREATE_USER, DELETE_USER, MODIFY_PASSWORD,
     GRANT_USER_PRIVILEGE, REVOKE_USER_PRIVILEGE, GRANT_USER_ROLE, REVOKE_USER_ROLE, CREATE_ROLE,
diff --git a/server/src/main/java/org/apache/iotdb/db/qp/logical/crud/UpdateOperator.java b/server/src/main/java/org/apache/iotdb/db/qp/logical/crud/UpdateOperator.java
deleted file mode 100644
index df78828..0000000
--- a/server/src/main/java/org/apache/iotdb/db/qp/logical/crud/UpdateOperator.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.iotdb.db.qp.logical.crud;
-
-/**
- * this class extends {@code RootOperator} and process update statement.
- */
-public final class UpdateOperator extends SFWOperator {
-
-  private String value;
-
-  public UpdateOperator(int tokenIntType) {
-    super(tokenIntType);
-    operatorType = OperatorType.UPDATE;
-  }
-
-  public String getValue() {
-    return value;
-  }
-
-  public void setValue(String value) {
-    this.value = value;
-  }
-
-}
diff --git a/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/UpdatePlan.java b/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/UpdatePlan.java
deleted file mode 100644
index 6e5527b..0000000
--- a/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/UpdatePlan.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.iotdb.db.qp.physical.crud;
-
-import static org.apache.iotdb.db.qp.constant.SQLConstant.LINE_FEED_SIGNAL;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-import java.util.Objects;
-import org.apache.iotdb.db.metadata.PartialPath;
-import org.apache.iotdb.db.qp.logical.Operator;
-import org.apache.iotdb.db.qp.physical.PhysicalPlan;
-import org.apache.iotdb.tsfile.utils.Pair;
-import org.apache.iotdb.tsfile.utils.StringContainer;
-
-public class UpdatePlan extends PhysicalPlan {
-
-  private List<Pair<Long, Long>> intervals = new ArrayList<>();
-  private String value;
-  private PartialPath path;
-
-  public UpdatePlan() {
-    super(false, Operator.OperatorType.UPDATE);
-  }
-
-  /**
-   * Construct function for UpdatePlan.
-   *
-   * @param startTime -start time
-   * @param endTime   -end time
-   * @param value     -value
-   * @param path      -path
-   */
-  public UpdatePlan(long startTime, long endTime, String value, PartialPath path) {
-    super(false, Operator.OperatorType.UPDATE);
-    setValue(value);
-    setPath(path);
-    addInterval(new Pair<>(startTime, endTime));
-  }
-
-  /**
-   * Construct function for UpdatePlan.
-   *
-   * @param list  -list to initial intervals
-   * @param value -value
-   * @param path  -path
-   */
-  public UpdatePlan(List<Pair<Long, Long>> list, String value, PartialPath path) {
-    super(false, Operator.OperatorType.UPDATE);
-    setValue(value);
-    setPath(path);
-    intervals = list;
-  }
-
-  public List<Pair<Long, Long>> getIntervals() {
-    return intervals;
-  }
-
-  public void addInterval(Pair<Long, Long> interval) {
-    this.intervals.add(interval);
-  }
-
-  public void addIntervals(List<Pair<Long, Long>> intervals) {
-    this.intervals.addAll(intervals);
-  }
-
-  public String getValue() {
-    return value;
-  }
-
-  public void setValue(String value) {
-    this.value = value;
-  }
-
-  public PartialPath getPath() {
-    return path;
-  }
-
-  public void setPath(PartialPath path) {
-    this.path = path;
-  }
-
-  @Override
-  public List<PartialPath> getPaths() {
-    return path != null ? Collections.singletonList(path) : Collections.emptyList();
-  }
-
-  @Override
-  public String printQueryPlan() {
-    StringContainer sc = new StringContainer();
-    String preSpace = "  ";
-    sc.addTail("UpdatePlan:");
-    sc.addTail(preSpace, "paths:  ", path.getFullPath(), LINE_FEED_SIGNAL);
-    sc.addTail(preSpace, "value:", value, LINE_FEED_SIGNAL);
-    sc.addTail(preSpace, "filter: ", LINE_FEED_SIGNAL);
-    intervals.forEach(p -> sc.addTail(preSpace, preSpace, p.left, p.right, LINE_FEED_SIGNAL));
-    return sc.toString();
-  }
-
-  @Override
-  public boolean equals(Object o) {
-    if (this == o) {
-      return true;
-    }
-    if (o == null || getClass() != o.getClass()) {
-      return false;
-    }
-    UpdatePlan that = (UpdatePlan) o;
-    return Objects.equals(intervals, that.intervals) && Objects.equals(value, that.value)
-        && Objects.equals(path, that.path);
-  }
-
-  @Override
-  public int hashCode() {
-    return Objects.hash(value, path);
-  }
-
-}
diff --git a/server/src/main/java/org/apache/iotdb/db/qp/sql/IoTDBSqlVisitor.java b/server/src/main/java/org/apache/iotdb/db/qp/sql/IoTDBSqlVisitor.java
index bc7ff90..543d2f5 100644
--- a/server/src/main/java/org/apache/iotdb/db/qp/sql/IoTDBSqlVisitor.java
+++ b/server/src/main/java/org/apache/iotdb/db/qp/sql/IoTDBSqlVisitor.java
@@ -52,7 +52,6 @@ import org.apache.iotdb.db.qp.logical.crud.InOperator;
 import org.apache.iotdb.db.qp.logical.crud.InsertOperator;
 import org.apache.iotdb.db.qp.logical.crud.QueryOperator;
 import org.apache.iotdb.db.qp.logical.crud.SelectOperator;
-import org.apache.iotdb.db.qp.logical.crud.UpdateOperator;
 import org.apache.iotdb.db.qp.logical.sys.AlterTimeSeriesOperator;
 import org.apache.iotdb.db.qp.logical.sys.AlterTimeSeriesOperator.AlterType;
 import org.apache.iotdb.db.qp.logical.sys.AuthorOperator;
@@ -183,7 +182,6 @@ import org.apache.iotdb.db.qp.sql.SqlBaseParser.RevokeWatermarkEmbeddingContext;
 import org.apache.iotdb.db.qp.sql.SqlBaseParser.RootOrIdContext;
 import org.apache.iotdb.db.qp.sql.SqlBaseParser.SelectStatementContext;
 import org.apache.iotdb.db.qp.sql.SqlBaseParser.SequenceClauseContext;
-import org.apache.iotdb.db.qp.sql.SqlBaseParser.SetColContext;
 import org.apache.iotdb.db.qp.sql.SqlBaseParser.SetStorageGroupContext;
 import org.apache.iotdb.db.qp.sql.SqlBaseParser.SetTTLStatementContext;
 import org.apache.iotdb.db.qp.sql.SqlBaseParser.ShowAllTTLStatementContext;
@@ -214,7 +212,6 @@ import org.apache.iotdb.db.qp.sql.SqlBaseParser.TypeClauseContext;
 import org.apache.iotdb.db.qp.sql.SqlBaseParser.UdfAttributeContext;
 import org.apache.iotdb.db.qp.sql.SqlBaseParser.UdfCallContext;
 import org.apache.iotdb.db.qp.sql.SqlBaseParser.UnsetTTLStatementContext;
-import org.apache.iotdb.db.qp.sql.SqlBaseParser.UpdateStatementContext;
 import org.apache.iotdb.db.qp.sql.SqlBaseParser.WhereClauseContext;
 import org.apache.iotdb.db.query.executor.fill.IFill;
 import org.apache.iotdb.db.query.executor.fill.LinearFill;
@@ -294,21 +291,6 @@ public class IoTDBSqlVisitor extends SqlBaseBaseVisitor<Operator> {
   }
 
   @Override
-  public Operator visitUpdateStatement(UpdateStatementContext ctx) {
-    UpdateOperator updateOp = new UpdateOperator(SQLConstant.TOK_UPDATE);
-    FromOperator fromOp = new FromOperator(SQLConstant.TOK_FROM);
-    fromOp.addPrefixTablePath(parsePrefixPath(ctx.prefixPath()));
-    SelectOperator selectOp = new SelectOperator(SQLConstant.TOK_QUERY, zoneId);
-    for (SetColContext colContext : ctx.setClause().setCol()) {
-      parseSetCol(colContext, selectOp, updateOp);
-    }
-    FilterOperator whereOp = (FilterOperator) visit(ctx.whereClause());
-    updateOp.setFilterOperator(whereOp.getChildren().get(0));
-    updateOp.setSelectOperator(selectOp);
-    return updateOp;
-  }
-
-  @Override
   public Operator visitDeleteStatement(DeleteStatementContext ctx) {
     DeleteDataOperator deleteDataOp = new DeleteDataOperator(SQLConstant.TOK_DELETE);
     SelectOperator selectOp = new SelectOperator(SQLConstant.TOK_SELECT, zoneId);
@@ -1752,11 +1734,6 @@ public class IoTDBSqlVisitor extends SqlBaseBaseVisitor<Operator> {
     return total;
   }
 
-  private void parseSetCol(SetColContext ctx, SelectOperator selectOp, UpdateOperator updateOp) {
-    selectOp.addSelectPath(parseSuffixPath(ctx.suffixPath()));
-    updateOp.setValue(ctx.constant().getText());
-  }
-
   private PartialPath parseSuffixPath(SuffixPathContext ctx) {
     List<NodeNameContext> nodeNames = ctx.nodeName();
     String[] path = new String[nodeNames.size()];
diff --git a/server/src/main/java/org/apache/iotdb/db/writelog/recover/LogReplayer.java b/server/src/main/java/org/apache/iotdb/db/writelog/recover/LogReplayer.java
index d2c0a9b5b..4be75cc 100644
--- a/server/src/main/java/org/apache/iotdb/db/writelog/recover/LogReplayer.java
+++ b/server/src/main/java/org/apache/iotdb/db/writelog/recover/LogReplayer.java
@@ -41,7 +41,6 @@ import org.apache.iotdb.db.qp.physical.crud.DeletePlan;
 import org.apache.iotdb.db.qp.physical.crud.InsertPlan;
 import org.apache.iotdb.db.qp.physical.crud.InsertRowPlan;
 import org.apache.iotdb.db.qp.physical.crud.InsertTabletPlan;
-import org.apache.iotdb.db.qp.physical.crud.UpdatePlan;
 import org.apache.iotdb.db.service.IoTDB;
 import org.apache.iotdb.db.writelog.io.ILogReader;
 import org.apache.iotdb.db.writelog.manager.MultiFileLogNodeManager;
@@ -99,8 +98,6 @@ public class LogReplayer {
             replayInsert((InsertPlan) plan);
           } else if (plan instanceof DeletePlan) {
             replayDelete((DeletePlan) plan);
-          } else if (plan instanceof UpdatePlan) {
-            replayUpdate((UpdatePlan) plan);
           }
         } catch (Exception e) {
           logger.error("recover wal of {} failed", insertFilePath, e);
@@ -178,12 +175,6 @@ public class LogReplayer {
     }
   }
 
-  @SuppressWarnings("unused")
-  private void replayUpdate(UpdatePlan updatePlan) {
-    // TODO: support update
-    throw new UnsupportedOperationException("Update not supported");
-  }
-
   private void checkDataTypeAndMarkFailed(final MeasurementMNode[] mNodes, InsertPlan tPlan) {
     for (int i = 0; i < mNodes.length; i++) {
       if (mNodes[i] == null) {
diff --git a/server/src/test/java/org/apache/iotdb/db/auth/AuthorityCheckerTest.java b/server/src/test/java/org/apache/iotdb/db/auth/AuthorityCheckerTest.java
index cab663b..b009fde 100644
--- a/server/src/test/java/org/apache/iotdb/db/auth/AuthorityCheckerTest.java
+++ b/server/src/test/java/org/apache/iotdb/db/auth/AuthorityCheckerTest.java
@@ -90,9 +90,6 @@ public class AuthorityCheckerTest {
         OperatorType.QUERY, user.getName()));
 
     Assert.assertTrue(AuthorityChecker.check(user.getName(), Collections.singletonList(new PartialPath(nodeName)),
-        OperatorType.UPDATE, user.getName()));
-
-    Assert.assertTrue(AuthorityChecker.check(user.getName(), Collections.singletonList(new PartialPath(nodeName)),
         OperatorType.DROP_INDEX, user.getName()));
 
     Assert.assertFalse(AuthorityChecker.check(user.getName(), Collections.singletonList(new PartialPath(nodeName)),
diff --git a/server/src/test/java/org/apache/iotdb/db/writelog/PerformanceTest.java b/server/src/test/java/org/apache/iotdb/db/writelog/PerformanceTest.java
index 665d085..1d6e918 100644
--- a/server/src/test/java/org/apache/iotdb/db/writelog/PerformanceTest.java
+++ b/server/src/test/java/org/apache/iotdb/db/writelog/PerformanceTest.java
@@ -18,6 +18,9 @@
  */
 package org.apache.iotdb.db.writelog;
 
+import java.io.File;
+import java.io.IOException;
+import java.util.Collections;
 import org.apache.iotdb.db.conf.IoTDBConfig;
 import org.apache.iotdb.db.conf.IoTDBDescriptor;
 import org.apache.iotdb.db.exception.WriteProcessException;
@@ -26,7 +29,6 @@ import org.apache.iotdb.db.exception.metadata.MetadataException;
 import org.apache.iotdb.db.metadata.PartialPath;
 import org.apache.iotdb.db.qp.physical.crud.DeletePlan;
 import org.apache.iotdb.db.qp.physical.crud.InsertRowPlan;
-import org.apache.iotdb.db.qp.physical.crud.UpdatePlan;
 import org.apache.iotdb.db.service.IoTDB;
 import org.apache.iotdb.db.utils.EnvironmentUtils;
 import org.apache.iotdb.db.writelog.node.ExclusiveWriteLogNode;
@@ -34,16 +36,11 @@ import org.apache.iotdb.db.writelog.node.WriteLogNode;
 import org.apache.iotdb.tsfile.common.conf.TSFileDescriptor;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSEncoding;
-import org.apache.iotdb.tsfile.read.common.Path;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Ignore;
 import org.junit.Test;
 
-import java.io.File;
-import java.io.IOException;
-import java.util.Collections;
-
 @Ignore
 public class PerformanceTest {
 
@@ -93,13 +90,10 @@ public class PerformanceTest {
               new String[]{"s1", "s2", "s3", "s4"},
               new TSDataType[]{TSDataType.DOUBLE, TSDataType.INT64, TSDataType.TEXT, TSDataType.BOOLEAN},
               new String[]{"1.0", "15", "str", "false"});
-          UpdatePlan updatePlan = new UpdatePlan(0, 100, "2.0",
-              new PartialPath("root.logTestDevice.s1"));
           DeletePlan deletePlan = new DeletePlan(Long.MIN_VALUE, 50,
               new PartialPath("root.logTestDevice.s1"));
 
           logNode.write(bwInsertPlan);
-          logNode.write(updatePlan);
           logNode.write(deletePlan);
         }
         logNode.forceSync();
@@ -154,12 +148,9 @@ public class PerformanceTest {
           new String[]{"s1", "s2", "s3", "s4"},
           new TSDataType[]{TSDataType.DOUBLE, TSDataType.INT64, TSDataType.TEXT, TSDataType.BOOLEAN},
           new String[]{"1.0", "15", "str", "false"});
-      UpdatePlan updatePlan = new UpdatePlan(0, 100, "2.0",
-          new PartialPath("root.logTestDevice.s1"));
       DeletePlan deletePlan = new DeletePlan(Long.MIN_VALUE, 50, new PartialPath("root.logTestDevice.s1"));
 
       logNode.write(bwInsertPlan);
-      logNode.write(updatePlan);
       logNode.write(deletePlan);
     }
     try {