This is an automated email from the ASF dual-hosted git repository. xiangweiwei pushed a commit to branch clusterVector in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit e0b7dbe283f2aedc2e38ff7c678286174a575d3e Author: Alima777 <[email protected]> AuthorDate: Mon Oct 18 11:11:46 2021 +0800 reimplement raw data query without value filter --- .../iotdb/cluster/query/LocalQueryExecutor.java | 19 ++++++------------- .../cluster/query/reader/ClusterReaderFactory.java | 18 +++++++----------- thrift-cluster/src/main/thrift/cluster.thrift | 2 +- 3 files changed, 14 insertions(+), 25 deletions(-) diff --git a/cluster/src/main/java/org/apache/iotdb/cluster/query/LocalQueryExecutor.java b/cluster/src/main/java/org/apache/iotdb/cluster/query/LocalQueryExecutor.java index 32677d4..0bba460 100644 --- a/cluster/src/main/java/org/apache/iotdb/cluster/query/LocalQueryExecutor.java +++ b/cluster/src/main/java/org/apache/iotdb/cluster/query/LocalQueryExecutor.java @@ -304,23 +304,16 @@ public class LocalQueryExecutor { request .getPath() .forEach( - fullPath -> { + path -> { try { - System.out.println("After RPC: " + fullPath); - if (fullPath.startsWith("VP$")) { - String[] array = fullPath.split(":"); - String vectorId = array[0].replace("VP$", ""); - System.out.println("After RPC: " + vectorId); - List<String> subSensorsList = new ArrayList<>(); - for (int i = 1; i < array.length; i++) { - subSensorsList.add(array[i]); - } - paths.add(new VectorPartialPath(vectorId, subSensorsList)); + if (path.size() == 1) { + paths.add(new PartialPath(path.get(0))); } else { - paths.add(new PartialPath(fullPath)); + List<String> subSensorsList = path.subList(1, path.size()); + paths.add(new VectorPartialPath(path.get(0), subSensorsList)); } } catch (IllegalPathException e) { - logger.warn("Failed to create partial path, fullPath is {}.", fullPath, e); + logger.warn("Failed to create partial path, fullPath is {}.", path, e); } }); diff --git a/cluster/src/main/java/org/apache/iotdb/cluster/query/reader/ClusterReaderFactory.java b/cluster/src/main/java/org/apache/iotdb/cluster/query/reader/ClusterReaderFactory.java index d55c510..ecb0f29 100644 --- a/cluster/src/main/java/org/apache/iotdb/cluster/query/reader/ClusterReaderFactory.java +++ b/cluster/src/main/java/org/apache/iotdb/cluster/query/reader/ClusterReaderFactory.java @@ -704,21 +704,17 @@ public class ClusterReaderFactory { request.setValueFilterBytes(SerializeUtils.serializeFilter(valueFilter)); } - List<String> fullPaths = Lists.newArrayList(); + List<List<String>> fullPaths = Lists.newArrayList(); paths.forEach( path -> { + // if vector path, add its vectorId and all sub sensors if (path instanceof VectorPartialPath) { - System.out.println("Before RPC" + path); - StringBuilder builder = new StringBuilder("VP$"); - builder.append(path.getFullPath()); - List<String> subSensorsList = ((VectorPartialPath) path).getSubSensorsList(); - for (String subSensor : subSensorsList) { - builder.append(":"); - builder.append(subSensor); - } - fullPaths.add(builder.toString()); + List<String> result = new ArrayList<>(); + result.add(path.getFullPath()); + result.addAll(((VectorPartialPath) path).getSubSensorsList()); + fullPaths.add(result); } else { - fullPaths.add(path.getFullPath()); + fullPaths.add(Collections.singletonList(path.getFullPath())); } }); diff --git a/thrift-cluster/src/main/thrift/cluster.thrift b/thrift-cluster/src/main/thrift/cluster.thrift index 755b806..cd859fd 100644 --- a/thrift-cluster/src/main/thrift/cluster.thrift +++ b/thrift-cluster/src/main/thrift/cluster.thrift @@ -199,7 +199,7 @@ struct SingleSeriesQueryRequest { } struct MultSeriesQueryRequest { - 1: required list<string> path + 1: required list<list<string>> path 2: optional binary timeFilterBytes 3: optional binary valueFilterBytes 4: required long queryId
