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

haonan pushed a commit to branch rc/2.0.1
in repository https://gitbox.apache.org/repos/asf/iotdb.git

commit 3d91a9084157c258aa77cc138ab62fb7896e8d61
Author: Jackie Tien <[email protected]>
AuthorDate: Sat Nov 30 13:23:35 2024 +0800

    Add table series number in schema quota
---
 .../apache/iotdb/db/schemaengine/SchemaEngine.java | 45 ++++++++++------------
 1 file changed, 20 insertions(+), 25 deletions(-)

diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/SchemaEngine.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/SchemaEngine.java
index 76958eaf1d2..4f73a8707c1 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/SchemaEngine.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/SchemaEngine.java
@@ -388,31 +388,28 @@ public class SchemaEngine {
                     && 
SchemaRegionConsensusImpl.getInstance().isLeader(entry.getKey()))
         .forEach(
             entry ->
-                timeSeriesNum.put(
-                    entry.getKey().getId(),
-                    
entry.getValue().getSchemaRegionStatistics().getSeriesNumber(false)
-                        + entry
-                            .getValue()
-                            .getSchemaRegionStatistics()
-                            .getTable2DevicesNumMap()
-                            .entrySet()
-                            .stream()
-                            .map(
-                                tableEntry -> {
-                                  final TsTable table =
-                                      DataNodeTableCache.getInstance()
-                                          .getTable(
-                                              PathUtils.unQualifyDatabaseName(
-                                                  
entry.getValue().getDatabaseFullPath()),
-                                              tableEntry.getKey());
-                                  return Objects.nonNull(table)
-                                      ? table.getMeasurementNum() * 
tableEntry.getValue()
-                                      : 0;
-                                })
-                            .reduce(0L, Long::sum)));
+                timeSeriesNum.put(entry.getKey().getId(), 
getTimeSeriesNumber(entry.getValue())));
     return timeSeriesNum;
   }
 
+  // not including view number
+  private long getTimeSeriesNumber(ISchemaRegion schemaRegion) {
+    return schemaRegion.getSchemaRegionStatistics().getSeriesNumber(false)
+        + 
schemaRegion.getSchemaRegionStatistics().getTable2DevicesNumMap().entrySet().stream()
+            .map(
+                tableEntry -> {
+                  final TsTable table =
+                      DataNodeTableCache.getInstance()
+                          .getTable(
+                              
PathUtils.unQualifyDatabaseName(schemaRegion.getDatabaseFullPath()),
+                              tableEntry.getKey());
+                  return Objects.nonNull(table)
+                      ? table.getMeasurementNum() * tableEntry.getValue()
+                      : 0;
+                })
+            .reduce(0L, Long::sum);
+  }
+
   /**
    * Update total count in schema quota manager and generate local count map 
response. If limit is
    * not -1 and deviceNumMap/timeSeriesNumMap is null, fill 
deviceNumMap/timeSeriesNumMap of the
@@ -459,9 +456,7 @@ public class SchemaEngine {
                   tmp.put(
                       consensusGroupId.getId(),
                       
Optional.ofNullable(schemaRegionMap.get(consensusGroupId))
-                          .map(
-                              schemaRegion ->
-                                  
schemaRegion.getSchemaRegionStatistics().getSeriesNumber(false))
+                          .map(this::getTimeSeriesNumber)
                           .orElse(0L)));
     }
   }

Reply via email to