This is an automated email from the ASF dual-hosted git repository. jackietien pushed a commit to branch ty/sonar in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit 86a47c4c2a2f8f827ab8c426c89b4d68f504a262 Author: JackieTien97 <[email protected]> AuthorDate: Mon Jun 19 15:05:31 2023 +0800 server/src/main/java/org/apache/iotdb/db/mpp/statistics done --- .../db/mpp/exception/CpuNotEnoughException.java | 1 + .../db/mpp/exception/MemoryNotEnoughException.java | 1 + .../db/mpp/execution/operator/AggregationUtil.java | 15 +++++--------- .../db/mpp/plan/planner/OperatorTreeGenerator.java | 8 +++----- .../iotdb/db/mpp/statistics/StatisticsManager.java | 10 +-------- .../iotdb/db/mpp/statistics/TimeseriesStats.java | 24 ---------------------- 6 files changed, 11 insertions(+), 48 deletions(-) diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/exception/CpuNotEnoughException.java b/server/src/main/java/org/apache/iotdb/db/mpp/exception/CpuNotEnoughException.java index e0040e7e627..4c06d0209f4 100644 --- a/server/src/main/java/org/apache/iotdb/db/mpp/exception/CpuNotEnoughException.java +++ b/server/src/main/java/org/apache/iotdb/db/mpp/exception/CpuNotEnoughException.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.iotdb.db.mpp.exception; import org.apache.iotdb.commons.exception.IoTDBException; diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/exception/MemoryNotEnoughException.java b/server/src/main/java/org/apache/iotdb/db/mpp/exception/MemoryNotEnoughException.java index 7c5f4803e31..d57cdf65b94 100644 --- a/server/src/main/java/org/apache/iotdb/db/mpp/exception/MemoryNotEnoughException.java +++ b/server/src/main/java/org/apache/iotdb/db/mpp/exception/MemoryNotEnoughException.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.iotdb.db.mpp.exception; import org.apache.iotdb.commons.exception.IoTDBException; diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/AggregationUtil.java b/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/AggregationUtil.java index 586ff48be35..0eade1b82fe 100644 --- a/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/AggregationUtil.java +++ b/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/AggregationUtil.java @@ -19,7 +19,6 @@ package org.apache.iotdb.db.mpp.execution.operator; -import org.apache.iotdb.commons.path.PartialPath; import org.apache.iotdb.db.mpp.aggregation.Aggregator; import org.apache.iotdb.db.mpp.aggregation.timerangeiterator.ITimeRangeIterator; import org.apache.iotdb.db.mpp.aggregation.timerangeiterator.SingleTimeWindowIterator; @@ -196,9 +195,7 @@ public class AggregationUtil { .map(typeProvider::getType) .collect(Collectors.toList()); for (TSDataType tsDataType : outPutDataTypes) { - // TODO modify after statistics finish - PartialPath mockSeriesPath = new PartialPath(); - timeValueColumnsSizePerLine += getOutputColumnSizePerLine(tsDataType, mockSeriesPath); + timeValueColumnsSizePerLine += getOutputColumnSizePerLine(tsDataType); } } @@ -210,21 +207,19 @@ public class AggregationUtil { * timeValueColumnsSizePerLine); } - public static long calculateMaxAggregationResultSizeForLastQuery( - List<Aggregator> aggregators, PartialPath inputSeriesPath) { + public static long calculateMaxAggregationResultSizeForLastQuery(List<Aggregator> aggregators) { long timeValueColumnsSizePerLine = TimeColumn.SIZE_IN_BYTES_PER_POSITION; List<TSDataType> outPutDataTypes = aggregators.stream() .flatMap(aggregator -> Arrays.stream(aggregator.getOutputType())) .collect(Collectors.toList()); for (TSDataType tsDataType : outPutDataTypes) { - timeValueColumnsSizePerLine += getOutputColumnSizePerLine(tsDataType, inputSeriesPath); + timeValueColumnsSizePerLine += getOutputColumnSizePerLine(tsDataType); } return timeValueColumnsSizePerLine; } - private static long getOutputColumnSizePerLine( - TSDataType tsDataType, PartialPath inputSeriesPath) { + private static long getOutputColumnSizePerLine(TSDataType tsDataType) { switch (tsDataType) { case INT32: return IntColumn.SIZE_IN_BYTES_PER_POSITION; @@ -237,7 +232,7 @@ public class AggregationUtil { case BOOLEAN: return BooleanColumn.SIZE_IN_BYTES_PER_POSITION; case TEXT: - return StatisticsManager.getInstance().getMaxBinarySizeInBytes(inputSeriesPath); + return StatisticsManager.getInstance().getMaxBinarySizeInBytes(); default: throw new UnsupportedOperationException("Unknown data type " + tsDataType); } diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/OperatorTreeGenerator.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/OperatorTreeGenerator.java index 9273acd3361..0c2d75b35f3 100644 --- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/OperatorTreeGenerator.java +++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/OperatorTreeGenerator.java @@ -1782,7 +1782,7 @@ public class OperatorTreeGenerator extends PlanVisitor<Operator, LocalExecutionP case BOOLEAN: return Byte.BYTES; case TEXT: - return StatisticsManager.getInstance().getMaxBinarySizeInBytes(new PartialPath()); + return StatisticsManager.getInstance().getMaxBinarySizeInBytes(); default: throw new UnsupportedOperationException("Unknown data type " + tsDataType); } @@ -2097,9 +2097,7 @@ public class OperatorTreeGenerator extends PlanVisitor<Operator, LocalExecutionP // last_time, last_value List<Aggregator> aggregators = LastQueryUtil.createAggregators(seriesPath.getSeriesType()); ITimeRangeIterator timeRangeIterator = initTimeRangeIterator(null, false, false); - long maxReturnSize = - calculateMaxAggregationResultSizeForLastQuery( - aggregators, seriesPath.transformToPartialPath()); + long maxReturnSize = calculateMaxAggregationResultSizeForLastQuery(aggregators); SeriesScanOptions.Builder scanOptionsBuilder = new SeriesScanOptions.Builder(); scanOptionsBuilder.withAllSensors( @@ -2223,7 +2221,7 @@ public class OperatorTreeGenerator extends PlanVisitor<Operator, LocalExecutionP LastQueryUtil.createAggregators(unCachedPath.getSchemaList().get(i).getType(), i)); } ITimeRangeIterator timeRangeIterator = initTimeRangeIterator(null, false, false); - long maxReturnSize = calculateMaxAggregationResultSizeForLastQuery(aggregators, unCachedPath); + long maxReturnSize = calculateMaxAggregationResultSizeForLastQuery(aggregators); Filter timeFilter = context.getLastQueryTimeFilter(); SeriesScanOptions.Builder scanOptionsBuilder = new SeriesScanOptions.Builder(); diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/statistics/StatisticsManager.java b/server/src/main/java/org/apache/iotdb/db/mpp/statistics/StatisticsManager.java index 225a36504ae..78ea19fb6b7 100644 --- a/server/src/main/java/org/apache/iotdb/db/mpp/statistics/StatisticsManager.java +++ b/server/src/main/java/org/apache/iotdb/db/mpp/statistics/StatisticsManager.java @@ -19,17 +19,9 @@ package org.apache.iotdb.db.mpp.statistics; -import org.apache.iotdb.commons.path.PartialPath; - -import com.google.common.collect.Maps; - -import java.util.Map; - public class StatisticsManager { - private final Map<PartialPath, TimeseriesStats> seriesToStatsMap = Maps.newConcurrentMap(); - - public long getMaxBinarySizeInBytes(PartialPath path) { + public long getMaxBinarySizeInBytes() { return 512L * Byte.BYTES; } diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/statistics/TimeseriesStats.java b/server/src/main/java/org/apache/iotdb/db/mpp/statistics/TimeseriesStats.java deleted file mode 100644 index 509341d3d5b..00000000000 --- a/server/src/main/java/org/apache/iotdb/db/mpp/statistics/TimeseriesStats.java +++ /dev/null @@ -1,24 +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.mpp.statistics; - -public class TimeseriesStats { - // TODO collect time series statistics -}
