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))); } }
