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

xingtanzjr pushed a commit to branch rel/1.1
in repository https://gitbox.apache.org/repos/asf/iotdb.git


The following commit(s) were added to refs/heads/rel/1.1 by this push:
     new 73afe2d2ab [To rel/1.1] Delete ISeriesMonitor interface (#9584)
73afe2d2ab is described below

commit 73afe2d2ab5f6927147f472b6a34d9465c71465b
Author: Chen YZ <[email protected]>
AuthorDate: Wed Apr 12 10:52:14 2023 +0800

    [To rel/1.1] Delete ISeriesMonitor interface (#9584)
---
 .../iotdb/external/api/ISeriesNumerMonitor.java    | 46 -----------
 .../metadata/tagSchemaRegion/TagSchemaRegion.java  |  9 +--
 .../tagSchemaRegion/TagSchemaRegionTest.java       | 10 +--
 .../metadata/schemaregion/ISchemaRegionParams.java |  3 -
 .../db/metadata/schemaregion/SchemaEngine.java     | 27 +------
 .../schemaregion/SchemaRegionMemoryImpl.java       | 93 ++++++----------------
 .../metadata/schemaregion/SchemaRegionParams.java  | 12 +--
 .../schemaregion/SchemaRegionSchemaFileImpl.java   | 91 ++++++---------------
 8 files changed, 57 insertions(+), 234 deletions(-)

diff --git 
a/external-api/src/main/java/org/apache/iotdb/external/api/ISeriesNumerMonitor.java
 
b/external-api/src/main/java/org/apache/iotdb/external/api/ISeriesNumerMonitor.java
deleted file mode 100644
index de1a60e3e3..0000000000
--- 
a/external-api/src/main/java/org/apache/iotdb/external/api/ISeriesNumerMonitor.java
+++ /dev/null
@@ -1,46 +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.external.api;
-
-import java.util.Properties;
-
-/** An interface for series number monitoring, users can implement their own 
limitation strategy */
-public interface ISeriesNumerMonitor {
-
-  /**
-   * do the necessary initialization
-   *
-   * @param properties Properties containing all the parameters needed to init
-   */
-  void init(Properties properties);
-  /**
-   * add time series
-   *
-   * @param number time series number for current createTimeSeries operation
-   * @return true if we want to allow the operation, otherwise false
-   */
-  boolean addTimeSeries(int number);
-
-  /**
-   * delete time series
-   *
-   * @param number time series number for current deleteTimeSeries operation
-   */
-  void deleteTimeSeries(int number);
-}
diff --git 
a/schema-engine-tag/src/main/java/org/apache/iotdb/db/metadata/tagSchemaRegion/TagSchemaRegion.java
 
b/schema-engine-tag/src/main/java/org/apache/iotdb/db/metadata/tagSchemaRegion/TagSchemaRegion.java
index 7aacc56740..416ed5b547 100644
--- 
a/schema-engine-tag/src/main/java/org/apache/iotdb/db/metadata/tagSchemaRegion/TagSchemaRegion.java
+++ 
b/schema-engine-tag/src/main/java/org/apache/iotdb/db/metadata/tagSchemaRegion/TagSchemaRegion.java
@@ -62,7 +62,6 @@ import 
org.apache.iotdb.db.metadata.tagSchemaRegion.utils.MeasurementPathUtils;
 import 
org.apache.iotdb.db.metadata.tagSchemaRegion.utils.PathTagConverterUtils;
 import 
org.apache.iotdb.db.metadata.tagSchemaRegion.utils.ShowTimeSeriesResultUtils;
 import org.apache.iotdb.db.metadata.template.Template;
-import org.apache.iotdb.external.api.ISeriesNumerMonitor;
 import org.apache.iotdb.tsfile.file.metadata.enums.CompressionType;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSEncoding;
@@ -98,20 +97,14 @@ public class TagSchemaRegion implements ISchemaRegion {
   // manager timeSeries, and use a deviceID list manager device id -> INT32 id
   private final IDTableWithDeviceIDListImpl idTableWithDeviceIDList;
 
-  private final ISeriesNumerMonitor seriesNumerMonitor;
-
   public TagSchemaRegion(
-      PartialPath storageGroup,
-      SchemaRegionId schemaRegionId,
-      IStorageGroupMNode storageGroupMNode,
-      ISeriesNumerMonitor seriesNumerMonitor)
+      PartialPath storageGroup, SchemaRegionId schemaRegionId, 
IStorageGroupMNode storageGroupMNode)
       throws MetadataException {
     storageGroupFullPath = storageGroup.getFullPath();
     this.schemaRegionId = schemaRegionId;
     String storageGroupDirPath = config.getSchemaDir() + File.separator + 
storageGroupFullPath;
     schemaRegionDirPath = storageGroupDirPath + File.separator + 
schemaRegionId.getId();
     this.storageGroupMNode = storageGroupMNode;
-    this.seriesNumerMonitor = seriesNumerMonitor;
     File schemaRegionDir = new File(schemaRegionDirPath);
     idTableWithDeviceIDList = new IDTableWithDeviceIDListImpl(schemaRegionDir);
     tagInvertedIndex = new TagInvertedIndex(schemaRegionDirPath);
diff --git 
a/schema-engine-tag/src/test/java/org/apache/iotdb/db/metadata/tagSchemaRegion/TagSchemaRegionTest.java
 
b/schema-engine-tag/src/test/java/org/apache/iotdb/db/metadata/tagSchemaRegion/TagSchemaRegionTest.java
index 8a95d53c09..4ac62e56c1 100644
--- 
a/schema-engine-tag/src/test/java/org/apache/iotdb/db/metadata/tagSchemaRegion/TagSchemaRegionTest.java
+++ 
b/schema-engine-tag/src/test/java/org/apache/iotdb/db/metadata/tagSchemaRegion/TagSchemaRegionTest.java
@@ -95,7 +95,7 @@ public class TagSchemaRegionTest {
   public void testCreateTimeseries() {
     try {
       tagSchemaRegion =
-          new TagSchemaRegion(new PartialPath(storageGroup), new 
SchemaRegionId(0), null, null);
+          new TagSchemaRegion(new PartialPath(storageGroup), new 
SchemaRegionId(0), null);
       createTimeseries();
     } catch (Exception e) {
       e.printStackTrace();
@@ -107,7 +107,7 @@ public class TagSchemaRegionTest {
   public void testCreateAlignedTimeSeries() {
     try {
       tagSchemaRegion =
-          new TagSchemaRegion(new PartialPath(storageGroup), new 
SchemaRegionId(0), null, null);
+          new TagSchemaRegion(new PartialPath(storageGroup), new 
SchemaRegionId(0), null);
       createAlignedTimeseries();
     } catch (Exception e) {
       e.printStackTrace();
@@ -119,13 +119,13 @@ public class TagSchemaRegionTest {
   public void testRecover() {
     try {
       tagSchemaRegion =
-          new TagSchemaRegion(new PartialPath(storageGroup), new 
SchemaRegionId(0), null, null);
+          new TagSchemaRegion(new PartialPath(storageGroup), new 
SchemaRegionId(0), null);
       createAlignedTimeseries();
       createTimeseries();
 
       tagSchemaRegion.clear();
       tagSchemaRegion =
-          new TagSchemaRegion(new PartialPath(storageGroup), new 
SchemaRegionId(0), null, null);
+          new TagSchemaRegion(new PartialPath(storageGroup), new 
SchemaRegionId(0), null);
 
       getMeasurementPathsTest();
     } catch (Exception e) {
@@ -138,7 +138,7 @@ public class TagSchemaRegionTest {
   public void testGetMeasurementPaths() {
     try {
       tagSchemaRegion =
-          new TagSchemaRegion(new PartialPath(storageGroup), new 
SchemaRegionId(0), null, null);
+          new TagSchemaRegion(new PartialPath(storageGroup), new 
SchemaRegionId(0), null);
       createAlignedTimeseries();
       createTimeseries();
       getMeasurementPathsTest();
diff --git 
a/server/src/main/java/org/apache/iotdb/db/metadata/schemaregion/ISchemaRegionParams.java
 
b/server/src/main/java/org/apache/iotdb/db/metadata/schemaregion/ISchemaRegionParams.java
index 460c242fc6..beae468067 100644
--- 
a/server/src/main/java/org/apache/iotdb/db/metadata/schemaregion/ISchemaRegionParams.java
+++ 
b/server/src/main/java/org/apache/iotdb/db/metadata/schemaregion/ISchemaRegionParams.java
@@ -22,7 +22,6 @@ package org.apache.iotdb.db.metadata.schemaregion;
 import org.apache.iotdb.commons.consensus.SchemaRegionId;
 import org.apache.iotdb.commons.path.PartialPath;
 import org.apache.iotdb.db.metadata.rescon.ISchemaEngineStatistics;
-import org.apache.iotdb.external.api.ISeriesNumerMonitor;
 
 public interface ISchemaRegionParams {
 
@@ -31,6 +30,4 @@ public interface ISchemaRegionParams {
   SchemaRegionId getSchemaRegionId();
 
   ISchemaEngineStatistics getSchemaEngineStatistics();
-
-  ISeriesNumerMonitor getSeriesNumberMonitor();
 }
diff --git 
a/server/src/main/java/org/apache/iotdb/db/metadata/schemaregion/SchemaEngine.java
 
b/server/src/main/java/org/apache/iotdb/db/metadata/schemaregion/SchemaEngine.java
index bec548ef56..b73072ae6b 100644
--- 
a/server/src/main/java/org/apache/iotdb/db/metadata/schemaregion/SchemaEngine.java
+++ 
b/server/src/main/java/org/apache/iotdb/db/metadata/schemaregion/SchemaEngine.java
@@ -38,7 +38,6 @@ import 
org.apache.iotdb.db.metadata.rescon.DataNodeSchemaQuotaManager;
 import org.apache.iotdb.db.metadata.rescon.ISchemaEngineStatistics;
 import org.apache.iotdb.db.metadata.rescon.MemSchemaEngineStatistics;
 import org.apache.iotdb.db.metadata.rescon.SchemaResourceManager;
-import org.apache.iotdb.external.api.ISeriesNumerMonitor;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -49,7 +48,6 @@ import java.util.Collection;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
-import java.util.ServiceLoader;
 import java.util.concurrent.Callable;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ExecutionException;
@@ -71,9 +69,6 @@ public class SchemaEngine {
 
   private ScheduledExecutorService timedForceMLogThread;
 
-  // seriesNumberMonitor may be null
-  private ISeriesNumerMonitor seriesNumerMonitor = null;
-
   private ISchemaEngineStatistics schemaEngineStatistics;
 
   private final DataNodeSchemaQuotaManager schemaQuotaManager =
@@ -87,22 +82,7 @@ public class SchemaEngine {
   }
 
   private SchemaEngine() {
-
     schemaRegionLoader = new SchemaRegionLoader();
-
-    // init ISeriesNumerMonitor if there is.
-    // each mmanager instance will generate an ISeriesNumerMonitor instance
-    // So, if you want to share the ISeriesNumerMonitor instance, pls change 
this part of code.
-    ServiceLoader<ISeriesNumerMonitor> monitorServiceLoader =
-        ServiceLoader.load(ISeriesNumerMonitor.class);
-    for (ISeriesNumerMonitor loader : monitorServiceLoader) {
-      if (this.seriesNumerMonitor != null) {
-        // it means there is more than one ISeriesNumerMonitor implementation.
-        logger.warn("There are more than one ISeriesNumerMonitor 
implementation. pls check.");
-      }
-      logger.info("Will set seriesNumerMonitor from {} ", 
loader.getClass().getName());
-      this.seriesNumerMonitor = loader;
-    }
   }
 
   public static SchemaEngine getInstance() {
@@ -304,8 +284,7 @@ public class SchemaEngine {
   private ISchemaRegion createSchemaRegionWithoutExistenceCheck(
       PartialPath database, SchemaRegionId schemaRegionId) throws 
MetadataException {
     ISchemaRegionParams schemaRegionParams =
-        new SchemaRegionParams(
-            database, schemaRegionId, schemaEngineStatistics, 
seriesNumerMonitor);
+        new SchemaRegionParams(database, schemaRegionId, 
schemaEngineStatistics);
     ISchemaRegion schemaRegion = 
schemaRegionLoader.createSchemaRegion(schemaRegionParams);
     SchemaMetricManager.getInstance().createSchemaRegionMetric(schemaRegion);
     return schemaRegion;
@@ -342,10 +321,6 @@ public class SchemaEngine {
     }
   }
 
-  public void setSeriesNumerMonitor(ISeriesNumerMonitor seriesNumerMonitor) {
-    this.seriesNumerMonitor = seriesNumerMonitor;
-  }
-
   public int getSchemaRegionNumber() {
     return schemaRegionMap == null ? 0 : schemaRegionMap.size();
   }
diff --git 
a/server/src/main/java/org/apache/iotdb/db/metadata/schemaregion/SchemaRegionMemoryImpl.java
 
b/server/src/main/java/org/apache/iotdb/db/metadata/schemaregion/SchemaRegionMemoryImpl.java
index a5312d880a..43e758170e 100644
--- 
a/server/src/main/java/org/apache/iotdb/db/metadata/schemaregion/SchemaRegionMemoryImpl.java
+++ 
b/server/src/main/java/org/apache/iotdb/db/metadata/schemaregion/SchemaRegionMemoryImpl.java
@@ -30,7 +30,6 @@ import org.apache.iotdb.consensus.ConsensusFactory;
 import org.apache.iotdb.db.conf.IoTDBConfig;
 import org.apache.iotdb.db.conf.IoTDBDescriptor;
 import 
org.apache.iotdb.db.exception.metadata.SchemaDirCreationFailureException;
-import org.apache.iotdb.db.exception.metadata.SeriesNumberOverflowException;
 import org.apache.iotdb.db.exception.metadata.SeriesOverflowException;
 import org.apache.iotdb.db.metadata.MetadataConstant;
 import org.apache.iotdb.db.metadata.idtable.IDTable;
@@ -73,7 +72,6 @@ import 
org.apache.iotdb.db.metadata.rescon.MemSchemaRegionStatistics;
 import org.apache.iotdb.db.metadata.tag.TagManager;
 import org.apache.iotdb.db.metadata.template.Template;
 import org.apache.iotdb.db.utils.SchemaUtils;
-import org.apache.iotdb.external.api.ISeriesNumerMonitor;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSEncoding;
 import org.apache.iotdb.tsfile.utils.Pair;
@@ -146,9 +144,6 @@ public class SchemaRegionMemoryImpl implements 
ISchemaRegion {
   private MTreeBelowSGMemoryImpl mtree;
   private TagManager tagManager;
 
-  // seriesNumberMonitor may be null
-  private final ISeriesNumerMonitor seriesNumberMonitor;
-
   // region Interfaces and Implementation of initialization、snapshot、recover 
and clear
   public SchemaRegionMemoryImpl(ISchemaRegionParams schemaRegionParams) throws 
MetadataException {
 
@@ -169,8 +164,6 @@ public class SchemaRegionMemoryImpl implements 
ISchemaRegion {
         FileUtils.deleteDirectory(schemaRegionDir);
       }
     }
-
-    this.seriesNumberMonitor = schemaRegionParams.getSeriesNumberMonitor();
     this.regionStatistics =
         new MemSchemaRegionStatistics(
             schemaRegionId.getId(), 
schemaRegionParams.getSchemaEngineStatistics());
@@ -390,12 +383,6 @@ public class SchemaRegionMemoryImpl implements 
ISchemaRegion {
 
   @Override
   public synchronized void deleteSchemaRegion() throws MetadataException {
-    // collect all the LeafMNode in this schema region
-    long seriesCount = regionStatistics.getSeriesNumber();
-    if (seriesNumberMonitor != null) {
-      seriesNumberMonitor.deleteTimeSeries((int) seriesCount);
-    }
-
     // clear all the components and release all the file handlers
     clear();
 
@@ -534,35 +521,23 @@ public class SchemaRegionMemoryImpl implements 
ISchemaRegion {
       throw new SeriesOverflowException();
     }
 
-    if (seriesNumberMonitor != null && !seriesNumberMonitor.addTimeSeries(1)) {
-      throw new SeriesNumberOverflowException();
-    }
     schemaQuotaManager.checkMeasurementLevel(1);
 
     try {
       IMeasurementMNode leafMNode;
-
-      // using try-catch to restore seriesNumberMonitor's state while create 
failed
-      try {
-        PartialPath path = plan.getPath();
-        SchemaUtils.checkDataTypeWithEncoding(plan.getDataType(), 
plan.getEncoding());
-
-        TSDataType type = plan.getDataType();
-        // create time series in MTree
-        leafMNode =
-            mtree.createTimeseries(
-                path,
-                type,
-                plan.getEncoding(),
-                plan.getCompressor(),
-                plan.getProps(),
-                plan.getAlias());
-      } catch (Throwable t) {
-        if (seriesNumberMonitor != null) {
-          seriesNumberMonitor.deleteTimeSeries(1);
-        }
-        throw t;
-      }
+      PartialPath path = plan.getPath();
+      SchemaUtils.checkDataTypeWithEncoding(plan.getDataType(), 
plan.getEncoding());
+
+      TSDataType type = plan.getDataType();
+      // create time series in MTree
+      leafMNode =
+          mtree.createTimeseries(
+              path,
+              type,
+              plan.getEncoding(),
+              plan.getCompressor(),
+              plan.getProps(),
+              plan.getAlias());
 
       // update statistics and schemaDataTypeNumMap
       regionStatistics.addTimeseries(1L);
@@ -615,9 +590,6 @@ public class SchemaRegionMemoryImpl implements 
ISchemaRegion {
       throw new SeriesOverflowException();
     }
 
-    if (seriesNumberMonitor != null && 
!seriesNumberMonitor.addTimeSeries(seriesCount)) {
-      throw new SeriesNumberOverflowException();
-    }
     schemaQuotaManager.checkMeasurementLevel(seriesCount);
 
     try {
@@ -628,29 +600,20 @@ public class SchemaRegionMemoryImpl implements 
ISchemaRegion {
       List<Map<String, String>> tagsList = plan.getTagsList();
       List<Map<String, String>> attributesList = plan.getAttributesList();
       List<IMeasurementMNode> measurementMNodeList;
-
-      // using try-catch to restore seriesNumberMonitor's state while create 
failed
-      try {
-        for (int i = 0; i < measurements.size(); i++) {
-          SchemaUtils.checkDataTypeWithEncoding(dataTypes.get(i), 
encodings.get(i));
-        }
-
-        // create time series in MTree
-        measurementMNodeList =
-            mtree.createAlignedTimeseries(
-                prefixPath,
-                measurements,
-                plan.getDataTypes(),
-                plan.getEncodings(),
-                plan.getCompressors(),
-                plan.getAliasList());
-      } catch (Throwable t) {
-        if (seriesNumberMonitor != null) {
-          seriesNumberMonitor.deleteTimeSeries(seriesCount);
-        }
-        throw t;
+      for (int i = 0; i < measurements.size(); i++) {
+        SchemaUtils.checkDataTypeWithEncoding(dataTypes.get(i), 
encodings.get(i));
       }
 
+      // create time series in MTree
+      measurementMNodeList =
+          mtree.createAlignedTimeseries(
+              prefixPath,
+              measurements,
+              plan.getDataTypes(),
+              plan.getEncodings(),
+              plan.getCompressors(),
+              plan.getAliasList());
+
       // update statistics and schemaDataTypeNumMap
       regionStatistics.addTimeseries(seriesCount);
 
@@ -788,9 +751,6 @@ public class SchemaRegionMemoryImpl implements 
ISchemaRegion {
     removeFromTagInvertedIndex(measurementMNode);
 
     regionStatistics.deleteTimeseries(1L);
-    if (seriesNumberMonitor != null) {
-      seriesNumberMonitor.deleteTimeSeries(1);
-    }
   }
 
   private void recoverRollbackPreDeleteTimeseries(PartialPath path) throws 
MetadataException {
@@ -805,9 +765,6 @@ public class SchemaRegionMemoryImpl implements 
ISchemaRegion {
     removeFromTagInvertedIndex(measurementMNode);
 
     regionStatistics.deleteTimeseries(1L);
-    if (seriesNumberMonitor != null) {
-      seriesNumberMonitor.deleteTimeSeries(1);
-    }
   }
   // endregion
 
diff --git 
a/server/src/main/java/org/apache/iotdb/db/metadata/schemaregion/SchemaRegionParams.java
 
b/server/src/main/java/org/apache/iotdb/db/metadata/schemaregion/SchemaRegionParams.java
index 02813c8cc5..87dfd092e0 100644
--- 
a/server/src/main/java/org/apache/iotdb/db/metadata/schemaregion/SchemaRegionParams.java
+++ 
b/server/src/main/java/org/apache/iotdb/db/metadata/schemaregion/SchemaRegionParams.java
@@ -22,7 +22,6 @@ package org.apache.iotdb.db.metadata.schemaregion;
 import org.apache.iotdb.commons.consensus.SchemaRegionId;
 import org.apache.iotdb.commons.path.PartialPath;
 import org.apache.iotdb.db.metadata.rescon.ISchemaEngineStatistics;
-import org.apache.iotdb.external.api.ISeriesNumerMonitor;
 
 public class SchemaRegionParams implements ISchemaRegionParams {
 
@@ -32,17 +31,13 @@ public class SchemaRegionParams implements 
ISchemaRegionParams {
 
   private final ISchemaEngineStatistics schemaEngineStatistics;
 
-  private final ISeriesNumerMonitor seriesNumberMonitor;
-
   public SchemaRegionParams(
       PartialPath database,
       SchemaRegionId schemaRegionId,
-      ISchemaEngineStatistics schemaEngineStatistics,
-      ISeriesNumerMonitor seriesNumberMonitor) {
+      ISchemaEngineStatistics schemaEngineStatistics) {
     this.database = database;
     this.schemaRegionId = schemaRegionId;
     this.schemaEngineStatistics = schemaEngineStatistics;
-    this.seriesNumberMonitor = seriesNumberMonitor;
   }
 
   @Override
@@ -59,9 +54,4 @@ public class SchemaRegionParams implements 
ISchemaRegionParams {
   public ISchemaEngineStatistics getSchemaEngineStatistics() {
     return schemaEngineStatistics;
   }
-
-  @Override
-  public ISeriesNumerMonitor getSeriesNumberMonitor() {
-    return seriesNumberMonitor;
-  }
 }
diff --git 
a/server/src/main/java/org/apache/iotdb/db/metadata/schemaregion/SchemaRegionSchemaFileImpl.java
 
b/server/src/main/java/org/apache/iotdb/db/metadata/schemaregion/SchemaRegionSchemaFileImpl.java
index 98ecde5d4e..804447ab87 100644
--- 
a/server/src/main/java/org/apache/iotdb/db/metadata/schemaregion/SchemaRegionSchemaFileImpl.java
+++ 
b/server/src/main/java/org/apache/iotdb/db/metadata/schemaregion/SchemaRegionSchemaFileImpl.java
@@ -30,7 +30,6 @@ import org.apache.iotdb.db.conf.IoTDBDescriptor;
 import org.apache.iotdb.db.exception.metadata.AliasAlreadyExistException;
 import org.apache.iotdb.db.exception.metadata.PathAlreadyExistException;
 import 
org.apache.iotdb.db.exception.metadata.SchemaDirCreationFailureException;
-import org.apache.iotdb.db.exception.metadata.SeriesNumberOverflowException;
 import org.apache.iotdb.db.exception.metadata.SeriesOverflowException;
 import org.apache.iotdb.db.metadata.MetadataConstant;
 import org.apache.iotdb.db.metadata.idtable.IDTable;
@@ -78,7 +77,6 @@ import 
org.apache.iotdb.db.metadata.rescon.MemSchemaRegionStatistics;
 import org.apache.iotdb.db.metadata.tag.TagManager;
 import org.apache.iotdb.db.metadata.template.Template;
 import org.apache.iotdb.db.utils.SchemaUtils;
-import org.apache.iotdb.external.api.ISeriesNumerMonitor;
 import org.apache.iotdb.tsfile.file.metadata.enums.CompressionType;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSEncoding;
@@ -155,9 +153,6 @@ public class SchemaRegionSchemaFileImpl implements 
ISchemaRegion {
   private MTreeBelowSGCachedImpl mtree;
   private TagManager tagManager;
 
-  // seriesNumberMonitor may be null
-  private final ISeriesNumerMonitor seriesNumerMonitor;
-
   // region Interfaces and Implementation of initialization、snapshot、recover 
and clear
   public SchemaRegionSchemaFileImpl(ISchemaRegionParams schemaRegionParams)
       throws MetadataException {
@@ -167,8 +162,6 @@ public class SchemaRegionSchemaFileImpl implements 
ISchemaRegion {
 
     storageGroupDirPath = config.getSchemaDir() + File.separator + 
storageGroupFullPath;
     schemaRegionDirPath = storageGroupDirPath + File.separator + 
schemaRegionId.getId();
-
-    this.seriesNumerMonitor = schemaRegionParams.getSeriesNumberMonitor();
     this.regionStatistics =
         new CachedSchemaRegionStatistics(
             schemaRegionId.getId(), 
schemaRegionParams.getSchemaEngineStatistics());
@@ -449,12 +442,6 @@ public class SchemaRegionSchemaFileImpl implements 
ISchemaRegion {
 
   @Override
   public synchronized void deleteSchemaRegion() throws MetadataException {
-    // collect all the LeafMNode in this schema region
-    long seriesCount = regionStatistics.getSeriesNumber();
-    if (seriesNumerMonitor != null) {
-      seriesNumerMonitor.deleteTimeSeries((int) seriesCount);
-    }
-
     // clear all the components and release all the file handlers
     clear();
 
@@ -602,37 +589,25 @@ public class SchemaRegionSchemaFileImpl implements 
ISchemaRegion {
       }
     }
 
-    if (seriesNumerMonitor != null && !seriesNumerMonitor.addTimeSeries(1)) {
-      throw new SeriesNumberOverflowException();
-    }
     schemaQuotaManager.checkMeasurementLevel(1);
 
     try {
       PartialPath path = plan.getPath();
       IMeasurementMNode leafMNode;
-      // using try-catch to restore seriesNumberMonitor's state while create 
failed
-      try {
-        SchemaUtils.checkDataTypeWithEncoding(plan.getDataType(), 
plan.getEncoding());
-
-        TSDataType type = plan.getDataType();
-        // create time series in MTree
-        leafMNode =
-            mtree.createTimeseriesWithPinnedReturn(
-                path,
-                type,
-                plan.getEncoding(),
-                plan.getCompressor(),
-                plan.getProps(),
-                plan.getAlias());
-      } catch (Throwable t) {
-        if (seriesNumerMonitor != null) {
-          seriesNumerMonitor.deleteTimeSeries(1);
-        }
-        throw t;
-      }
+      SchemaUtils.checkDataTypeWithEncoding(plan.getDataType(), 
plan.getEncoding());
+
+      TSDataType type = plan.getDataType();
+      // create time series in MTree
+      leafMNode =
+          mtree.createTimeseriesWithPinnedReturn(
+              path,
+              type,
+              plan.getEncoding(),
+              plan.getCompressor(),
+              plan.getProps(),
+              plan.getAlias());
 
       try {
-
         // update statistics and schemaDataTypeNumMap
         regionStatistics.addTimeseries(1L);
 
@@ -724,10 +699,6 @@ public class SchemaRegionSchemaFileImpl implements 
ISchemaRegion {
         throw new SeriesOverflowException();
       }
     }
-
-    if (seriesNumerMonitor != null && 
!seriesNumerMonitor.addTimeSeries(seriesCount)) {
-      throw new SeriesNumberOverflowException();
-    }
     schemaQuotaManager.checkMeasurementLevel(seriesCount);
 
     try {
@@ -738,28 +709,20 @@ public class SchemaRegionSchemaFileImpl implements 
ISchemaRegion {
       List<Map<String, String>> tagsList = plan.getTagsList();
       List<Map<String, String>> attributesList = plan.getAttributesList();
       List<IMeasurementMNode> measurementMNodeList;
-      // using try-catch to restore seriesNumberMonitor's state while create 
failed
-      try {
-        for (int i = 0; i < measurements.size(); i++) {
-          SchemaUtils.checkDataTypeWithEncoding(dataTypes.get(i), 
encodings.get(i));
-        }
-
-        // create time series in MTree
-        measurementMNodeList =
-            mtree.createAlignedTimeseries(
-                prefixPath,
-                measurements,
-                plan.getDataTypes(),
-                plan.getEncodings(),
-                plan.getCompressors(),
-                plan.getAliasList());
-      } catch (Throwable t) {
-        if (seriesNumerMonitor != null) {
-          seriesNumerMonitor.deleteTimeSeries(seriesCount);
-        }
-        throw t;
+      for (int i = 0; i < measurements.size(); i++) {
+        SchemaUtils.checkDataTypeWithEncoding(dataTypes.get(i), 
encodings.get(i));
       }
 
+      // create time series in MTree
+      measurementMNodeList =
+          mtree.createAlignedTimeseries(
+              prefixPath,
+              measurements,
+              plan.getDataTypes(),
+              plan.getEncodings(),
+              plan.getCompressors(),
+              plan.getAliasList());
+
       try {
 
         // update statistics and schemaDataTypeNumMap
@@ -906,9 +869,6 @@ public class SchemaRegionSchemaFileImpl implements 
ISchemaRegion {
     removeFromTagInvertedIndex(measurementMNode);
 
     regionStatistics.deleteTimeseries(1L);
-    if (seriesNumerMonitor != null) {
-      seriesNumerMonitor.deleteTimeSeries(1);
-    }
   }
 
   private void recoverRollbackPreDeleteTimeseries(PartialPath path) throws 
MetadataException {
@@ -922,9 +882,6 @@ public class SchemaRegionSchemaFileImpl implements 
ISchemaRegion {
     removeFromTagInvertedIndex(measurementMNode);
 
     regionStatistics.deleteTimeseries(1L);
-    if (seriesNumerMonitor != null) {
-      seriesNumerMonitor.deleteTimeSeries(1);
-    }
   }
   // endregion
 

Reply via email to