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 <[email protected]>
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());
       }

Reply via email to