This is an automated email from the ASF dual-hosted git repository.
xiangweiwei pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/iotdb.git
The following commit(s) were added to refs/heads/master by this push:
new c461f65 [IOTDB-2195] Control the concurrent query execution thread -
Part 1 (#4660)
c461f65 is described below
commit c461f65edcb9f47a305cf0e16517c1001e6b0f54
Author: Xiangwei Wei <[email protected]>
AuthorDate: Thu Dec 30 11:35:38 2021 +0800
[IOTDB-2195] Control the concurrent query execution thread - Part 1 (#4660)
---
.../apache/iotdb/db/qp/physical/PhysicalPlan.java | 13 +-
.../iotdb/db/qp/physical/crud/AggregationPlan.java | 2 +-
.../db/qp/physical/crud/DeletePartitionPlan.java | 2 +-
.../iotdb/db/qp/physical/crud/DeletePlan.java | 6 +-
.../iotdb/db/qp/physical/crud/InsertPlan.java | 2 +-
.../iotdb/db/qp/physical/crud/LastQueryPlan.java | 8 +-
.../iotdb/db/qp/physical/crud/QueryIndexPlan.java | 2 +-
.../iotdb/db/qp/physical/crud/QueryPlan.java | 18 +-
.../db/qp/physical/crud/RawDataQueryPlan.java | 5 -
.../iotdb/db/qp/physical/crud/SelectIntoPlan.java | 4 +-
.../apache/iotdb/db/qp/physical/crud/UDTFPlan.java | 2 +-
.../db/qp/physical/sys/ActivateTemplatePlan.java | 4 +-
.../db/qp/physical/sys/AlterTimeSeriesPlan.java | 4 +-
.../db/qp/physical/sys/AppendTemplatePlan.java | 6 +-
.../iotdb/db/qp/physical/sys/AuthorPlan.java | 4 +-
.../qp/physical/sys/AutoCreateDeviceMNodePlan.java | 8 +-
.../iotdb/db/qp/physical/sys/ChangeAliasPlan.java | 4 +-
.../db/qp/physical/sys/ChangeTagOffsetPlan.java | 4 +-
.../iotdb/db/qp/physical/sys/ClearCachePlan.java | 2 +-
.../physical/sys/CreateAlignedTimeSeriesPlan.java | 4 +-
.../qp/physical/sys/CreateContinuousQueryPlan.java | 7 +-
.../db/qp/physical/sys/CreateFunctionPlan.java | 4 +-
.../iotdb/db/qp/physical/sys/CreateIndexPlan.java | 4 +-
.../qp/physical/sys/CreateMultiTimeSeriesPlan.java | 2 +-
.../db/qp/physical/sys/CreateSnapshotPlan.java | 2 +-
.../db/qp/physical/sys/CreateTemplatePlan.java | 6 +-
.../db/qp/physical/sys/CreateTimeSeriesPlan.java | 4 +-
.../db/qp/physical/sys/CreateTriggerPlan.java | 4 +-
.../iotdb/db/qp/physical/sys/DataAuthPlan.java | 4 +-
.../db/qp/physical/sys/DeleteStorageGroupPlan.java | 4 +-
.../db/qp/physical/sys/DeleteTimeSeriesPlan.java | 4 +-
.../qp/physical/sys/DropContinuousQueryPlan.java | 4 +-
.../iotdb/db/qp/physical/sys/DropFunctionPlan.java | 4 +-
.../iotdb/db/qp/physical/sys/DropIndexPlan.java | 4 +-
.../iotdb/db/qp/physical/sys/DropTriggerPlan.java | 4 +-
.../apache/iotdb/db/qp/physical/sys/FlushPlan.java | 6 +-
.../iotdb/db/qp/physical/sys/KillQueryPlan.java | 2 +-
.../db/qp/physical/sys/LoadConfigurationPlan.java | 6 +-
.../iotdb/db/qp/physical/sys/LoadDataPlan.java | 2 +-
.../apache/iotdb/db/qp/physical/sys/LogPlan.java | 6 +-
.../apache/iotdb/db/qp/physical/sys/MNodePlan.java | 12 +-
.../db/qp/physical/sys/MeasurementMNodePlan.java | 4 +-
.../apache/iotdb/db/qp/physical/sys/MergePlan.java | 4 +-
.../iotdb/db/qp/physical/sys/OperateFilePlan.java | 6 +-
.../db/qp/physical/sys/PruneTemplatePlan.java | 4 +-
.../db/qp/physical/sys/SetStorageGroupPlan.java | 4 +-
.../db/qp/physical/sys/SetSystemModePlan.java | 4 +-
.../iotdb/db/qp/physical/sys/SetTTLPlan.java | 4 +-
.../iotdb/db/qp/physical/sys/SetTemplatePlan.java | 4 +-
.../iotdb/db/qp/physical/sys/SettlePlan.java | 4 +-
.../apache/iotdb/db/qp/physical/sys/ShowPlan.java | 4 +-
.../iotdb/db/qp/physical/sys/StartTriggerPlan.java | 4 +-
.../iotdb/db/qp/physical/sys/StopTriggerPlan.java | 4 +-
.../db/qp/physical/sys/StorageGroupMNodePlan.java | 4 +-
.../iotdb/db/qp/physical/sys/TracingPlan.java | 2 +-
.../db/qp/physical/sys/UnsetTemplatePlan.java | 4 +-
.../db/query/control/tracing/TracingManager.java | 4 +-
.../db/service/thrift/impl/TSServiceImpl.java | 245 +++++++++++----------
58 files changed, 255 insertions(+), 253 deletions(-)
diff --git
a/server/src/main/java/org/apache/iotdb/db/qp/physical/PhysicalPlan.java
b/server/src/main/java/org/apache/iotdb/db/qp/physical/PhysicalPlan.java
index f77021a..52244ba 100644
--- a/server/src/main/java/org/apache/iotdb/db/qp/physical/PhysicalPlan.java
+++ b/server/src/main/java/org/apache/iotdb/db/qp/physical/PhysicalPlan.java
@@ -90,7 +90,7 @@ public abstract class PhysicalPlan {
private static final String SERIALIZATION_UNIMPLEMENTED = "serialization
unimplemented";
- private boolean isQuery;
+ private boolean isQuery = false;
private Operator.OperatorType operatorType;
private static final int NULL_VALUE_LEN = -1;
@@ -110,19 +110,12 @@ public abstract class PhysicalPlan {
return canBeSplit;
}
- protected PhysicalPlan(boolean isQuery) {
- this.isQuery = isQuery;
- }
+ protected PhysicalPlan() {}
- protected PhysicalPlan(boolean isQuery, Operator.OperatorType operatorType) {
- this.isQuery = isQuery;
+ protected PhysicalPlan(Operator.OperatorType operatorType) {
this.operatorType = operatorType;
}
- public String printQueryPlan() {
- return "abstract plan";
- }
-
public abstract List<? extends PartialPath> getPaths();
public void setPaths(List<PartialPath> paths) {}
diff --git
a/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/AggregationPlan.java
b/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/AggregationPlan.java
index 6083605..c81e12e 100644
---
a/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/AggregationPlan.java
+++
b/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/AggregationPlan.java
@@ -81,7 +81,7 @@ public class AggregationPlan extends RawDataQueryPlan {
@Override
public List<TSDataType> getWideQueryHeaders(
- List<String> respColumns, List<String> respSgColumns, Boolean
isJdbcQuery, BitSet aliasList)
+ List<String> respColumns, List<String> respSgColumns, boolean
isJdbcQuery, BitSet aliasList)
throws MetadataException {
List<TSDataType> seriesTypes = new ArrayList<>();
List<String> aggregations = getAggregations();
diff --git
a/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/DeletePartitionPlan.java
b/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/DeletePartitionPlan.java
index 55d2832..14107d1 100644
---
a/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/DeletePartitionPlan.java
+++
b/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/DeletePartitionPlan.java
@@ -33,7 +33,7 @@ public class DeletePartitionPlan extends PhysicalPlan {
private Set<Long> partitionId;
public DeletePartitionPlan(PartialPath storageGroupName, Set<Long>
partitionId) {
- super(false, OperatorType.DELETE_PARTITION);
+ super(OperatorType.DELETE_PARTITION);
this.storageGroupName = storageGroupName;
this.partitionId = partitionId;
}
diff --git
a/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/DeletePlan.java
b/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/DeletePlan.java
index a3005c5..0a6cae9 100644
--- a/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/DeletePlan.java
+++ b/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/DeletePlan.java
@@ -44,7 +44,7 @@ public class DeletePlan extends PhysicalPlan {
private TimePartitionFilter partitionFilter;
public DeletePlan() {
- super(false, Operator.OperatorType.DELETE);
+ super(Operator.OperatorType.DELETE);
}
/**
@@ -55,7 +55,7 @@ public class DeletePlan extends PhysicalPlan {
* @param path time series path
*/
public DeletePlan(long startTime, long endTime, PartialPath path) {
- super(false, Operator.OperatorType.DELETE);
+ super(Operator.OperatorType.DELETE);
this.deleteStartTime = startTime;
this.deleteEndTime = endTime;
this.paths.add(path);
@@ -69,7 +69,7 @@ public class DeletePlan extends PhysicalPlan {
* @param paths time series paths in List structure
*/
public DeletePlan(long startTime, long endTime, List<PartialPath> paths) {
- super(false, Operator.OperatorType.DELETE);
+ super(Operator.OperatorType.DELETE);
this.deleteStartTime = startTime;
this.deleteEndTime = endTime;
this.paths = paths;
diff --git
a/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/InsertPlan.java
b/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/InsertPlan.java
index 1d0f5af..34e9c0a 100644
--- a/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/InsertPlan.java
+++ b/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/InsertPlan.java
@@ -46,7 +46,7 @@ public abstract class InsertPlan extends PhysicalPlan {
List<Integer> failedIndices;
public InsertPlan(Operator.OperatorType operatorType) {
- super(false, operatorType);
+ super(operatorType);
super.canBeSplit = false;
}
diff --git
a/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/LastQueryPlan.java
b/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/LastQueryPlan.java
index b2028bf..9ddcaae 100644
---
a/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/LastQueryPlan.java
+++
b/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/LastQueryPlan.java
@@ -35,7 +35,11 @@ import org.apache.iotdb.tsfile.read.filter.basic.Filter;
import org.apache.thrift.TException;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.BitSet;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
public class LastQueryPlan extends RawDataQueryPlan {
@@ -66,7 +70,7 @@ public class LastQueryPlan extends RawDataQueryPlan {
@Override
public List<TSDataType> getWideQueryHeaders(
- List<String> respColumns, List<String> respSgColumns, Boolean
isJdbcQuery, BitSet aliasList)
+ List<String> respColumns, List<String> respSgColumns, boolean
isJdbcQuery, BitSet aliasList)
throws TException {
throw new TException("unsupported query type: " + getOperatorType());
}
diff --git
a/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/QueryIndexPlan.java
b/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/QueryIndexPlan.java
index 8ff816f..9d37dc0 100644
---
a/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/QueryIndexPlan.java
+++
b/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/QueryIndexPlan.java
@@ -41,7 +41,7 @@ public class QueryIndexPlan extends RawDataQueryPlan {
@Override
public List<TSDataType> getWideQueryHeaders(
- List<String> respColumns, List<String> respSgColumns, Boolean
isJdbcQuery, BitSet aliasList)
+ List<String> respColumns, List<String> respSgColumns, boolean
isJdbcQuery, BitSet aliasList)
throws TException {
throw new TException("unsupported query type: " + getOperatorType());
}
diff --git
a/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/QueryPlan.java
b/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/QueryPlan.java
index d8dd931..6b46014 100644
--- a/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/QueryPlan.java
+++ b/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/QueryPlan.java
@@ -35,7 +35,11 @@ import
org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
import com.google.common.primitives.Bytes;
import org.apache.thrift.TException;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.BitSet;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
public abstract class QueryPlan extends PhysicalPlan {
@@ -61,16 +65,13 @@ public abstract class QueryPlan extends PhysicalPlan {
private boolean withoutAllNull;
public QueryPlan() {
- super(true);
- setOperatorType(Operator.OperatorType.QUERY);
- }
-
- public QueryPlan(boolean isQuery, Operator.OperatorType operatorType) {
- super(isQuery, operatorType);
+ super(Operator.OperatorType.QUERY);
+ setQuery(true);
}
public abstract void deduplicate(PhysicalGenerator physicalGenerator) throws
MetadataException;
+ /** Construct the header of result set. Return TSExecuteStatementResp. */
public TSExecuteStatementResp getTSExecuteStatementResp(boolean isJdbcQuery)
throws TException, MetadataException {
List<String> respColumns = new ArrayList<>();
@@ -97,11 +98,12 @@ public abstract class QueryPlan extends PhysicalPlan {
}
public List<TSDataType> getWideQueryHeaders(
- List<String> respColumns, List<String> respSgColumns, Boolean
isJdbcQuery, BitSet aliasList)
+ List<String> respColumns, List<String> respSgColumns, boolean
isJdbcQuery, BitSet aliasList)
throws TException, MetadataException {
List<TSDataType> seriesTypes = new ArrayList<>();
for (int i = 0; i < resultColumns.size(); ++i) {
if (isJdbcQuery) {
+ // Separate sgName from the name of resultColumn to reduce the network
IO
String sgName =
IoTDB.metaManager.getBelongedStorageGroup(getPaths().get(i)).getFullPath();
respSgColumns.add(sgName);
if (resultColumns.get(i).getAlias() == null) {
diff --git
a/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/RawDataQueryPlan.java
b/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/RawDataQueryPlan.java
index 0f63271..2d1aa1d 100644
---
a/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/RawDataQueryPlan.java
+++
b/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/RawDataQueryPlan.java
@@ -22,7 +22,6 @@ import
org.apache.iotdb.db.exception.metadata.MetadataException;
import org.apache.iotdb.db.exception.query.QueryProcessException;
import org.apache.iotdb.db.metadata.path.AlignedPath;
import org.apache.iotdb.db.metadata.path.PartialPath;
-import org.apache.iotdb.db.qp.logical.Operator;
import org.apache.iotdb.db.qp.strategy.PhysicalGenerator;
import org.apache.iotdb.db.utils.SchemaUtils;
import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
@@ -53,10 +52,6 @@ public class RawDataQueryPlan extends QueryPlan {
super();
}
- public RawDataQueryPlan(boolean isQuery, Operator.OperatorType operatorType)
{
- super(isQuery, operatorType);
- }
-
@Override
public void deduplicate(PhysicalGenerator physicalGenerator) throws
MetadataException {
// sort paths by device, to accelerate the metadata read process
diff --git
a/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/SelectIntoPlan.java
b/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/SelectIntoPlan.java
index 2530e97..2221e6c 100644
---
a/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/SelectIntoPlan.java
+++
b/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/SelectIntoPlan.java
@@ -38,11 +38,11 @@ public class SelectIntoPlan extends PhysicalPlan {
private List<PartialPath> intoPaths;
public SelectIntoPlan() {
- super(false, OperatorType.SELECT_INTO);
+ super(OperatorType.SELECT_INTO);
}
public SelectIntoPlan(QueryPlan queryPlan, PartialPath fromPath,
List<PartialPath> intoPaths) {
- super(false, OperatorType.SELECT_INTO);
+ super(OperatorType.SELECT_INTO);
this.queryPlan = queryPlan;
this.fromPath = fromPath;
this.intoPaths = intoPaths;
diff --git
a/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/UDTFPlan.java
b/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/UDTFPlan.java
index 37c46e3..401512a 100644
--- a/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/UDTFPlan.java
+++ b/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/UDTFPlan.java
@@ -91,7 +91,7 @@ public class UDTFPlan extends RawDataQueryPlan implements
UDFPlan {
@Override
public List<TSDataType> getWideQueryHeaders(
- List<String> respColumns, List<String> respSgColumns, Boolean
isJdbcQuery, BitSet aliasList) {
+ List<String> respColumns, List<String> respSgColumns, boolean
isJdbcQuery, BitSet aliasList) {
List<TSDataType> seriesTypes = new ArrayList<>();
for (int i = 0; i < paths.size(); i++) {
respColumns.add(resultColumns.get(i).getResultColumnName());
diff --git
a/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/ActivateTemplatePlan.java
b/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/ActivateTemplatePlan.java
index 89bba22..92878f2 100644
---
a/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/ActivateTemplatePlan.java
+++
b/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/ActivateTemplatePlan.java
@@ -39,11 +39,11 @@ public class ActivateTemplatePlan extends PhysicalPlan {
PartialPath prefixPath;
public ActivateTemplatePlan() {
- super(false, OperatorType.ACTIVATE_TEMPLATE);
+ super(OperatorType.ACTIVATE_TEMPLATE);
}
public ActivateTemplatePlan(PartialPath prefixPath) {
- super(false, OperatorType.ACTIVATE_TEMPLATE);
+ super(OperatorType.ACTIVATE_TEMPLATE);
this.prefixPath = prefixPath;
}
diff --git
a/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/AlterTimeSeriesPlan.java
b/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/AlterTimeSeriesPlan.java
index 66cc2bb..5580d95 100644
---
a/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/AlterTimeSeriesPlan.java
+++
b/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/AlterTimeSeriesPlan.java
@@ -62,7 +62,7 @@ public class AlterTimeSeriesPlan extends PhysicalPlan {
/** used only for deserialize */
public AlterTimeSeriesPlan() {
- super(false, OperatorType.ALTER_TIMESERIES);
+ super(OperatorType.ALTER_TIMESERIES);
}
public AlterTimeSeriesPlan(
@@ -72,7 +72,7 @@ public class AlterTimeSeriesPlan extends PhysicalPlan {
String alias,
Map<String, String> tagsMap,
Map<String, String> attributesMap) {
- super(false, Operator.OperatorType.ALTER_TIMESERIES);
+ super(Operator.OperatorType.ALTER_TIMESERIES);
this.path = path;
this.alterType = alterType;
this.alterMap = alterMap;
diff --git
a/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/AppendTemplatePlan.java
b/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/AppendTemplatePlan.java
index aa6bf80..5e9287d 100644
---
a/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/AppendTemplatePlan.java
+++
b/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/AppendTemplatePlan.java
@@ -43,7 +43,7 @@ public class AppendTemplatePlan extends PhysicalPlan {
CompressionType[] compressors;
public AppendTemplatePlan() {
- super(false, OperatorType.APPEND_TEMPLATE);
+ super(OperatorType.APPEND_TEMPLATE);
}
public AppendTemplatePlan(
@@ -53,7 +53,7 @@ public class AppendTemplatePlan extends PhysicalPlan {
List<TSDataType> dataTypes,
List<TSEncoding> encodings,
List<CompressionType> compressors) {
- super(false, OperatorType.APPEND_TEMPLATE);
+ super(OperatorType.APPEND_TEMPLATE);
this.name = name;
this.isAligned = isAligned;
this.measurements = measurements.toArray(new String[0]);
@@ -69,7 +69,7 @@ public class AppendTemplatePlan extends PhysicalPlan {
TSDataType[] dataTypes,
TSEncoding[] encodings,
CompressionType[] compressors) {
- super(false, OperatorType.APPEND_TEMPLATE);
+ super(OperatorType.APPEND_TEMPLATE);
this.name = name;
this.isAligned = isAligned;
this.measurements = measurements;
diff --git
a/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/AuthorPlan.java
b/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/AuthorPlan.java
index e70ae88..4d22d4e 100644
--- a/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/AuthorPlan.java
+++ b/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/AuthorPlan.java
@@ -68,7 +68,7 @@ public class AuthorPlan extends PhysicalPlan {
String[] authorizationList,
PartialPath nodeName)
throws AuthException {
- super(false, Operator.OperatorType.AUTHOR);
+ super(Operator.OperatorType.AUTHOR);
this.authorType = authorType;
this.userName = userName;
this.roleName = roleName;
@@ -139,7 +139,7 @@ public class AuthorPlan extends PhysicalPlan {
}
public AuthorPlan(OperatorType operatorType) throws IOException {
- super(false, operatorType);
+ super(operatorType);
setAuthorType(transformOperatorTypeToAuthorType(operatorType));
}
diff --git
a/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/AutoCreateDeviceMNodePlan.java
b/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/AutoCreateDeviceMNodePlan.java
index 8b434c9..24d0724 100644
---
a/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/AutoCreateDeviceMNodePlan.java
+++
b/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/AutoCreateDeviceMNodePlan.java
@@ -39,18 +39,14 @@ public class AutoCreateDeviceMNodePlan extends PhysicalPlan
{
protected PartialPath path;
public AutoCreateDeviceMNodePlan() {
- super(false, Operator.OperatorType.AUTO_CREATE_DEVICE_MNODE);
+ super(Operator.OperatorType.AUTO_CREATE_DEVICE_MNODE);
}
public AutoCreateDeviceMNodePlan(PartialPath path) {
- super(false, Operator.OperatorType.AUTO_CREATE_DEVICE_MNODE);
+ super(Operator.OperatorType.AUTO_CREATE_DEVICE_MNODE);
this.path = path;
}
- public AutoCreateDeviceMNodePlan(boolean isQuery, Operator.OperatorType
operatorType) {
- super(isQuery, operatorType);
- }
-
@Override
public List<PartialPath> getPaths() {
return Collections.singletonList(path);
diff --git
a/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/ChangeAliasPlan.java
b/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/ChangeAliasPlan.java
index 426131e..8cfdb02 100644
---
a/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/ChangeAliasPlan.java
+++
b/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/ChangeAliasPlan.java
@@ -36,11 +36,11 @@ public class ChangeAliasPlan extends PhysicalPlan {
private String alias;
public ChangeAliasPlan() {
- super(false, Operator.OperatorType.CHANGE_ALIAS);
+ super(Operator.OperatorType.CHANGE_ALIAS);
}
public ChangeAliasPlan(PartialPath path, String alias) {
- super(false, Operator.OperatorType.CHANGE_ALIAS);
+ super(Operator.OperatorType.CHANGE_ALIAS);
this.path = path;
this.alias = alias;
}
diff --git
a/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/ChangeTagOffsetPlan.java
b/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/ChangeTagOffsetPlan.java
index f00743a..a0c1872 100644
---
a/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/ChangeTagOffsetPlan.java
+++
b/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/ChangeTagOffsetPlan.java
@@ -36,11 +36,11 @@ public class ChangeTagOffsetPlan extends PhysicalPlan {
private long offset;
public ChangeTagOffsetPlan() {
- super(false, Operator.OperatorType.CHANGE_TAG_OFFSET);
+ super(Operator.OperatorType.CHANGE_TAG_OFFSET);
}
public ChangeTagOffsetPlan(PartialPath partialPath, long offset) {
- super(false, Operator.OperatorType.CHANGE_TAG_OFFSET);
+ super(Operator.OperatorType.CHANGE_TAG_OFFSET);
path = partialPath;
this.offset = offset;
}
diff --git
a/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/ClearCachePlan.java
b/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/ClearCachePlan.java
index 9cfa70c..b9d018d 100644
---
a/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/ClearCachePlan.java
+++
b/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/ClearCachePlan.java
@@ -32,7 +32,7 @@ import java.util.List;
public class ClearCachePlan extends PhysicalPlan {
public ClearCachePlan() {
- super(false, OperatorType.CLEAR_CACHE);
+ super(OperatorType.CLEAR_CACHE);
}
@Override
diff --git
a/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/CreateAlignedTimeSeriesPlan.java
b/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/CreateAlignedTimeSeriesPlan.java
index 238abd9..b02a98e 100644
---
a/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/CreateAlignedTimeSeriesPlan.java
+++
b/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/CreateAlignedTimeSeriesPlan.java
@@ -50,7 +50,7 @@ public class CreateAlignedTimeSeriesPlan extends PhysicalPlan
{
private List<String> aliasList;
public CreateAlignedTimeSeriesPlan() {
- super(false, Operator.OperatorType.CREATE_ALIGNED_TIMESERIES);
+ super(Operator.OperatorType.CREATE_ALIGNED_TIMESERIES);
canBeSplit = false;
}
@@ -61,7 +61,7 @@ public class CreateAlignedTimeSeriesPlan extends PhysicalPlan
{
List<TSEncoding> encodings,
List<CompressionType> compressors,
List<String> aliasList) {
- super(false, Operator.OperatorType.CREATE_ALIGNED_TIMESERIES);
+ super(Operator.OperatorType.CREATE_ALIGNED_TIMESERIES);
this.prefixPath = prefixPath;
this.measurements = measurements;
this.dataTypes = dataTypes;
diff --git
a/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/CreateContinuousQueryPlan.java
b/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/CreateContinuousQueryPlan.java
index 2a30b2e..42dcc9e 100644
---
a/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/CreateContinuousQueryPlan.java
+++
b/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/CreateContinuousQueryPlan.java
@@ -28,7 +28,8 @@ import org.apache.iotdb.db.qp.utils.DatetimeUtils;
import org.apache.iotdb.tsfile.utils.ReadWriteIOUtils;
import java.nio.ByteBuffer;
-import java.util.*;
+import java.util.Collections;
+import java.util.List;
public class CreateContinuousQueryPlan extends PhysicalPlan {
@@ -41,7 +42,7 @@ public class CreateContinuousQueryPlan extends PhysicalPlan {
private long creationTimestamp;
public CreateContinuousQueryPlan() {
- super(false, Operator.OperatorType.CREATE_CONTINUOUS_QUERY);
+ super(Operator.OperatorType.CREATE_CONTINUOUS_QUERY);
}
public CreateContinuousQueryPlan(
@@ -51,7 +52,7 @@ public class CreateContinuousQueryPlan extends PhysicalPlan {
long everyInterval,
long forInterval,
QueryOperator queryOperator) {
- super(false, Operator.OperatorType.CREATE_CONTINUOUS_QUERY);
+ super(Operator.OperatorType.CREATE_CONTINUOUS_QUERY);
this.querySql = querySql;
this.continuousQueryName = continuousQueryName;
this.targetPath = targetPath;
diff --git
a/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/CreateFunctionPlan.java
b/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/CreateFunctionPlan.java
index dadb89e..0a0cd6a 100644
---
a/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/CreateFunctionPlan.java
+++
b/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/CreateFunctionPlan.java
@@ -36,11 +36,11 @@ public class CreateFunctionPlan extends PhysicalPlan {
private String className;
public CreateFunctionPlan() {
- super(false, OperatorType.CREATE_FUNCTION);
+ super(OperatorType.CREATE_FUNCTION);
}
public CreateFunctionPlan(String udfName, String className) {
- super(false, OperatorType.CREATE_FUNCTION);
+ super(OperatorType.CREATE_FUNCTION);
this.udfName = udfName;
this.className = className;
}
diff --git
a/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/CreateIndexPlan.java
b/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/CreateIndexPlan.java
index 0e6beab..4d60934 100644
---
a/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/CreateIndexPlan.java
+++
b/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/CreateIndexPlan.java
@@ -41,13 +41,13 @@ public class CreateIndexPlan extends PhysicalPlan {
private IndexType indexType;
public CreateIndexPlan() {
- super(false, OperatorType.CREATE_INDEX);
+ super(OperatorType.CREATE_INDEX);
canBeSplit = false;
}
public CreateIndexPlan(
List<PartialPath> paths, Map<String, String> props, long startTime,
IndexType indexType) {
- super(false, OperatorType.CREATE_INDEX);
+ super(OperatorType.CREATE_INDEX);
this.paths = paths;
this.props = props;
time = startTime;
diff --git
a/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/CreateMultiTimeSeriesPlan.java
b/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/CreateMultiTimeSeriesPlan.java
index 1c734d8..38c323c 100644
---
a/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/CreateMultiTimeSeriesPlan.java
+++
b/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/CreateMultiTimeSeriesPlan.java
@@ -65,7 +65,7 @@ public class CreateMultiTimeSeriesPlan extends PhysicalPlan
implements BatchPlan
private List<Integer> indexes;
public CreateMultiTimeSeriesPlan() {
- super(false, Operator.OperatorType.CREATE_MULTI_TIMESERIES);
+ super(Operator.OperatorType.CREATE_MULTI_TIMESERIES);
}
@Override
diff --git
a/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/CreateSnapshotPlan.java
b/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/CreateSnapshotPlan.java
index b2e51ca..5e950be 100644
---
a/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/CreateSnapshotPlan.java
+++
b/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/CreateSnapshotPlan.java
@@ -33,7 +33,7 @@ import java.util.List;
public class CreateSnapshotPlan extends PhysicalPlan {
public CreateSnapshotPlan() {
- super(false, OperatorType.CREATE_SCHEMA_SNAPSHOT);
+ super(OperatorType.CREATE_SCHEMA_SNAPSHOT);
}
@Override
diff --git
a/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/CreateTemplatePlan.java
b/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/CreateTemplatePlan.java
index 49804e8..b05030b 100644
---
a/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/CreateTemplatePlan.java
+++
b/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/CreateTemplatePlan.java
@@ -55,7 +55,7 @@ public class CreateTemplatePlan extends PhysicalPlan {
private static final int NEW_PLAN = -1;
public CreateTemplatePlan() {
- super(false, OperatorType.CREATE_TEMPLATE);
+ super(OperatorType.CREATE_TEMPLATE);
}
public CreateTemplatePlan(
@@ -66,7 +66,7 @@ public class CreateTemplatePlan extends PhysicalPlan {
List<List<CompressionType>> compressors) {
// New constructor for tree-structured template where aligned measurements
get individual
// compressors
- super(false, OperatorType.CREATE_TEMPLATE);
+ super(OperatorType.CREATE_TEMPLATE);
this.name = name;
schemaNames = null;
@@ -134,7 +134,7 @@ public class CreateTemplatePlan extends PhysicalPlan {
TSDataType[][] dataTypes,
TSEncoding[][] encodings,
CompressionType[][] compressors) {
- super(false, OperatorType.CREATE_TEMPLATE);
+ super(OperatorType.CREATE_TEMPLATE);
this.name = name;
this.schemaNames = null;
this.measurements = measurements;
diff --git
a/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/CreateTimeSeriesPlan.java
b/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/CreateTimeSeriesPlan.java
index 8bfd44e..aceae26 100644
---
a/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/CreateTimeSeriesPlan.java
+++
b/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/CreateTimeSeriesPlan.java
@@ -49,7 +49,7 @@ public class CreateTimeSeriesPlan extends PhysicalPlan {
private long tagOffset = -1;
public CreateTimeSeriesPlan() {
- super(false, Operator.OperatorType.CREATE_TIMESERIES);
+ super(Operator.OperatorType.CREATE_TIMESERIES);
canBeSplit = false;
}
@@ -62,7 +62,7 @@ public class CreateTimeSeriesPlan extends PhysicalPlan {
Map<String, String> tags,
Map<String, String> attributes,
String alias) {
- super(false, Operator.OperatorType.CREATE_TIMESERIES);
+ super(Operator.OperatorType.CREATE_TIMESERIES);
this.path = path;
this.dataType = dataType;
this.encoding = encoding;
diff --git
a/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/CreateTriggerPlan.java
b/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/CreateTriggerPlan.java
index 8cc5bf2..2b34d85 100644
---
a/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/CreateTriggerPlan.java
+++
b/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/CreateTriggerPlan.java
@@ -55,7 +55,7 @@ public class CreateTriggerPlan extends PhysicalPlan {
private boolean isStopped = false;
public CreateTriggerPlan() {
- super(false, OperatorType.CREATE_TRIGGER);
+ super(OperatorType.CREATE_TRIGGER);
canBeSplit = false;
}
@@ -65,7 +65,7 @@ public class CreateTriggerPlan extends PhysicalPlan {
PartialPath fullPath,
String className,
Map<String, String> attributes) {
- super(false, OperatorType.CREATE_TRIGGER);
+ super(OperatorType.CREATE_TRIGGER);
this.triggerName = triggerName;
this.event = event;
this.fullPath = fullPath;
diff --git
a/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/DataAuthPlan.java
b/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/DataAuthPlan.java
index 0e0d474..8f1cc93 100644
--- a/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/DataAuthPlan.java
+++ b/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/DataAuthPlan.java
@@ -34,11 +34,11 @@ public class DataAuthPlan extends PhysicalPlan {
private List<String> users;
public DataAuthPlan(OperatorType operatorType) {
- super(false, operatorType);
+ super(operatorType);
}
public DataAuthPlan(OperatorType operatorType, List<String> users) {
- super(false, operatorType);
+ super(operatorType);
this.users = users;
}
diff --git
a/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/DeleteStorageGroupPlan.java
b/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/DeleteStorageGroupPlan.java
index 4ba3a3f..f6ac296 100644
---
a/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/DeleteStorageGroupPlan.java
+++
b/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/DeleteStorageGroupPlan.java
@@ -34,12 +34,12 @@ public class DeleteStorageGroupPlan extends PhysicalPlan {
private List<PartialPath> deletePathList;
public DeleteStorageGroupPlan(List<PartialPath> deletePathList) {
- super(false, Operator.OperatorType.DELETE_STORAGE_GROUP);
+ super(Operator.OperatorType.DELETE_STORAGE_GROUP);
this.deletePathList = deletePathList;
}
public DeleteStorageGroupPlan() {
- super(false, Operator.OperatorType.DELETE_STORAGE_GROUP);
+ super(Operator.OperatorType.DELETE_STORAGE_GROUP);
}
@Override
diff --git
a/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/DeleteTimeSeriesPlan.java
b/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/DeleteTimeSeriesPlan.java
index 6289709..a6e8237 100644
---
a/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/DeleteTimeSeriesPlan.java
+++
b/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/DeleteTimeSeriesPlan.java
@@ -46,12 +46,12 @@ public class DeleteTimeSeriesPlan extends PhysicalPlan {
private TimePartitionFilter partitionFilter;
public DeleteTimeSeriesPlan(List<PartialPath> deletePathList) {
- super(false, Operator.OperatorType.DELETE_TIMESERIES);
+ super(Operator.OperatorType.DELETE_TIMESERIES);
this.deletePathList = deletePathList;
}
public DeleteTimeSeriesPlan() {
- super(false, Operator.OperatorType.DELETE_TIMESERIES);
+ super(Operator.OperatorType.DELETE_TIMESERIES);
}
@Override
diff --git
a/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/DropContinuousQueryPlan.java
b/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/DropContinuousQueryPlan.java
index 7d60f26..463b03c 100644
---
a/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/DropContinuousQueryPlan.java
+++
b/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/DropContinuousQueryPlan.java
@@ -33,11 +33,11 @@ public class DropContinuousQueryPlan extends PhysicalPlan {
private String continuousQueryName;
public DropContinuousQueryPlan() {
- super(false, Operator.OperatorType.DROP_CONTINUOUS_QUERY);
+ super(Operator.OperatorType.DROP_CONTINUOUS_QUERY);
}
public DropContinuousQueryPlan(String continuousQueryName) {
- super(false, Operator.OperatorType.DROP_CONTINUOUS_QUERY);
+ super(Operator.OperatorType.DROP_CONTINUOUS_QUERY);
this.continuousQueryName = continuousQueryName;
}
diff --git
a/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/DropFunctionPlan.java
b/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/DropFunctionPlan.java
index 436b7e7..8a60fb5 100644
---
a/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/DropFunctionPlan.java
+++
b/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/DropFunctionPlan.java
@@ -35,11 +35,11 @@ public class DropFunctionPlan extends PhysicalPlan {
private String udfName;
public DropFunctionPlan() {
- super(false, OperatorType.DROP_FUNCTION);
+ super(OperatorType.DROP_FUNCTION);
}
public DropFunctionPlan(String udfName) {
- super(false, OperatorType.DROP_FUNCTION);
+ super(OperatorType.DROP_FUNCTION);
this.udfName = udfName;
}
diff --git
a/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/DropIndexPlan.java
b/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/DropIndexPlan.java
index d49ec29..a40697d 100644
---
a/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/DropIndexPlan.java
+++
b/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/DropIndexPlan.java
@@ -38,11 +38,11 @@ public class DropIndexPlan extends PhysicalPlan {
private IndexType indexType;
public DropIndexPlan() {
- super(false, Operator.OperatorType.DROP_INDEX);
+ super(Operator.OperatorType.DROP_INDEX);
}
public DropIndexPlan(List<PartialPath> paths, IndexType indexType) {
- super(false, OperatorType.DROP_INDEX);
+ super(OperatorType.DROP_INDEX);
this.paths = paths;
this.indexType = indexType;
}
diff --git
a/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/DropTriggerPlan.java
b/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/DropTriggerPlan.java
index f4cc22a..8f19a36 100644
---
a/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/DropTriggerPlan.java
+++
b/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/DropTriggerPlan.java
@@ -35,12 +35,12 @@ public class DropTriggerPlan extends PhysicalPlan {
private String triggerName;
public DropTriggerPlan() {
- super(false, OperatorType.DROP_TRIGGER);
+ super(OperatorType.DROP_TRIGGER);
canBeSplit = false;
}
public DropTriggerPlan(String triggerName) {
- super(false, OperatorType.DROP_TRIGGER);
+ super(OperatorType.DROP_TRIGGER);
this.triggerName = triggerName;
canBeSplit = false;
}
diff --git
a/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/FlushPlan.java
b/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/FlushPlan.java
index acd9354..12f8e14 100644
--- a/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/FlushPlan.java
+++ b/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/FlushPlan.java
@@ -57,11 +57,11 @@ public class FlushPlan extends PhysicalPlan {
/** only for deserialize */
public FlushPlan() {
- super(false, OperatorType.FLUSH);
+ super(OperatorType.FLUSH);
}
public FlushPlan(Boolean isSeq, List<PartialPath> storageGroups) {
- super(false, OperatorType.FLUSH);
+ super(OperatorType.FLUSH);
if (storageGroups == null) {
this.storageGroupPartitionIds = null;
} else {
@@ -78,7 +78,7 @@ public class FlushPlan extends PhysicalPlan {
Boolean isSeq,
boolean isSync,
Map<PartialPath, List<Pair<Long, Boolean>>> storageGroupPartitionIds) {
- super(false, OperatorType.FLUSH);
+ super(OperatorType.FLUSH);
this.storageGroupPartitionIds = storageGroupPartitionIds;
this.isSeq = isSeq;
this.isSync = isSync;
diff --git
a/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/KillQueryPlan.java
b/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/KillQueryPlan.java
index 583c96a..b9f2f2a 100644
---
a/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/KillQueryPlan.java
+++
b/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/KillQueryPlan.java
@@ -30,7 +30,7 @@ public class KillQueryPlan extends PhysicalPlan {
private long queryId = -1;
public KillQueryPlan(long queryId) {
- super(false, OperatorType.KILL);
+ super(OperatorType.KILL);
this.queryId = queryId;
}
diff --git
a/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/LoadConfigurationPlan.java
b/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/LoadConfigurationPlan.java
index 2ebcba0..c6f6c8b 100644
---
a/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/LoadConfigurationPlan.java
+++
b/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/LoadConfigurationPlan.java
@@ -45,7 +45,7 @@ public class LoadConfigurationPlan extends PhysicalPlan {
public LoadConfigurationPlan(
LoadConfigurationPlanType loadConfigurationPlanType, Properties[]
propertiesArray)
throws QueryProcessException {
- super(false, OperatorType.LOAD_CONFIGURATION);
+ super(OperatorType.LOAD_CONFIGURATION);
if (loadConfigurationPlanType != LoadConfigurationPlanType.GLOBAL) {
throw new QueryProcessException(
"The constructor with 2 parameters is for load global
configuration");
@@ -59,7 +59,7 @@ public class LoadConfigurationPlan extends PhysicalPlan {
public LoadConfigurationPlan(LoadConfigurationPlanType
loadConfigurationPlanType)
throws QueryProcessException {
- super(false, OperatorType.LOAD_CONFIGURATION);
+ super(OperatorType.LOAD_CONFIGURATION);
if (loadConfigurationPlanType != LoadConfigurationPlanType.LOCAL) {
throw new QueryProcessException(
"The constructor with 1 parameters is for load local configuration");
@@ -69,7 +69,7 @@ public class LoadConfigurationPlan extends PhysicalPlan {
// only for deserialize
public LoadConfigurationPlan() {
- super(false, OperatorType.LOAD_CONFIGURATION);
+ super(OperatorType.LOAD_CONFIGURATION);
}
@Override
diff --git
a/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/LoadDataPlan.java
b/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/LoadDataPlan.java
index 8300804..8b9d293 100644
--- a/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/LoadDataPlan.java
+++ b/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/LoadDataPlan.java
@@ -33,7 +33,7 @@ public class LoadDataPlan extends PhysicalPlan {
/** Constructor of LoadDataPlan. */
public LoadDataPlan(String inputFilePath, String measureType) {
- super(false, Operator.OperatorType.LOAD_DATA);
+ super(Operator.OperatorType.LOAD_DATA);
this.inputFilePath = inputFilePath;
this.measureType = measureType;
}
diff --git
a/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/LogPlan.java
b/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/LogPlan.java
index 55d9368..e6912ed 100644
--- a/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/LogPlan.java
+++ b/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/LogPlan.java
@@ -34,17 +34,13 @@ public class LogPlan extends PhysicalPlan {
private ByteBuffer log;
- public LogPlan() {
- super(false);
- }
+ public LogPlan() {}
public LogPlan(ByteBuffer log) {
- super(false);
this.log = log;
}
public LogPlan(LogPlan plan) {
- super(false);
this.log = IOUtils.clone(plan.log);
}
diff --git
a/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/MNodePlan.java
b/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/MNodePlan.java
index 6425b79..2bba63c 100644
--- a/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/MNodePlan.java
+++ b/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/MNodePlan.java
@@ -35,19 +35,19 @@ public class MNodePlan extends PhysicalPlan {
protected int childSize;
public MNodePlan() {
- super(false, Operator.OperatorType.MNODE);
+ super(Operator.OperatorType.MNODE);
+ }
+
+ public MNodePlan(Operator.OperatorType operatorType) {
+ super(operatorType);
}
public MNodePlan(String name, int childSize) {
- super(false, Operator.OperatorType.MNODE);
+ super(Operator.OperatorType.MNODE);
this.name = name;
this.childSize = childSize;
}
- public MNodePlan(boolean isQuery, Operator.OperatorType operatorType) {
- super(isQuery, operatorType);
- }
-
@Override
public List<PartialPath> getPaths() {
return new ArrayList<>();
diff --git
a/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/MeasurementMNodePlan.java
b/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/MeasurementMNodePlan.java
index efa98de..0671926 100644
---
a/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/MeasurementMNodePlan.java
+++
b/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/MeasurementMNodePlan.java
@@ -37,12 +37,12 @@ public class MeasurementMNodePlan extends MNodePlan {
private long offset;
public MeasurementMNodePlan() {
- super(false, Operator.OperatorType.MEASUREMENT_MNODE);
+ super(Operator.OperatorType.MEASUREMENT_MNODE);
}
public MeasurementMNodePlan(
String name, String alias, long offset, int childSize,
IMeasurementSchema schema) {
- super(false, Operator.OperatorType.MEASUREMENT_MNODE);
+ super(Operator.OperatorType.MEASUREMENT_MNODE);
this.name = name;
this.alias = alias;
this.offset = offset;
diff --git
a/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/MergePlan.java
b/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/MergePlan.java
index b219209..07a5b49 100644
--- a/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/MergePlan.java
+++ b/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/MergePlan.java
@@ -32,11 +32,11 @@ import java.util.List;
public class MergePlan extends PhysicalPlan {
public MergePlan(OperatorType operatorType) {
- super(false, operatorType);
+ super(operatorType);
}
public MergePlan() {
- super(false, OperatorType.MERGE);
+ super(OperatorType.MERGE);
}
@Override
diff --git
a/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/OperateFilePlan.java
b/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/OperateFilePlan.java
index 100aef1..aff6be9 100644
---
a/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/OperateFilePlan.java
+++
b/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/OperateFilePlan.java
@@ -35,7 +35,7 @@ public class OperateFilePlan extends PhysicalPlan {
private boolean verifyMetadata;
public OperateFilePlan(File file, OperatorType operatorType) {
- super(false, operatorType);
+ super(operatorType);
this.file = file;
}
@@ -54,7 +54,7 @@ public class OperateFilePlan extends PhysicalPlan {
boolean autoCreateSchema,
int sgLevel,
boolean verifyMetadata) {
- super(false, operatorType);
+ super(operatorType);
this.file = file;
this.autoCreateSchema = autoCreateSchema;
this.sgLevel = sgLevel;
@@ -62,7 +62,7 @@ public class OperateFilePlan extends PhysicalPlan {
}
public OperateFilePlan(File file, File targetDir, OperatorType operatorType)
{
- super(false, operatorType);
+ super(operatorType);
this.file = file;
this.targetDir = targetDir;
}
diff --git
a/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/PruneTemplatePlan.java
b/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/PruneTemplatePlan.java
index 1902908..ea6b878 100644
---
a/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/PruneTemplatePlan.java
+++
b/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/PruneTemplatePlan.java
@@ -36,11 +36,11 @@ public class PruneTemplatePlan extends PhysicalPlan {
String[] prunedMeasurements;
public PruneTemplatePlan() {
- super(false, OperatorType.PRUNE_TEMPLATE);
+ super(OperatorType.PRUNE_TEMPLATE);
}
public PruneTemplatePlan(String name, List<String> prunedMeasurements) {
- super(false, OperatorType.PRUNE_TEMPLATE);
+ super(OperatorType.PRUNE_TEMPLATE);
this.name = name;
this.prunedMeasurements = prunedMeasurements.toArray(new String[0]);
diff --git
a/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/SetStorageGroupPlan.java
b/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/SetStorageGroupPlan.java
index 5f6f24c..a9e85d3 100644
---
a/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/SetStorageGroupPlan.java
+++
b/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/SetStorageGroupPlan.java
@@ -35,11 +35,11 @@ public class SetStorageGroupPlan extends PhysicalPlan {
private PartialPath path;
public SetStorageGroupPlan() {
- super(false, Operator.OperatorType.SET_STORAGE_GROUP);
+ super(Operator.OperatorType.SET_STORAGE_GROUP);
}
public SetStorageGroupPlan(PartialPath path) {
- super(false, Operator.OperatorType.SET_STORAGE_GROUP);
+ super(Operator.OperatorType.SET_STORAGE_GROUP);
this.path = path;
}
diff --git
a/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/SetSystemModePlan.java
b/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/SetSystemModePlan.java
index c435b6f..e8fecaa 100644
---
a/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/SetSystemModePlan.java
+++
b/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/SetSystemModePlan.java
@@ -36,11 +36,11 @@ public class SetSystemModePlan extends PhysicalPlan {
private boolean isReadOnly;
public SetSystemModePlan() {
- super(false, OperatorType.SET_SYSTEM_MODE);
+ super(OperatorType.SET_SYSTEM_MODE);
}
public SetSystemModePlan(boolean isReadOnly) {
- super(false, OperatorType.SET_SYSTEM_MODE);
+ super(OperatorType.SET_SYSTEM_MODE);
this.isReadOnly = isReadOnly;
}
diff --git
a/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/SetTTLPlan.java
b/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/SetTTLPlan.java
index 4c09325..5247a73 100644
--- a/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/SetTTLPlan.java
+++ b/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/SetTTLPlan.java
@@ -36,12 +36,12 @@ public class SetTTLPlan extends PhysicalPlan {
private long dataTTL;
public SetTTLPlan() {
- super(false, OperatorType.TTL);
+ super(OperatorType.TTL);
}
public SetTTLPlan(PartialPath storageGroup, long dataTTL) {
// set TTL
- super(false, OperatorType.TTL);
+ super(OperatorType.TTL);
this.storageGroup = storageGroup;
this.dataTTL = dataTTL;
}
diff --git
a/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/SetTemplatePlan.java
b/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/SetTemplatePlan.java
index c1db1fe..2026b0d 100644
---
a/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/SetTemplatePlan.java
+++
b/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/SetTemplatePlan.java
@@ -34,11 +34,11 @@ public class SetTemplatePlan extends PhysicalPlan {
String prefixPath;
public SetTemplatePlan() {
- super(false, OperatorType.SET_TEMPLATE);
+ super(OperatorType.SET_TEMPLATE);
}
public SetTemplatePlan(String templateName, String prefixPath) {
- super(false, OperatorType.SET_TEMPLATE);
+ super(OperatorType.SET_TEMPLATE);
this.templateName = templateName;
this.prefixPath = prefixPath;
}
diff --git
a/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/SettlePlan.java
b/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/SettlePlan.java
index 99ccf78..52c9e74 100644
--- a/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/SettlePlan.java
+++ b/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/SettlePlan.java
@@ -31,13 +31,13 @@ public class SettlePlan extends PhysicalPlan {
boolean isSgPath;
public SettlePlan(PartialPath sgPath) {
- super(false, OperatorType.SETTLE);
+ super(OperatorType.SETTLE);
this.sgPath = sgPath;
setIsSgPath(true);
}
public SettlePlan(String tsFilePath) {
- super(false, OperatorType.SETTLE);
+ super(OperatorType.SETTLE);
this.tsFilePath = tsFilePath;
setIsSgPath(false);
}
diff --git
a/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/ShowPlan.java
b/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/ShowPlan.java
index 72abda1..9ee494f 100644
--- a/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/ShowPlan.java
+++ b/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/ShowPlan.java
@@ -35,9 +35,9 @@ public class ShowPlan extends PhysicalPlan {
private boolean hasLimit;
public ShowPlan(ShowContentType showContentType) {
- super(true);
+ super(OperatorType.SHOW);
+ setQuery(true);
this.showContentType = showContentType;
- setOperatorType(OperatorType.SHOW);
}
public ShowPlan(ShowContentType showContentType, PartialPath path) {
diff --git
a/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/StartTriggerPlan.java
b/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/StartTriggerPlan.java
index bf6ecf6..5a16b88 100644
---
a/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/StartTriggerPlan.java
+++
b/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/StartTriggerPlan.java
@@ -35,12 +35,12 @@ public class StartTriggerPlan extends PhysicalPlan {
private String triggerName;
public StartTriggerPlan() {
- super(false, OperatorType.START_TRIGGER);
+ super(OperatorType.START_TRIGGER);
canBeSplit = false;
}
public StartTriggerPlan(String triggerName) {
- super(false, OperatorType.START_TRIGGER);
+ super(OperatorType.START_TRIGGER);
this.triggerName = triggerName;
canBeSplit = false;
}
diff --git
a/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/StopTriggerPlan.java
b/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/StopTriggerPlan.java
index 78b44e9..f6008ca 100644
---
a/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/StopTriggerPlan.java
+++
b/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/StopTriggerPlan.java
@@ -35,12 +35,12 @@ public class StopTriggerPlan extends PhysicalPlan {
private String triggerName;
public StopTriggerPlan() {
- super(false, OperatorType.STOP_TRIGGER);
+ super(OperatorType.STOP_TRIGGER);
canBeSplit = false;
}
public StopTriggerPlan(String triggerName) {
- super(false, OperatorType.STOP_TRIGGER);
+ super(OperatorType.STOP_TRIGGER);
this.triggerName = triggerName;
canBeSplit = false;
}
diff --git
a/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/StorageGroupMNodePlan.java
b/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/StorageGroupMNodePlan.java
index 95a138c..03dde8c 100644
---
a/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/StorageGroupMNodePlan.java
+++
b/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/StorageGroupMNodePlan.java
@@ -35,11 +35,11 @@ public class StorageGroupMNodePlan extends MNodePlan {
private int alignedTimeseriesIndex;
public StorageGroupMNodePlan() {
- super(false, Operator.OperatorType.STORAGE_GROUP_MNODE);
+ super(Operator.OperatorType.STORAGE_GROUP_MNODE);
}
public StorageGroupMNodePlan(String name, long dataTTL, int childSize) {
- super(false, Operator.OperatorType.STORAGE_GROUP_MNODE);
+ super(Operator.OperatorType.STORAGE_GROUP_MNODE);
this.name = name;
this.dataTTL = dataTTL;
this.childSize = childSize;
diff --git
a/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/TracingPlan.java
b/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/TracingPlan.java
index 485f235..0e0f9fc 100644
--- a/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/TracingPlan.java
+++ b/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/TracingPlan.java
@@ -30,7 +30,7 @@ public class TracingPlan extends PhysicalPlan {
private boolean isTracingOn;
public TracingPlan(boolean isTracingOn) {
- super(false, OperatorType.TRACING);
+ super(OperatorType.TRACING);
this.isTracingOn = isTracingOn;
}
diff --git
a/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/UnsetTemplatePlan.java
b/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/UnsetTemplatePlan.java
index ca77ced..10ef156 100644
---
a/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/UnsetTemplatePlan.java
+++
b/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/UnsetTemplatePlan.java
@@ -36,11 +36,11 @@ public class UnsetTemplatePlan extends PhysicalPlan {
String templateName;
public UnsetTemplatePlan() {
- super(false, Operator.OperatorType.UNSET_TEMPLATE);
+ super(Operator.OperatorType.UNSET_TEMPLATE);
}
public UnsetTemplatePlan(String prefixPath, String templateName) {
- super(false, Operator.OperatorType.UNSET_TEMPLATE);
+ super(Operator.OperatorType.UNSET_TEMPLATE);
this.prefixPath = prefixPath;
this.templateName = templateName;
}
diff --git
a/server/src/main/java/org/apache/iotdb/db/query/control/tracing/TracingManager.java
b/server/src/main/java/org/apache/iotdb/db/query/control/tracing/TracingManager.java
index cbc76cf..68c62c9 100644
---
a/server/src/main/java/org/apache/iotdb/db/query/control/tracing/TracingManager.java
+++
b/server/src/main/java/org/apache/iotdb/db/query/control/tracing/TracingManager.java
@@ -61,8 +61,10 @@ public class TracingManager {
getTracingInfo(queryId).addOverlappedPageNum();
}
- public void setStartTime(long queryId, long startTime) {
+ public void setStartTime(long queryId, long startTime, String statement) {
getTracingInfo(queryId).setStartTime(startTime);
+ registerActivity(
+ queryId, String.format(TracingConstant.ACTIVITY_START_EXECUTE,
statement), startTime);
}
public void registerActivity(long queryId, String activity, long startTime) {
diff --git
a/server/src/main/java/org/apache/iotdb/db/service/thrift/impl/TSServiceImpl.java
b/server/src/main/java/org/apache/iotdb/db/service/thrift/impl/TSServiceImpl.java
index 1762ad6..24a103b 100644
---
a/server/src/main/java/org/apache/iotdb/db/service/thrift/impl/TSServiceImpl.java
+++
b/server/src/main/java/org/apache/iotdb/db/service/thrift/impl/TSServiceImpl.java
@@ -37,7 +37,6 @@ import org.apache.iotdb.db.metadata.path.PartialPath;
import org.apache.iotdb.db.metadata.template.TemplateQueryType;
import org.apache.iotdb.db.qp.logical.Operator.OperatorType;
import org.apache.iotdb.db.qp.physical.PhysicalPlan;
-import org.apache.iotdb.db.qp.physical.crud.AlignByDevicePlan;
import org.apache.iotdb.db.qp.physical.crud.DeletePlan;
import org.apache.iotdb.db.qp.physical.crud.InsertMultiTabletPlan;
import org.apache.iotdb.db.qp.physical.crud.InsertRowPlan;
@@ -48,7 +47,6 @@ import org.apache.iotdb.db.qp.physical.crud.QueryPlan;
import org.apache.iotdb.db.qp.physical.crud.SelectIntoPlan;
import org.apache.iotdb.db.qp.physical.crud.UDFPlan;
import org.apache.iotdb.db.qp.physical.sys.AppendTemplatePlan;
-import org.apache.iotdb.db.qp.physical.sys.AuthorPlan;
import org.apache.iotdb.db.qp.physical.sys.CreateAlignedTimeSeriesPlan;
import org.apache.iotdb.db.qp.physical.sys.CreateMultiTimeSeriesPlan;
import org.apache.iotdb.db.qp.physical.sys.CreateTemplatePlan;
@@ -58,12 +56,10 @@ import
org.apache.iotdb.db.qp.physical.sys.DeleteTimeSeriesPlan;
import org.apache.iotdb.db.qp.physical.sys.PruneTemplatePlan;
import org.apache.iotdb.db.qp.physical.sys.SetStorageGroupPlan;
import org.apache.iotdb.db.qp.physical.sys.SetTemplatePlan;
-import org.apache.iotdb.db.qp.physical.sys.ShowPlan;
import org.apache.iotdb.db.qp.physical.sys.ShowQueryProcesslistPlan;
import org.apache.iotdb.db.qp.physical.sys.UnsetTemplatePlan;
import org.apache.iotdb.db.query.context.QueryContext;
import org.apache.iotdb.db.query.control.tracing.TracingConstant;
-import org.apache.iotdb.db.query.dataset.AlignByDeviceDataSet;
import org.apache.iotdb.db.query.dataset.DirectAlignByTimeDataSet;
import org.apache.iotdb.db.query.dataset.DirectNonAlignDataSet;
import org.apache.iotdb.db.service.IoTDB;
@@ -158,8 +154,6 @@ public class TSServiceImpl extends BasicServiceProvider
implements TSIService.If
private static final String INFO_INTERRUPT_ERROR =
"Current Thread interrupted when dealing with request {}";
- private long startTime = -1L;
-
public TSServiceImpl() throws QueryProcessException {
super();
}
@@ -452,13 +446,12 @@ public class TSServiceImpl extends BasicServiceProvider
implements TSIService.If
@Override
public TSExecuteStatementResp executeStatement(TSExecuteStatementReq req) {
String statement = req.getStatement();
- startTime = System.currentTimeMillis();
-
try {
if (!checkLogin(req.getSessionId())) {
return RpcUtils.getTSExecuteStatementResp(getNotLoggedInStatus());
}
+ long startTime = System.currentTimeMillis();
PhysicalPlan physicalPlan =
processor.parseSQLToPhysicalPlan(statement,
sessionManager.getZoneId(req.getSessionId()));
@@ -468,6 +461,7 @@ public class TSServiceImpl extends BasicServiceProvider
implements TSIService.If
req.statementId,
physicalPlan,
req.fetchSize,
+ startTime,
req.timeout,
req.getSessionId(),
req.isEnableRedirectQuery(),
@@ -497,6 +491,7 @@ public class TSServiceImpl extends BasicServiceProvider
implements TSIService.If
return RpcUtils.getTSExecuteStatementResp(getNotLoggedInStatus());
}
+ long startTime = System.currentTimeMillis();
String statement = req.getStatement();
PhysicalPlan physicalPlan =
processor.parseSQLToPhysicalPlan(statement,
sessionManager.getZoneId(req.sessionId));
@@ -507,6 +502,7 @@ public class TSServiceImpl extends BasicServiceProvider
implements TSIService.If
req.statementId,
physicalPlan,
req.fetchSize,
+ startTime,
req.timeout,
req.getSessionId(),
req.isEnableRedirectQuery(),
@@ -533,6 +529,7 @@ public class TSServiceImpl extends BasicServiceProvider
implements TSIService.If
return RpcUtils.getTSExecuteStatementResp(getNotLoggedInStatus());
}
+ long startTime = System.currentTimeMillis();
PhysicalPlan physicalPlan =
processor.rawDataQueryReqToPhysicalPlan(req,
sessionManager.getZoneId(req.sessionId));
return physicalPlan.isQuery()
@@ -541,6 +538,7 @@ public class TSServiceImpl extends BasicServiceProvider
implements TSIService.If
req.statementId,
physicalPlan,
req.fetchSize,
+ startTime,
CONFIG.getQueryTimeoutThreshold(),
req.sessionId,
req.isEnableRedirectQuery(),
@@ -565,6 +563,7 @@ public class TSServiceImpl extends BasicServiceProvider
implements TSIService.If
return RpcUtils.getTSExecuteStatementResp(getNotLoggedInStatus());
}
+ long startTime = System.currentTimeMillis();
PhysicalPlan physicalPlan =
processor.lastDataQueryReqToPhysicalPlan(req,
sessionManager.getZoneId(req.sessionId));
return physicalPlan.isQuery()
@@ -573,6 +572,7 @@ public class TSServiceImpl extends BasicServiceProvider
implements TSIService.If
req.statementId,
physicalPlan,
req.fetchSize,
+ startTime,
CONFIG.getQueryTimeoutThreshold(),
req.sessionId,
req.isEnableRedirectQuery(),
@@ -591,8 +591,9 @@ public class TSServiceImpl extends BasicServiceProvider
implements TSIService.If
}
/**
- * @param plan must be a plan for Query: FillQueryPlan, AggregationPlan,
GroupByTimePlan, UDFPlan,
- * some AuthorPlan
+ * Execute query statement, return TSExecuteStatementResp with dataset.
+ *
+ * @param plan must be a plan for Query: QueryPlan, ShowPlan, and some
AuthorPlan
*/
@SuppressWarnings({"squid:S3776", "squid:S1141"}) // Suppress high Cognitive
Complexity warning
private TSExecuteStatementResp internalExecuteQueryStatement(
@@ -600,6 +601,7 @@ public class TSServiceImpl extends BasicServiceProvider
implements TSIService.If
long statementId,
PhysicalPlan plan,
int fetchSize,
+ long queryStartTime,
long timeout,
long sessionId,
boolean enableRedirect,
@@ -607,111 +609,28 @@ public class TSServiceImpl extends BasicServiceProvider
implements TSIService.If
throws QueryProcessException, SQLException, StorageEngineException,
QueryFilterOptimizationException, MetadataException, IOException,
InterruptedException,
TException, AuthException {
+ String username = sessionManager.getUsername(sessionId);
+ plan.setLoginUserName(username);
+
queryFrequencyRecorder.incrementAndGet();
AUDIT_LOGGER.debug(
"Session {} execute Query: {}", sessionManager.getCurrSessionId(),
statement);
- final long queryStartTime = System.currentTimeMillis();
final long queryId = sessionManager.requestQueryId(statementId, true);
QueryContext context =
genQueryContext(queryId, plan.isDebug(), queryStartTime, statement,
timeout);
- if (plan instanceof QueryPlan && ((QueryPlan) plan).isEnableTracing()) {
- context.setEnableTracing(true);
- tracingManager.setStartTime(queryId, this.startTime);
- tracingManager.registerActivity(
- queryId,
- String.format(TracingConstant.ACTIVITY_START_EXECUTE, statement),
- this.startTime);
- tracingManager.registerActivity(queryId,
TracingConstant.ACTIVITY_PARSE_SQL, queryStartTime);
- if (!(plan instanceof AlignByDevicePlan)) {
- tracingManager.setSeriesPathNum(queryId, plan.getPaths().size());
- }
- }
-
+ TSExecuteStatementResp resp;
try {
- String username = sessionManager.getUsername(sessionId);
- plan.setLoginUserName(username);
-
- TSExecuteStatementResp resp = null;
- // execute it before createDataSet since it may change the content of
query plan
- if (plan instanceof QueryPlan && !(plan instanceof UDFPlan)) {
- resp = getQueryColumnHeaders(plan, username, isJdbcQuery);
- }
if (plan instanceof QueryPlan) {
- ((QueryPlan) plan).setEnableRedirect(enableRedirect);
- }
- // create and cache dataset
- QueryDataSet newDataSet = createQueryDataSet(context, plan, fetchSize);
- if (plan instanceof QueryPlan && ((QueryPlan) plan).isEnableTracing()) {
- tracingManager.registerActivity(
- queryId, TracingConstant.ACTIVITY_CREATE_DATASET,
System.currentTimeMillis());
- }
-
- if (newDataSet.getEndPoint() != null && enableRedirect) {
- // redirect query
- LOGGER.debug(
- "need to redirect {} {} to node {}", statement, queryId,
newDataSet.getEndPoint());
- TSStatus status = new TSStatus();
- status.setRedirectNode(
- new EndPoint(newDataSet.getEndPoint().getIp(),
newDataSet.getEndPoint().getPort()));
- status.setCode(TSStatusCode.NEED_REDIRECTION.getStatusCode());
- resp.setStatus(status);
- resp.setQueryId(queryId);
- return resp;
- }
-
- if (plan instanceof ShowPlan || plan instanceof AuthorPlan) {
- resp = getListDataSetHeaders(plan, newDataSet);
- } else if (plan instanceof UDFPlan
- || (plan instanceof QueryPlan && ((QueryPlan)
plan).isGroupByLevel())) {
- resp = getQueryColumnHeaders(plan, username, isJdbcQuery);
- }
-
- resp.setOperationType(plan.getOperatorType().toString());
- if (newDataSet instanceof DirectNonAlignDataSet) {
- resp.setNonAlignQueryDataSet(fillRpcNonAlignReturnData(fetchSize,
newDataSet, username));
+ QueryPlan queryPlan = (QueryPlan) plan;
+ queryPlan.setEnableRedirect(enableRedirect);
+ resp = executeQueryPlan(queryPlan, context, isJdbcQuery, fetchSize,
username);
} else {
- try {
- TSQueryDataSet tsQueryDataSet = fillRpcReturnData(fetchSize,
newDataSet, username);
- resp.setQueryDataSet(tsQueryDataSet);
- } catch (RedirectException e) {
- LOGGER.debug("need to redirect {} {} to {}", statement, queryId,
e.getEndPoint());
- if (enableRedirect) {
- // redirect query
- TSStatus status = new TSStatus();
- status.setRedirectNode(e.getEndPoint());
- status.setCode(TSStatusCode.NEED_REDIRECTION.getStatusCode());
- resp.setStatus(status);
- resp.setQueryId(queryId);
- return resp;
- } else {
- LOGGER.error(
- "execute {} error, if session does not support redirect,"
- + " should not throw redirection exception.",
- statement,
- e);
- }
- }
+ resp = executeShowOrAuthorPlan(plan, context, fetchSize, username);
}
-
resp.setQueryId(queryId);
-
- if (plan instanceof AlignByDevicePlan && ((QueryPlan)
plan).isEnableTracing()) {
- tracingManager.setSeriesPathNum(queryId, ((AlignByDeviceDataSet)
newDataSet).getPathsNum());
- }
-
- queryTimeManager.unRegisterQuery(queryId, false);
-
- if (plan instanceof QueryPlan && ((QueryPlan) plan).isEnableTracing()) {
- tracingManager.registerActivity(
- queryId, TracingConstant.ACTIVITY_REQUEST_COMPLETE,
System.currentTimeMillis());
-
- TSTracingInfo tsTracingInfo = fillRpcReturnTracingInfo(queryId);
- resp.setTracingInfo(tsTracingInfo);
- }
-
- return resp;
+ resp.setOperationType(plan.getOperatorType().toString());
} catch (Exception e) {
sessionManager.releaseQueryResourceNoExceptions(queryId);
throw e;
@@ -722,9 +641,101 @@ public class TSServiceImpl extends BasicServiceProvider
implements TSIService.If
SLOW_SQL_LOGGER.info("Cost: {} ms, sql is {}", costTime, statement);
}
}
+ return resp;
+ }
+
+ private TSExecuteStatementResp executeQueryPlan(
+ QueryPlan plan, QueryContext context, boolean isJdbcQuery, int
fetchSize, String username)
+ throws TException, MetadataException, QueryProcessException,
StorageEngineException,
+ SQLException, IOException, InterruptedException,
QueryFilterOptimizationException,
+ AuthException {
+ // check permissions
+ if (!checkAuthorization(plan.getAuthPaths(), plan, username)) {
+ return RpcUtils.getTSExecuteStatementResp(
+ RpcUtils.getStatus(
+ TSStatusCode.NO_PERMISSION_ERROR,
+ "No permissions for this operation " + plan.getOperatorType()));
+ }
+
+ long queryId = context.getQueryId();
+ if (plan.isEnableTracing()) {
+ context.setEnableTracing(true);
+ tracingManager.setStartTime(queryId, context.getStartTime(),
context.getStatement());
+ tracingManager.registerActivity(
+ queryId, TracingConstant.ACTIVITY_PARSE_SQL,
System.currentTimeMillis());
+ tracingManager.setSeriesPathNum(queryId, plan.getPaths().size());
+ }
+
+ TSExecuteStatementResp resp = null;
+ // execute it before createDataSet since it may change the content of
query plan
+ if (!(plan instanceof UDFPlan)) {
+ resp = plan.getTSExecuteStatementResp(isJdbcQuery);
+ }
+ // create and cache dataset
+ QueryDataSet newDataSet = createQueryDataSet(context, plan, fetchSize);
+
+ if (plan.isEnableTracing()) {
+ tracingManager.registerActivity(
+ queryId, TracingConstant.ACTIVITY_CREATE_DATASET,
System.currentTimeMillis());
+ }
+
+ if (newDataSet.getEndPoint() != null && plan.isEnableRedirect()) {
+ QueryDataSet.EndPoint endPoint = newDataSet.getEndPoint();
+ return redirectQueryToAnotherNode(resp, context, endPoint.getIp(),
endPoint.getPort());
+ }
+
+ if (plan instanceof UDFPlan || plan.isGroupByLevel()) {
+ resp = plan.getTSExecuteStatementResp(isJdbcQuery);
+ }
+
+ if (newDataSet instanceof DirectNonAlignDataSet) {
+ resp.setNonAlignQueryDataSet(fillRpcNonAlignReturnData(fetchSize,
newDataSet, username));
+ } else {
+ try {
+ TSQueryDataSet tsQueryDataSet = fillRpcReturnData(fetchSize,
newDataSet, username);
+ resp.setQueryDataSet(tsQueryDataSet);
+ } catch (RedirectException e) {
+ if (plan.isEnableRedirect()) {
+ EndPoint endPoint = e.getEndPoint();
+ return redirectQueryToAnotherNode(resp, context, endPoint.ip,
endPoint.port);
+ } else {
+ LOGGER.error(
+ "execute {} error, if session does not support redirect, should
not throw redirection exception.",
+ context.getStatement(),
+ e);
+ }
+ }
+ }
+ queryTimeManager.unRegisterQuery(context.getQueryId(), false);
+
+ if (plan.isEnableTracing()) {
+ tracingManager.registerActivity(
+ queryId, TracingConstant.ACTIVITY_REQUEST_COMPLETE,
System.currentTimeMillis());
+ TSTracingInfo tsTracingInfo = fillRpcReturnTracingInfo(queryId);
+ resp.setTracingInfo(tsTracingInfo);
+ }
+ return resp;
+ }
+
+ private TSExecuteStatementResp executeShowOrAuthorPlan(
+ PhysicalPlan plan, QueryContext context, int fetchSize, String username)
+ throws QueryProcessException, TException, StorageEngineException,
SQLException, IOException,
+ InterruptedException, QueryFilterOptimizationException,
MetadataException, AuthException {
+ // create and cache dataset
+ QueryDataSet newDataSet = createQueryDataSet(context, plan, fetchSize);
+ TSExecuteStatementResp resp = getListDataSetResp(plan, newDataSet);
+
+ resp.setQueryDataSet(fillRpcReturnData(fetchSize, newDataSet, username));
+ queryTimeManager.unRegisterQuery(context.getQueryId(), false);
+ return resp;
}
- private TSExecuteStatementResp getListDataSetHeaders(PhysicalPlan plan,
QueryDataSet dataSet) {
+ /**
+ * Construct TSExecuteStatementResp and the header of list result set.
+ *
+ * @param plan maybe ShowPlan or AuthorPlan
+ */
+ private TSExecuteStatementResp getListDataSetResp(PhysicalPlan plan,
QueryDataSet dataSet) {
TSExecuteStatementResp resp =
StaticResps.getNoTimeExecuteResp(
dataSet.getPaths().stream().map(Path::getFullPath).collect(Collectors.toList()),
@@ -735,19 +746,21 @@ public class TSServiceImpl extends BasicServiceProvider
implements TSIService.If
return resp;
}
- /** get ResultSet schema */
- private TSExecuteStatementResp getQueryColumnHeaders(
- PhysicalPlan physicalPlan, String username, boolean isJdbcQuery)
- throws AuthException, TException, MetadataException {
- // check permissions
- if (!checkAuthorization(physicalPlan.getAuthPaths(), physicalPlan,
username)) {
- return RpcUtils.getTSExecuteStatementResp(
- RpcUtils.getStatus(
- TSStatusCode.NO_PERMISSION_ERROR,
- "No permissions for this operation " +
physicalPlan.getOperatorType()));
- }
-
- return ((QueryPlan) physicalPlan).getTSExecuteStatementResp(isJdbcQuery);
+ /** Redirect query */
+ private TSExecuteStatementResp redirectQueryToAnotherNode(
+ TSExecuteStatementResp resp, QueryContext context, String ip, int port) {
+ LOGGER.debug(
+ "need to redirect {} {} to node {}:{}",
+ context.getStatement(),
+ context.getQueryId(),
+ ip,
+ port);
+ TSStatus status = new TSStatus();
+ status.setRedirectNode(new EndPoint(ip, port));
+ status.setCode(TSStatusCode.NEED_REDIRECTION.getStatusCode());
+ resp.setStatus(status);
+ resp.setQueryId(context.getQueryId());
+ return resp;
}
private TSExecuteStatementResp executeSelectIntoStatement(