You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by xi...@apache.org on 2021/11/09 02:46:33 UTC
[iotdb] 01/01: MaxQueryDeduplicatedPathNum not take effect
This is an automated email from the ASF dual-hosted git repository.
xiangweiwei pushed a commit to branch toomanypaths
in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit 0a6ef29e6186dfd19340de7c541177b163cd115d
Author: Alima777 <wx...@gmail.com>
AuthorDate: Tue Nov 9 10:45:43 2021 +0800
MaxQueryDeduplicatedPathNum not take effect
---
.../iotdb/db/exception/query/PathNumOverLimitException.java | 6 ++++--
.../iotdb/db/qp/strategy/optimizer/ConcatPathOptimizer.java | 10 +++++-----
2 files changed, 9 insertions(+), 7 deletions(-)
diff --git a/server/src/main/java/org/apache/iotdb/db/exception/query/PathNumOverLimitException.java b/server/src/main/java/org/apache/iotdb/db/exception/query/PathNumOverLimitException.java
index c4eb10f..c9efadf 100644
--- a/server/src/main/java/org/apache/iotdb/db/exception/query/PathNumOverLimitException.java
+++ b/server/src/main/java/org/apache/iotdb/db/exception/query/PathNumOverLimitException.java
@@ -19,12 +19,14 @@
package org.apache.iotdb.db.exception.query;
+import org.apache.iotdb.db.conf.IoTDBDescriptor;
+
public class PathNumOverLimitException extends QueryProcessException {
- public PathNumOverLimitException(long maxDeduplicatedPathNum) {
+ public PathNumOverLimitException() {
super(
String.format(
"Too many paths in one query! Currently allowed max deduplicated path number is %d. Please use slimit or adjust max_deduplicated_path_num in iotdb-engine.properties.",
- maxDeduplicatedPathNum));
+ IoTDBDescriptor.getInstance().getConfig().getMaxQueryDeduplicatedPathNum()));
}
}
diff --git a/server/src/main/java/org/apache/iotdb/db/qp/strategy/optimizer/ConcatPathOptimizer.java b/server/src/main/java/org/apache/iotdb/db/qp/strategy/optimizer/ConcatPathOptimizer.java
index 0a03ea6..9427a21 100644
--- a/server/src/main/java/org/apache/iotdb/db/qp/strategy/optimizer/ConcatPathOptimizer.java
+++ b/server/src/main/java/org/apache/iotdb/db/qp/strategy/optimizer/ConcatPathOptimizer.java
@@ -445,14 +445,14 @@ public class ConcatPathOptimizer implements ILogicalOptimizer {
}
}
+ if (newSuffixPathList.size()
+ > IoTDBDescriptor.getInstance().getConfig().getMaxQueryDeduplicatedPathNum()) {
+ throw new PathNumOverLimitException();
+ }
if (limit == 0) {
- int maxDeduplicatedPathNum =
- IoTDBDescriptor.getInstance().getConfig().getMaxQueryDeduplicatedPathNum();
- if (maxDeduplicatedPathNum < newSuffixPathList.size()) {
- throw new PathNumOverLimitException(maxDeduplicatedPathNum);
- }
break;
}
+
} catch (MetadataException e) {
throw new LogicalOptimizeException("error when remove star: " + e.getMessage());
}