This is an automated email from the ASF dual-hosted git repository.
spricoder pushed a change to branch feature/memory_collect
in repository https://gitbox.apache.org/repos/asf/iotdb.git
from 72bc9c5e42e rollback 2
add c087c24435c Do not add the source path of a view when it can be
matched by the deletion pattern (#14658)
add c60520aa41a Load: Add a new configuration to enable datatype
conversion when converting into Tablets & Refactor LoadAnalyzeException.
(#14646)
add debdb527d89 Reduced the error log cause by batch activate template
when some devices are already activated (#14661)
add a54573a2afb Use DataNodeDevicePathCache when insert by sql (#14662)
add 5f01571f4c6 Pipe: tree/table model isolation for
alter/start/stop/drop/show pipe operations & support 'mode.double-living'
(#14386)
add 7dc5179def6 Fix select-distinct when there is no order by and select
items contains expression
add e92be6f63ab [Table Model Subquery] Support uncorrelated in predicate
(#14438)
add bdf36ba1907 Skip subquery plan if subqueryExpression List is empty for
efficiency (#14647)
add 2d436e06897 Optimized the error code when table/column does not exist
& Reduced some unnecessary IT execution
add 04df3e279a2 Fixed the un-renamed ID/MEASUREMENTs in some non-runnable
ITs
add 7f0ac972839 Pipe: Fix NPE caused by forced type conversion and fix
IoTDBipipeTypeConversionISessionIT of table model (#14667)
add a5e13fd8f7c Pipe: report linked tsfile size & Subscription: decrease
reference count for other enriched events & add logging to observe possible
stuck situations (#14668)
add c8d7c5dfea9 Reopen drop column and delete devices operations
add 937df761e31 IoTConsensusV2: Fix some consensus group missing due to
recover failed or blocked (#14613)
add 5bd1eadea76 Clone value array when insert non aligned tablet with null
(#14643)
add 01e1420fa0a Add Memory Threshold (#14597)
add 82c85483572 Ignore the DatabaseNotExistsException for
adjustMaxRegionGroupNum when querying dataRegionGroupCount (#14669)
new 8c6af7642c2 Merge branch 'master' into feature/memory_collect
The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
.../iotdb/it/env/cluster/env/AbstractEnv.java | 5 +
.../iotdb/it/env/remote/env/RemoteServerEnv.java | 5 +
.../java/org/apache/iotdb/itbase/env/BaseEnv.java | 3 +
.../org/apache/iotdb/db/it/utils/TestUtils.java | 23 ++
.../iotdb/pipe/it/autocreate/IoTDBPipeAlterIT.java | 3 +-
.../it/autocreate/IoTDBPipeSwitchStatusIT.java | 23 +-
.../iotdb/pipe/it/tablemodel/IoTDBPipeAlterIT.java | 30 +-
.../it/tablemodel/IoTDBPipeDoubleLivingIT.java | 329 ++++++++++++++++++
.../pipe/it/tablemodel/IoTDBPipeIsolationIT.java | 377 +++++++++++++++++++++
.../it/tablemodel/IoTDBPipeSwitchStatusIT.java | 23 +-
.../pipe/it/tablemodel/IoTDBPipeSyntaxIT.java | 33 +-
.../IoTDBPipeTypeConversionISessionIT.java | 93 +++--
.../iotdb/pipe/it/tablemodel/TableModelUtils.java | 17 +
.../relational/it/db/it/IoTDBDeletionTableIT.java | 2 +-
.../relational/it/db/it/IoTDBInsertTableIT.java | 2 +-
.../IoTDBAlignByDeviceWithTemplateTableIT.java | 4 +-
.../scalar/IoTDBFormatFunctionTableIT.java | 21 +-
...oTDBNoSelectExpressionAfterAnalyzedTableIT.java | 6 +-
.../query/old/query/IoTDBNullValueFillTableIT.java | 327 ------------------
.../it/query/old/query/IoTDBResultSetTableIT.java | 2 +-
.../query/old/query/IoTDBSelectSchemaTableIT.java | 22 +-
.../it/query/recent/IoTDBTableAggregationIT.java | 12 +-
.../recent/subquery/SubqueryDataSetUtils.java | 12 +-
.../IoTDBUncorrelatedInPredicateSubqueryIT.java | 319 +++++++++++++++++
.../IoTDBUncorrelatedScalarSubqueryIT.java | 4 +-
.../iotdb/relational/it/schema/IoTDBDeviceIT.java | 47 ++-
.../iotdb/relational/it/schema/IoTDBTableIT.java | 122 ++++---
.../it/session/IoTDBSessionRelationalIT.java | 29 +-
.../iotdb/session/it/IoTDBSessionSimpleIT.java | 36 +-
.../response/pipe/task/PipeTableResp.java | 7 +
.../iotdb/confignode/manager/ConfigManager.java | 10 +-
.../apache/iotdb/confignode/manager/IManager.java | 23 +-
.../pipe/coordinator/task/PipeTaskCoordinator.java | 74 ++--
.../manager/schema/ClusterSchemaManager.java | 97 +++---
.../confignode/persistence/pipe/PipeTaskInfo.java | 21 +-
.../confignode/persistence/schema/ConfigMTree.java | 8 +-
.../impl/pipe/task/AlterPipeProcedureV2.java | 4 +-
.../thrift/ConfigNodeRPCServiceProcessor.java | 16 +-
.../apache/iotdb/consensus/pipe/PipeConsensus.java | 57 +++-
.../schemaregion/SchemaExecutionVisitor.java | 15 +-
.../LoadAnalyzeException.java} | 8 +-
.../LoadAnalyzeTableColumnDisorderException.java} | 7 +-
.../LoadAnalyzeTypeMismatchException.java} | 6 +-
.../dataregion/IoTDBDataRegionExtractor.java | 20 +-
.../statement/PipeConvertedInsertRowStatement.java | 30 +-
.../PipeConvertedInsertTabletStatement.java | 52 ++-
...leStatementDataTypeConvertExecutionVisitor.java | 3 +-
...eeStatementDataTypeConvertExecutionVisitor.java | 3 +-
.../resource/tsfile/PipeTsFileResourceManager.java | 5 +-
.../iotdb/db/protocol/client/ConfigNodeClient.java | 14 +
.../operator/process/EnforceSingleRowOperator.java | 5 +-
.../merge/comparator/JoinKeyComparatorFactory.java | 2 +-
.../schema/source/TableDeviceQuerySource.java | 4 +-
...perator.java => MergeSortSemiJoinOperator.java} | 130 +++++--
.../queryengine/plan/analyze/AnalyzeVisitor.java | 12 +
.../plan/analyze/load/LoadTsFileAnalyzer.java | 15 +-
.../analyze/load/LoadTsFileTableSchemaCache.java | 14 +-
.../load/LoadTsFileToTableModelAnalyzer.java | 13 +-
.../load/LoadTsFileToTreeModelAnalyzer.java | 9 +-
.../load/TreeSchemaAutoCreatorAndVerifier.java | 30 +-
.../config/executor/ClusterConfigTaskExecutor.java | 20 +-
.../execution/config/sys/pipe/AlterPipeTask.java | 8 +-
.../execution/config/sys/pipe/DropPipeTask.java | 7 +-
.../execution/config/sys/pipe/ShowPipeTask.java | 3 +-
.../execution/config/sys/pipe/StartPipeTask.java | 7 +-
.../execution/config/sys/pipe/StopPipeTask.java | 7 +-
.../db/queryengine/plan/parser/ASTVisitor.java | 9 +-
.../plan/planner/TableOperatorGenerator.java | 73 +++-
.../plan/planner/plan/node/PlanGraphPrinter.java | 12 +
.../plan/planner/plan/node/PlanNodeType.java | 4 +
.../plan/planner/plan/node/PlanVisitor.java | 5 +
.../relational/analyzer/ExpressionAnalyzer.java | 37 +-
.../plan/relational/analyzer/Scope.java | 8 +-
.../relational/analyzer/StatementAnalyzer.java | 13 +-
.../plan/relational/metadata/Metadata.java | 4 +-
.../relational/metadata/TableMetadataImpl.java | 18 +-
.../metadata/fetcher/TableDeviceSchemaFetcher.java | 4 +-
.../fetcher/TableHeaderSchemaValidator.java | 11 +-
.../plan/relational/planner/IrTypeAnalyzer.java | 11 +
.../plan/relational/planner/QueryPlanner.java | 2 +-
.../plan/relational/planner/SubqueryPlanner.java | 84 +++--
.../distribute/TableDistributedPlanGenerator.java | 15 +
.../planner/iterative/rule/PruneApplyColumns.java | 138 ++++++++
...Correlation.java => PruneApplyCorrelation.java} | 38 ++-
.../iterative/rule/PruneApplySourceColumns.java | 95 ++++++
...ava => RemoveUnreferencedScalarApplyNodes.java} | 19 +-
.../rule/RemoveUnreferencedScalarSubqueries.java | 70 ++++
.../TransformFilteringSemiJoinToInnerJoin.java | 150 ++++++++
...mUncorrelatedInPredicateSubqueryToSemiJoin.java | 95 ++++++
.../plan/relational/planner/node/Patterns.java | 7 +-
.../plan/relational/planner/node/SemiJoinNode.java | 181 ++++++++++
.../optimizations/LogicalOptimizeFactory.java | 18 +-
.../optimizations/PushPredicateIntoTableScan.java | 204 +++++++++++
.../optimizations/UnaliasSymbolReferences.java | 29 ++
.../plan/relational/sql/ast/AlterPipe.java | 22 +-
.../plan/relational/sql/ast/DeleteDevice.java | 2 -
.../plan/relational/sql/ast/DropColumn.java | 3 -
.../plan/relational/sql/ast/DropPipe.java | 10 +-
.../plan/relational/sql/ast/ShowPipes.java | 10 +-
.../plan/relational/sql/ast/StartPipe.java | 8 +-
.../plan/relational/sql/ast/StopPipe.java | 8 +-
.../plan/relational/sql/parser/AstBuilder.java | 5 +-
.../plan/statement/crud/InsertBaseStatement.java | 6 +-
.../plan/statement/crud/InsertRowStatement.java | 18 +-
.../metadata/pipe/AlterPipeStatement.java | 31 +-
.../statement/metadata/pipe/DropPipeStatement.java | 23 +-
.../metadata/pipe/ShowPipesStatement.java | 18 +-
.../metadata/pipe/StartPipeStatement.java | 17 +-
.../statement/metadata/pipe/StopPipeStatement.java | 17 +-
.../schemaengine/table/InformationSchemaUtils.java | 2 +-
.../LoadConvertedInsertTabletStatement.java | 18 +-
...leStatementDataTypeConvertExecutionVisitor.java | 3 +-
...eeStatementDataTypeConvertExecutionVisitor.java | 3 +-
.../broker/SubscriptionPrefetchingQueue.java | 2 +
.../db/subscription/event/SubscriptionEvent.java | 21 +-
.../batch/SubscriptionPipeTabletEventBatch.java | 22 ++
.../iotdb/db/utils/datastructure/BinaryTVList.java | 6 +-
.../db/utils/datastructure/BooleanTVList.java | 6 +-
.../iotdb/db/utils/datastructure/DoubleTVList.java | 6 +-
.../iotdb/db/utils/datastructure/FloatTVList.java | 6 +-
.../iotdb/db/utils/datastructure/IntTVList.java | 6 +-
.../iotdb/db/utils/datastructure/LongTVList.java | 6 +-
.../plan/relational/planner/SubqueryTest.java | 98 ++++++
.../planner/assertions/PlanMatchPattern.java | 11 +
.../{SortMatcher.java => SemiJoinMatcher.java} | 41 ++-
.../storageengine/dataregion/DataRegionTest.java | 24 +-
.../exception}/table/ColumnNotExistsException.java | 2 +-
.../table/TableAlreadyExistsException.java | 2 +-
.../exception}/table/TableNotExistsException.java | 2 +-
.../commons/pipe/agent/task/meta/PipeMeta.java | 40 +++
.../pipe/agent/task/meta/PipeMetaKeeper.java | 8 +
.../config/constant/PipeExtractorConstant.java | 3 +
.../pipe/datastructure/pattern/TablePattern.java | 21 +-
.../pipe/datastructure/pattern/TreePattern.java | 22 +-
.../commons/pipe/extractor/IoTDBExtractor.java | 65 +++-
.../org/apache/iotdb/commons/utils/FileUtils.java | 27 ++
.../src/main/thrift/confignode.thrift | 19 ++
pom.xml | 2 +-
138 files changed, 3729 insertions(+), 1014 deletions(-)
create mode 100644
integration-test/src/test/java/org/apache/iotdb/pipe/it/tablemodel/IoTDBPipeDoubleLivingIT.java
create mode 100644
integration-test/src/test/java/org/apache/iotdb/pipe/it/tablemodel/IoTDBPipeIsolationIT.java
delete mode 100644
integration-test/src/test/java/org/apache/iotdb/relational/it/query/old/query/IoTDBNullValueFillTableIT.java
create mode 100644
integration-test/src/test/java/org/apache/iotdb/relational/it/query/recent/subquery/uncorrelated/IoTDBUncorrelatedInPredicateSubqueryIT.java
rename
integration-test/src/test/java/org/apache/iotdb/relational/it/query/recent/subquery/{
=> uncorrelated}/IoTDBUncorrelatedScalarSubqueryIT.java (99%)
rename
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/exception/{VerifyMetadataException.java
=> load/LoadAnalyzeException.java} (82%)
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/exception/{VerifyMetadataTypeMismatchException.java
=> load/LoadAnalyzeTableColumnDisorderException.java} (78%)
rename
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/exception/{VerifyMetadataTypeMismatchException.java
=> load/LoadAnalyzeTypeMismatchException.java} (83%)
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/{MergeSortInnerJoinOperator.java
=> MergeSortSemiJoinOperator.java} (58%)
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PruneApplyColumns.java
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/{PruneCorrelatedJoinCorrelation.java
=> PruneApplyCorrelation.java} (62%)
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PruneApplySourceColumns.java
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/{RemoveRedundantEnforceSingleRowNode.java
=> RemoveUnreferencedScalarApplyNodes.java} (67%)
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/RemoveUnreferencedScalarSubqueries.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/TransformFilteringSemiJoinToInnerJoin.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/TransformUncorrelatedInPredicateSubqueryToSemiJoin.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/node/SemiJoinNode.java
copy
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/planner/assertions/{SortMatcher.java
=> SemiJoinMatcher.java} (59%)
rename
iotdb-core/{datanode/src/main/java/org/apache/iotdb/db/exception/metadata =>
node-commons/src/main/java/org/apache/iotdb/commons/exception}/table/ColumnNotExistsException.java
(95%)
rename
iotdb-core/{datanode/src/main/java/org/apache/iotdb/db/exception/metadata =>
node-commons/src/main/java/org/apache/iotdb/commons/exception}/table/TableAlreadyExistsException.java
(95%)
rename
iotdb-core/{datanode/src/main/java/org/apache/iotdb/db/exception/metadata =>
node-commons/src/main/java/org/apache/iotdb/commons/exception}/table/TableNotExistsException.java
(95%)