You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ja...@apache.org on 2024/08/13 06:55:42 UTC
(iotdb) branch ty/AllowRetry created (now 4bc006f1fba)
This is an automated email from the ASF dual-hosted git repository.
jackietien pushed a change to branch ty/AllowRetry
in repository https://gitbox.apache.org/repos/asf/iotdb.git
at 4bc006f1fba retry for too many queries error
This branch includes the following new commits:
new ab20502d87e partial
new acaf1b74317 Merge remote-tracking branch 'origin/master' into ty/AllowRetry
new b81dd56c44c fix compilation
new 4bc006f1fba retry for too many queries error
The 4 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.
(iotdb) 02/04: Merge remote-tracking branch 'origin/master' into ty/AllowRetry
Posted by ja...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
jackietien pushed a commit to branch ty/AllowRetry
in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit acaf1b74317a2999bfd507659c7a9b69679bc290
Merge: ab20502d87e 4a3c1d3e331
Author: JackieTien97 <ja...@gmail.com>
AuthorDate: Tue Aug 13 09:43:26 2024 +0800
Merge remote-tracking branch 'origin/master' into ty/AllowRetry
LICENSE | 59 +-
.../org/apache/iotdb/TableModelJDBCExample.java | 108 +
.../java/org/apache/iotdb/CountPointProcessor.java | 2 +-
.../iotdb/AlignedTimeseriesSessionExample.java | 13 +-
.../org/apache/iotdb/DataMigrationExample.java | 6 +-
.../iotdb/HybridTimeseriesSessionExample.java | 3 +-
.../org/apache/iotdb/SessionConcurrentExample.java | 3 +-
.../main/java/org/apache/iotdb/SessionExample.java | 13 +-
.../org/apache/iotdb/TableModelSessionExample.java | 136 +
.../apache/iotdb/TableModelSessionPoolExample.java | 147 +
.../main/java/org/apache/iotdb/TabletExample.java | 3 +-
.../org/apache/iotdb/trigger/LoggerTrigger.java | 4 +-
.../iotdb/it/env/cluster/env/AbstractEnv.java | 141 +-
.../iotdb/it/env/remote/env/RemoteServerEnv.java | 132 +-
.../org/apache/iotdb/it/utils/TsFileGenerator.java | 24 +-
.../java/org/apache/iotdb/itbase/env/BaseEnv.java | 88 +-
.../iotdb/itbase/runtime/ClusterTestStatement.java | 13 +-
.../it/partition/IoTDBPartitionGetterIT.java | 19 +-
.../apache/iotdb/db/it/IoTDBInsertWithQueryIT.java | 6 +-
.../org/apache/iotdb/db/it/IoTDBLoadTsFileIT.java | 5 +-
.../iotdb/db/it/IoTDBPartialInsertionIT.java | 3 +-
.../org/apache/iotdb/db/it/IoTDBRepairDataIT.java | 4 +-
.../db/it/aggregation/IoTDBAggregationIT.java | 15 +-
.../db/it/aggregation/maxby/IoTDBMaxByIT.java | 3 +-
.../db/it/aggregation/minby/IoTDBMinByIT.java | 3 +-
.../scalar/IoTDBDiffFunctionIT.java | 1 -
.../db/it/fill/IoTDBFillWithNewDataTypeIT.java | 26 +-
.../apache/iotdb/db/it/query/IoTDBQueryDemoIT.java | 31 +-
.../iotdb/db/it/selectinto/IoTDBSelectIntoIT.java | 4 +-
.../db/it/udf/IoTDBUDTFBuiltinFunctionIT.java | 4 +-
.../org/apache/iotdb/db/it/utils/TestUtils.java | 130 +
.../it/db/it/IoTDBExecuteBatchTableIT.java | 149 +
.../it/db/it/IoTDBFlushQueryTableIT.java | 200 ++
.../it/db/it/IoTDBInsertAlignedValuesTableIT.java | 566 +++
.../relational/it/db/it/IoTDBInsertTableIT.java | 589 ++++
.../it/db/it/IoTDBMultiDeviceTableIT.java | 357 ++
.../relational/it/db/it/IoTDBRecoverTableIT.java | 309 ++
.../it/db/it/IoTDBRecoverUnclosedTableIT.java | 259 ++
.../relational/it/db/it/IoTDBRestartTableIT.java | 419 +++
.../it/db/it/IoTDBSetConfigurationTableIT.java | 105 +
.../it/query/old/IoTDBDatetimeFormatTableIT.java | 157 +
.../it/query/old/IoTDBFilterBetweenTableIT.java | 199 ++
.../it/query/old/IoTDBFilterNullTableIT.java | 115 +
.../it/query/old/IoTDBFilterTableIT.java | 239 ++
.../it/query/old/IoTDBNestedQueryTableIT.java | 453 +++
.../it/query/old/IoTDBSimpleQueryTableIT.java | 706 ++++
.../alignbydevice/IoTDBAlignByDeviceTable2IT.java | 46 +
.../alignbydevice/IoTDBAlignByDeviceTable3IT.java | 46 +
.../alignbydevice/IoTDBAlignByDeviceTableIT.java | 546 +++
.../IoTDBAlignByDeviceWithTemplateTable2IT.java | 47 +
.../IoTDBAlignByDeviceWithTemplateTableIT.java | 513 +++
...TDBOrderByLimitOffsetAlignByDeviceTable2IT.java | 47 +
...oTDBOrderByLimitOffsetAlignByDeviceTableIT.java | 147 +
.../IoTDBOrderByWithAlignByDeviceTable2IT.java | 47 +
.../IoTDBOrderByWithAlignByDeviceTable3IT.java | 47 +
.../IoTDBOrderByWithAlignByDeviceTableIT.java | 1568 +++++++++
.../IoTDBAlignedOffsetLimitPushDownTableIT.java | 156 +
.../aligned/IoTDBAlignedSeriesQueryTable2IT.java | 53 +
.../aligned/IoTDBAlignedSeriesQueryTable3IT.java | 53 +
.../aligned/IoTDBAlignedSeriesQueryTable4IT.java | 53 +
.../aligned/IoTDBAlignedSeriesQueryTable5IT.java | 55 +
.../aligned/IoTDBAlignedSeriesQueryTableIT.java | 3678 ++++++++++++++++++++
.../aligned/IoTDBPredicatePushDownTable2IT.java | 54 +
.../aligned/IoTDBPredicatePushDownTable3IT.java | 54 +
.../aligned/IoTDBPredicatePushDownTable4IT.java | 54 +
.../old/aligned/IoTDBPredicatePushDownTableIT.java | 683 ++++
.../it/query/old/aligned/TableUtils.java | 216 ++
.../scalar/IoTDBCastFunctionTableIT.java | 780 +++++
.../scalar/IoTDBDiffFunctionTable2IT.java | 42 +
.../scalar/IoTDBDiffFunctionTable3IT.java | 42 +
.../scalar/IoTDBDiffFunctionTableIT.java | 149 +
.../scalar/IoTDBReplaceFunctionTableIT.java | 183 +
.../scalar/IoTDBRoundFunctionTableIT.java | 313 ++
.../scalar/IoTDBSubStringFunctionTableIT.java | 219 ++
.../it/query/old/orderBy/IoTDBOrderByTableIT.java | 1578 +++++++++
.../it/query/old/orderBy/IoTDBStreamSortIT.java | 240 ++
.../it/query/old/query/IoTDBArithmeticTableIT.java | 226 ++
.../query/old/query/IoTDBCaseWhenThenTableIT.java | 878 +++++
.../it/query/old/query/IoTDBFuzzyQueryTableIT.java | 275 ++
.../it/query/old/query/IoTDBInTableIT.java | 185 +
...oTDBNoSelectExpressionAfterAnalyzedTableIT.java | 95 +
.../query/old/query/IoTDBNullOperandTableIT.java | 229 ++
.../query/old/query/IoTDBNullValueFillTableIT.java | 327 ++
.../it/query/old/query/IoTDBPaginationTableIT.java | 230 ++
.../it/query/old/query/IoTDBQueryDemoTableIT.java | 524 +++
.../IoTDBQueryWithComplexValueFilterTableIT.java | 326 ++
.../it/query/old/query/IoTDBResultSetTableIT.java | 206 ++
.../query/IoTDBSelectCompareExpressionTableIT.java | 503 +++
.../query/old/query/IoTDBSelectSchemaTableIT.java | 125 +
.../it/query/recent/IoTDBNullIdQueryIT.java | 139 +
.../relational/it/schema/IoTDBDatabaseIT.java | 187 +
.../relational/it/schema/IoTDBDeviceQueryIT.java | 101 +
.../iotdb/relational/it/schema/IoTDBTableIT.java | 311 ++
.../it/session/IoTDBTableModelSessionIT.java | 115 +
.../session/pool/IoTDBTableModelSessionPoolIT.java | 195 ++
.../session/it/IoTDBSessionAlignedInsertIT.java | 3 +-
.../iotdb/session/it/IoTDBSessionComplexIT.java | 5 +-
.../it/IoTDBSessionDisableMemControlIT.java | 5 +-
.../IoTDBSessionInsertWithTriggerExecutionIT.java | 3 +-
.../iotdb/session/it/IoTDBSessionRelationalIT.java | 992 ++++++
.../iotdb/session/it/IoTDBSessionSimpleIT.java | 21 +-
.../session/it/IoTDBSessionSyntaxConventionIT.java | 3 +-
.../org/apache/iotdb/session/it/SessionIT.java | 5 +-
.../it/triple/IoTDBSubscriptionSharingIT.java | 3 +-
.../java/org/apache/iotdb/cli/AbstractCli.java | 24 +-
.../src/main/java/org/apache/iotdb/cli/Cli.java | 4 +
.../java/org/apache/iotdb/tool/ExportData.java | 2 +-
.../java/org/apache/iotdb/tool/ExportTsFile.java | 19 +-
.../org/apache/iotdb/isession/IPooledSession.java | 64 +
.../java/org/apache/iotdb/isession/ISession.java | 16 +
.../org/apache/iotdb/isession/SessionConfig.java | 2 +
.../org/apache/iotdb/isession/SessionDataSet.java | 86 +-
.../apache/iotdb/isession/pool/ISessionPool.java | 3 +
.../iotdb/jdbc/AbstractIoTDBJDBCResultSet.java | 1220 -------
.../main/java/org/apache/iotdb/jdbc/Config.java | 4 +
.../org/apache/iotdb/jdbc/IoTDBConnection.java | 16 +-
.../apache/iotdb/jdbc/IoTDBConnectionParams.java | 21 +
.../org/apache/iotdb/jdbc/IoTDBJDBCResultSet.java | 81 +-
.../iotdb/jdbc/IoTDBNonAlignJDBCResultSet.java | 323 --
.../java/org/apache/iotdb/jdbc/IoTDBStatement.java | 88 +-
.../src/main/java/org/apache/iotdb/jdbc/Utils.java | 60 +-
.../iotdb/jdbc/IoTDBDatabaseMetadataTest.java | 10 +-
.../apache/iotdb/jdbc/IoTDBJDBCResultSetTest.java | 2 +
.../java/org/apache/iotdb/rpc/IoTDBRpcDataSet.java | 299 +-
.../main/java/org/apache/iotdb/rpc/RpcUtils.java | 64 +-
.../java/org/apache/iotdb/rpc/TSStatusCode.java | 17 +-
.../java/org/apache/iotdb/session/Session.java | 196 +-
.../apache/iotdb/session/SessionConnection.java | 69 +-
.../org/apache/iotdb/session/ThriftConnection.java | 8 +-
.../org/apache/iotdb/session/pool/SessionPool.java | 46 +-
.../apache/iotdb/session/pool/SessionWrapper.java | 195 ++
.../session/subscription/SubscriptionSession.java | 9 +-
.../SubscriptionSessionConnection.java | 14 +-
.../payload/SubscriptionSessionDataSet.java | 8 +-
.../apache/iotdb/session/util/SessionUtils.java | 4 +-
.../iotdb/session/SessionCacheLeaderTest.java | 7 +-
.../iotdb/session/SessionConnectionTest.java | 8 +-
.../java/org/apache/iotdb/session/SessionTest.java | 25 +-
.../java/org/apache/iotdb/session/TabletTest.java | 3 +-
.../session/pool/SessionPoolExceptionTest.java | 7 +-
.../apache/iotdb/session/pool/SessionPoolTest.java | 28 +-
.../iotdb/session/util/SessionUtilsTest.java | 5 +-
.../iotdb/confignode/client/CnToDnRequestType.java | 3 +
.../CnToDnInternalServiceAsyncRequestManager.java | 5 +
.../rpc/DataNodeAsyncRequestRPCHandler.java | 1 +
.../client/sync/SyncDataNodeClientPool.java | 3 +
.../consensus/request/ConfigPhysicalPlan.java | 16 +
.../consensus/request/ConfigPhysicalPlanType.java | 6 +
.../request/write/table/AddTableColumnPlan.java | 93 +
.../request/write/table/CommitCreateTablePlan.java | 67 +
.../request/write/table/PreCreateTablePlan.java | 68 +
.../write/table/RollbackCreateTablePlan.java | 67 +
.../iotdb/confignode/manager/ConfigManager.java | 156 +-
.../apache/iotdb/confignode/manager/IManager.java | 26 +
.../iotdb/confignode/manager/ProcedureManager.java | 216 +-
.../iotdb/confignode/manager/node/NodeManager.java | 2 +
.../manager/partition/PartitionManager.java | 27 +-
.../client/IoTDBConfigNodeSyncClientManager.java | 12 +-
.../protocol/IoTDBConfigRegionAirGapConnector.java | 3 +
.../protocol/IoTDBConfigRegionConnector.java | 10 +-
.../PipeConfigPhysicalPlanTSStatusVisitor.java | 16 +-
.../manager/schema/ClusterSchemaManager.java | 115 +-
.../persistence/executor/ConfigPlanExecutor.java | 12 +
.../persistence/schema/ClusterSchemaInfo.java | 141 +-
.../confignode/persistence/schema/ConfigMTree.java | 218 +-
.../schema/mnode/impl/ConfigTableNode.java | 221 ++
.../schema/mnode/impl/TableNodeStatus.java | 58 +
.../schema/mnode/info/ConfigTableInfo.java | 56 +
.../impl/schema/DataNodeRegionTaskExecutor.java | 2 +-
.../impl/schema/DeactivateTemplateProcedure.java | 2 +-
.../impl/schema/DeleteDatabaseProcedure.java | 4 +
.../impl/schema/SetTemplateProcedure.java | 2 +-
.../impl/schema/UnsetTemplateProcedure.java | 2 +-
.../impl/schema/table/AddTableColumnProcedure.java | 345 ++
.../impl/schema/table/CreateTableProcedure.java | 453 +++
.../state/schema/AddTableColumnState.java | 27 +
.../procedure/state/schema/CreateTableState.java | 29 +
.../procedure/store/ProcedureFactory.java | 12 +
.../confignode/procedure/store/ProcedureType.java | 4 +
.../thrift/ConfigNodeRPCServiceProcessor.java | 31 +
.../request/ConfigPhysicalPlanSerDeTest.java | 76 +
.../hash/DeviceGroupHashExecutorManualTest.java | 13 +-
.../persistence/schema/ConfigMTreeTest.java | 81 +
.../schema/table/AddTableColumnProcedureTest.java | 62 +
.../schema/table/CreateTableProcedureTest.java | 73 +
iotdb-core/datanode/pom.xml | 22 +
.../src/main/codegen/templates/constantFill.ftl | 3 +-
.../src/main/codegen/templates/previousFill.ftl | 3 +-
.../codegen/templates/variationWindowManager.ftl | 3 +-
.../org/apache/iotdb/db/auth/AuthorityChecker.java | 6 +-
.../iotdb/db/auth/ClusterAuthorityFetcher.java | 4 +-
.../apache/iotdb/db/auth/IAuthorityFetcher.java | 3 +-
.../java/org/apache/iotdb/db/conf/IoTDBConfig.java | 2 +-
.../dataregion/DataExecutionVisitor.java | 25 +-
.../dataregion/DataRegionStateMachine.java | 1 +
.../schemaregion/SchemaExecutionVisitor.java | 61 +-
.../metadata/DatabaseAlreadySetException.java | 29 +-
.../metadata/DatabaseConflictException.java | 52 +
.../table/TableAlreadyExistsException.java | 32 +
.../metadata/table/TableNotExistsException.java | 32 +
.../db/exception/query/QueryProcessException.java | 5 +
.../exception/sql/ColumnCreationFailException.java | 27 +
.../iotdb/db/exception/sql/SemanticException.java | 9 +-
.../client/IoTDBDataNodeAsyncClientManager.java | 12 +-
.../client/IoTDBDataNodeSyncClientManager.java | 12 +-
.../batch/PipeTabletEventTsFileBatch.java | 11 +-
.../request/PipeTransferTabletRawReq.java | 2 +-
.../airgap/IoTDBDataNodeAirGapConnector.java | 3 +
.../connector/protocol/opcua/OpcUaConnector.java | 207 +-
.../connector/protocol/opcua/OpcUaNameSpace.java | 374 ++
.../protocol/opcua/OpcUaServerBuilder.java | 32 +-
.../async/IoTDBDataRegionAsyncConnector.java | 3 +-
.../thrift/sync/IoTDBDataNodeSyncConnector.java | 11 +-
.../iotdb/db/pipe/event/common/row/PipeRow.java | 8 +-
.../db/pipe/event/common/row/PipeRowCollector.java | 6 +-
.../tablet/PipeInsertNodeTabletInsertionEvent.java | 5 +-
.../common/tablet/PipeRawTabletInsertionEvent.java | 8 +-
.../tablet/TabletInsertionDataContainer.java | 33 +-
.../common/tsfile/PipeTsFileInsertionEvent.java | 7 +-
.../common/tsfile/TsFileInsertionPointCounter.java | 8 +-
.../TsFileInsertionDataContainerProvider.java | 3 +-
.../query/TsFileInsertionQueryDataContainer.java | 22 +-
.../TsFileInsertionQueryDataTabletIterator.java | 14 +-
.../scan/TsFileInsertionScanDataContainer.java | 14 +-
.../db/pipe/event/realtime/PipeRealtimeEvent.java | 10 +-
.../PipeHistoricalDataRegionTsFileExtractor.java | 3 +-
.../realtime/epoch/TsFileEpochManager.java | 14 +-
.../schemaregion/IoTDBSchemaRegionExtractor.java | 2 +-
.../schemaregion/PipePlanPatternParseVisitor.java | 52 +-
.../pipe/pattern/CachedSchemaPatternMatcher.java | 9 +-
.../twostage/plugin/TwoStageCountProcessor.java | 2 +-
.../legacy/IoTDBLegacyPipeReceiverAgent.java | 104 +-
.../protocol/thrift/IoTDBDataNodeReceiver.java | 42 +-
.../transform/converter/ArrayConverter.java | 940 +++++
.../transform/converter/ValueConverter.java | 787 +++++
.../statement/PipeConvertedInsertRowStatement.java | 112 +
.../PipeConvertedInsertTabletStatement.java | 64 +
.../visitor/PipePlanToStatementVisitor.java | 45 +-
...peStatementDataTypeConvertExecutionVisitor.java | 173 +
.../visitor/PipeStatementPatternParseVisitor.java | 9 +-
.../visitor/PipeStatementToBatchVisitor.java | 2 +-
.../pipe/resource/memory/PipeMemoryWeightUtil.java | 6 +-
.../iotdb/db/protocol/client/ConfigNodeClient.java | 39 +
.../rest/v1/impl/GrafanaApiServiceImpl.java | 1 +
.../protocol/rest/v1/impl/RestApiServiceImpl.java | 18 +-
.../rest/v2/impl/GrafanaApiServiceImpl.java | 1 +
.../protocol/rest/v2/impl/RestApiServiceImpl.java | 18 +-
.../iotdb/db/protocol/session/IClientSession.java | 59 +
.../iotdb/db/protocol/session/SessionManager.java | 27 +-
.../protocol/thrift/impl/ClientRPCServiceImpl.java | 377 +-
.../impl/DataNodeInternalRPCServiceImpl.java | 70 +-
.../db/queryengine/common/MPPQueryContext.java | 21 +
.../iotdb/db/queryengine/common/SessionInfo.java | 57 +-
.../db/queryengine/common/header/ColumnHeader.java | 12 +-
.../common/header/ColumnHeaderConstant.java | 22 +
.../queryengine/common/header/DatasetHeader.java | 18 +
.../common/header/DatasetHeaderFactory.java | 12 +
.../common/schematree/ClusterSchemaTree.java | 21 +-
.../common/schematree/DeviceSchemaInfo.java | 4 +-
.../queryengine/common/schematree/ISchemaTree.java | 9 +-
.../execution/MemoryEstimationHelper.java | 13 +-
.../slidingwindow/SlidingWindowAggregator.java | 7 +-
.../execution/driver/DataDriverContext.java | 8 +-
.../execution/executor/RegionWriteExecutor.java | 29 +-
.../fragment/FragmentInstanceContext.java | 32 +-
.../fragment/FragmentInstanceManager.java | 6 +-
.../execution/fragment/QueryContext.java | 30 +-
.../execution/load/LoadTsFileManager.java | 4 +-
.../queryengine/execution/load/TsFileSplitter.java | 13 +-
.../execution/operator/AggregationUtil.java | 5 +-
.../operator/process/AbstractSortOperator.java | 369 ++
.../operator/process/CollectOperator.java | 133 +
.../operator/process/DeviceViewIntoOperator.java | 3 +-
.../operator/process/DeviceViewOperator.java | 9 +-
.../operator/process/FilterAndProjectOperator.java | 78 +-
.../execution/operator/process/IntoOperator.java | 3 +-
.../operator/process/MergeSortOperator.java | 12 +-
.../execution/operator/process/SortOperator.java | 313 +-
.../operator/process/TableMergeSortOperator.java | 56 +
.../operator/process/TableSortOperator.java | 63 +
.../operator/process/TableStreamSortOperator.java | 220 ++
.../operator/process/TableTopKOperator.java | 57 +
.../execution/operator/process/TopKOperator.java | 32 +-
.../operator/process/TransformOperator.java | 11 +-
.../operator/process/TreeMergeSortOperator.java | 53 +
.../operator/process/TreeSortOperator.java | 60 +
.../operator/process/TreeTopKOperator.java | 57 +
.../execution/operator/process/fill/IFill.java | 3 +-
.../operator/process/fill/ILinearFill.java | 5 +-
.../process/fill/identity/IdentityFill.java | 3 +-
.../process/fill/identity/IdentityLinearFill.java | 5 +-
.../operator/process/fill/linear/LinearFill.java | 13 +-
.../process/join/HorizontallyConcatOperator.java | 3 +-
.../process/join/LeftOuterTimeJoinOperator.java | 3 +-
.../process/join/merge/MergeSortComparator.java | 24 +
.../process/join/merge/MultiColumnMerger.java | 5 +-
.../process/join/merge/SingleColumnMerger.java | 3 +-
.../schema/source/SchemaSourceFactory.java | 20 +
.../schema/source/TableDeviceFetchSource.java | 121 +
.../schema/source/TableDeviceQuerySource.java | 233 ++
.../source/AbstractSeriesScanOperator.java | 10 +-
.../source/ActiveDeviceRegionScanOperator.java | 2 +-
.../source/ActiveTimeSeriesRegionScanOperator.java | 3 +-
.../AlignedSeriesAggregationScanOperator.java | 6 +-
.../operator/source/AlignedSeriesScanOperator.java | 22 +-
.../operator/source/AlignedSeriesScanUtil.java | 16 +-
.../execution/operator/source/FileLoaderUtils.java | 37 +-
.../source/SeriesAggregationScanOperator.java | 6 +-
.../operator/source/SeriesScanOperator.java | 7 +-
.../execution/operator/source/SeriesScanUtil.java | 19 +-
.../source/relational/TableScanOperator.java | 329 ++
.../operator/window/ConditionWindowManager.java | 3 +-
.../operator/window/CountWindowManager.java | 3 +-
.../operator/window/SessionWindowManager.java | 4 +-
.../relational/ColumnTransformerBuilder.java | 894 +++++
.../warnings/DefaultWarningCollector.java | 56 +
.../execution/warnings/IoTDBWarning.java | 69 +
.../execution/warnings/StandardWarningCode.java | 38 +
.../execution/warnings/WarningCode.java | 68 +
.../execution/warnings/WarningCodeSupplier.java | 24 +
.../execution/warnings/WarningCollector.java | 43 +
.../iotdb/db/queryengine/plan/Coordinator.java | 143 +-
.../db/queryengine/plan/analyze/Analysis.java | 106 +-
.../db/queryengine/plan/analyze/AnalyzeUtils.java | 278 ++
.../queryengine/plan/analyze/AnalyzeVisitor.java | 539 ++-
.../db/queryengine/plan/analyze/Analyzer.java | 4 +
.../plan/analyze/ClusterPartitionFetcher.java | 121 +-
.../plan/analyze/ExpressionAnalyzer.java | 7 +-
.../plan/analyze/ExpressionTypeAnalyzer.java | 95 +-
.../queryengine/plan/analyze/ExpressionUtils.java | 8 +
.../db/queryengine/plan/analyze/IAnalysis.java | 17 +
.../plan/analyze/IPartitionFetcher.java | 33 +
.../plan/analyze/LoadTsfileAnalyzer.java | 53 +-
.../queryengine/plan/analyze/PredicateUtils.java | 35 +
.../queryengine/plan/analyze/SelectIntoUtils.java | 6 +-
.../plan/analyze/TemplatedAggregationAnalyze.java | 7 +-
.../queryengine/plan/analyze/TemplatedAnalyze.java | 32 +-
.../db/queryengine/plan/analyze/TemplatedInfo.java | 4 +-
.../db/queryengine/plan/analyze/TypeProvider.java | 145 +-
.../cache/partition/DatabaseCacheResult.java | 73 +
.../analyze/cache/partition/PartitionCache.java | 516 +--
.../cache/partition/StorageGroupCacheResult.java | 71 -
.../analyze/cache/schema/DataNodeSchemaCache.java | 2 +-
.../analyze/cache/schema/DataNodeTTLCache.java | 18 +-
.../schema/DeviceUsingTemplateSchemaCache.java | 4 +-
.../cache/schema/TimeSeriesSchemaCache.java | 6 +-
.../cache/schema/dualkeycache/IDualKeyCache.java | 15 +-
.../schema/dualkeycache/impl/DualKeyCacheImpl.java | 39 +-
.../plan/analyze/lock/SchemaLockType.java | 17 +-
.../analyze/schema/AutoCreateSchemaExecutor.java | 6 +-
.../analyze/schema/ClusterSchemaFetchExecutor.java | 3 +-
.../plan/analyze/schema/ClusterSchemaFetcher.java | 14 +-
.../plan/analyze/schema/ISchemaAutoCreation.java | 2 +
.../plan/analyze/schema/NormalSchemaFetcher.java | 5 +-
.../plan/analyze/schema/SchemaValidator.java | 17 +
.../queryengine/plan/execution/QueryExecution.java | 15 +-
.../plan/execution/config/ConfigTaskVisitor.java | 588 ----
.../execution/config/TableConfigTaskVisitor.java | 265 ++
.../execution/config/TreeConfigTaskVisitor.java | 588 ++++
.../config/executor/ClusterConfigTaskExecutor.java | 389 ++-
.../config/executor/IConfigTaskExecutor.java | 45 +-
.../relational/AlterTableAddColumnTask.java | 106 +
.../config/metadata/relational/CreateDBTask.java | 42 +
.../metadata/relational/CreateTableTask.java | 50 +
.../metadata/relational/DescribeTableTask.java | 85 +
.../config/metadata/relational/DropDBTask.java | 42 +
.../metadata/relational/ShowConfigNodesTask.java | 80 +
.../config/metadata/relational/ShowDBTask.java | 82 +
.../metadata/relational/ShowDataNodesTask.java | 85 +
.../config/metadata/relational/ShowTablesTask.java | 81 +
.../config/metadata/relational/UseDBTask.java | 46 +
.../memory/StatementMemorySourceVisitor.java | 6 +-
.../TableModelStatementMemorySourceContext.java | 41 +
.../TableModelStatementMemorySourceVisitor.java | 91 +
.../plan/expression/ExpressionFactory.java | 3 +-
.../plan/expression/leaf/TimeSeriesOperand.java | 45 +-
.../BindTypeForTimeSeriesOperandVisitor.java | 5 +-
.../visitor/ColumnTransformerVisitor.java | 2 +-
.../visitor/ExpressionNormalizeVisitor.java | 2 +-
.../visitor/GetMeasurementExpressionVisitor.java | 27 +-
.../visitor/RemoveRootPrefixVisitor.java | 2 +-
.../visitor/ReplaceLogicalViewVisitor.java | 17 +-
.../visitor/ReplaceSubTreeWithViewVisitor.java | 3 +-
.../predicate/ConvertPredicateToFilterVisitor.java | 2 +-
.../plan/optimization/AggregationPushDown.java | 15 +-
.../plan/optimization/ColumnInjectionPushDown.java | 2 +-
.../plan/optimization/LimitOffsetPushDown.java | 2 +-
.../OrderByExpressionWithLimitChangeToTopK.java | 2 +-
.../plan/optimization/PredicatePushDown.java | 4 +-
.../db/queryengine/plan/parser/ASTVisitor.java | 42 +-
.../plan/parser/StatementGenerator.java | 45 +-
.../plan/planner/LocalExecutionPlanContext.java | 11 +-
.../plan/planner/LocalExecutionPlanner.java | 48 +-
.../plan/planner/LogicalPlanBuilder.java | 104 +-
.../plan/planner/LogicalPlanVisitor.java | 49 +-
.../queryengine/plan/planner/LogicalPlanner.java | 3 +-
.../plan/planner/OperatorTreeGenerator.java | 192 +-
.../plan/planner/SubPlanTypeExtractor.java | 11 +-
.../plan/planner/TableOperatorGenerator.java | 812 +++++
.../plan/planner/TemplatedLogicalPlan.java | 33 +-
.../queryengine/plan/planner/TreeModelPlanner.java | 6 +-
.../planner/distribution/DistributionPlanner.java | 16 +-
.../planner/distribution/ExchangeNodeAdder.java | 16 +-
.../SimpleFragmentParallelPlanner.java | 18 +-
.../plan/planner/distribution/SourceRewriter.java | 25 +-
.../distribution/WriteFragmentParallelPlanner.java | 22 +-
.../plan/planner/plan/DistributedQueryPlan.java | 20 +-
.../plan/planner/plan/FragmentInstance.java | 13 +
.../plan/planner/plan/PlanFragment.java | 5 +
.../plan/planner/plan/TableModelTimePredicate.java | 67 +
.../plan/planner/plan/TimePredicate.java | 12 +-
.../plan/planner/plan/TreeModelTimePredicate.java | 2 +
.../plan/planner/plan/node/PlanGraphPrinter.java | 133 +-
.../plan/planner/plan/node/PlanNode.java | 10 +
.../plan/planner/plan/node/PlanNodeType.java | 167 +-
.../plan/planner/plan/node/PlanVisitor.java | 168 +-
.../planner/plan/node/load/LoadTsFileNode.java | 7 +-
.../metadata/read/AbstractSchemaMergeNode.java | 66 +
.../read/AbstractTableDeviceQueryNode.java | 218 ++
.../node/metadata/read/CountSchemaMergeNode.java | 71 +
.../metadata/read/DeviceSchemaFetchScanNode.java | 101 +
.../plan/node/metadata/read/DevicesCountNode.java | 98 +
.../node/metadata/read/DevicesSchemaScanNode.java | 158 +
.../metadata/read/LevelTimeSeriesCountNode.java | 174 +
.../metadata/read/LogicalViewSchemaScanNode.java | 141 +
.../read/NodeManagementMemoryMergeNode.java | 138 +
.../node/metadata/read/NodePathsConvertNode.java | 101 +
.../node/metadata/read/NodePathsCountNode.java | 101 +
.../metadata/read/NodePathsSchemaScanNode.java | 126 +
.../metadata/read/PathsUsingTemplateScanNode.java | 140 +
.../node/metadata/read/SchemaFetchMergeNode.java | 115 +
.../node/metadata/read/SchemaFetchScanNode.java | 88 +
.../node/metadata/read/SchemaQueryMergeNode.java | 97 +
.../metadata/read/SchemaQueryOrderByHeatNode.java | 99 +
.../node/metadata/read/SchemaQueryScanNode.java | 187 +
.../metadata/read/SeriesSchemaFetchScanNode.java | 176 +
.../node/metadata/read/TableDeviceFetchNode.java | 183 +
.../metadata/read/TableDeviceQueryCountNode.java | 84 +
.../metadata/read/TableDeviceQueryScanNode.java | 84 +
.../node/metadata/read/TableDeviceSourceNode.java | 131 +
.../node/metadata/read/TimeSeriesCountNode.java | 164 +
.../metadata/read/TimeSeriesSchemaScanNode.java | 207 ++
.../node/metadata/write/ActivateTemplateNode.java | 202 ++
.../node/metadata/write/AlterTimeSeriesNode.java | 384 ++
.../metadata/write/BatchActivateTemplateNode.java | 198 ++
.../write/ConstructSchemaBlackListNode.java | 111 +
.../write/CreateAlignedTimeSeriesNode.java | 467 +++
.../metadata/write/CreateMultiTimeSeriesNode.java | 302 ++
.../node/metadata/write/CreateTimeSeriesNode.java | 400 +++
.../metadata/write/DeactivateTemplateNode.java | 149 +
.../node/metadata/write/DeleteTimeSeriesNode.java | 116 +
.../write/InternalBatchActivateTemplateNode.java | 186 +
.../write/InternalCreateMultiTimeSeriesNode.java | 189 +
.../write/InternalCreateTimeSeriesNode.java | 162 +
.../plan/node/metadata/write/MeasurementGroup.java | 424 +++
.../metadata/write/PreDeactivateTemplateNode.java | 149 +
.../write/RollbackPreDeactivateTemplateNode.java | 151 +
.../write/RollbackSchemaBlackListNode.java | 111 +
.../metadata/write/view/AlterLogicalViewNode.java | 156 +
.../view/ConstructLogicalViewBlackListNode.java | 111 +
.../metadata/write/view/CreateLogicalViewNode.java | 298 ++
.../metadata/write/view/DeleteLogicalViewNode.java | 96 +
.../view/RollbackLogicalViewBlackListNode.java | 96 +
.../metedata/read/AbstractSchemaMergeNode.java | 66 -
.../node/metedata/read/CountSchemaMergeNode.java | 71 -
.../metedata/read/DeviceSchemaFetchScanNode.java | 101 -
.../plan/node/metedata/read/DevicesCountNode.java | 98 -
.../node/metedata/read/DevicesSchemaScanNode.java | 157 -
.../metedata/read/LevelTimeSeriesCountNode.java | 174 -
.../metedata/read/LogicalViewSchemaScanNode.java | 141 -
.../read/NodeManagementMemoryMergeNode.java | 138 -
.../node/metedata/read/NodePathsConvertNode.java | 101 -
.../node/metedata/read/NodePathsCountNode.java | 101 -
.../metedata/read/NodePathsSchemaScanNode.java | 126 -
.../metedata/read/PathsUsingTemplateScanNode.java | 140 -
.../node/metedata/read/SchemaFetchMergeNode.java | 115 -
.../node/metedata/read/SchemaFetchScanNode.java | 88 -
.../node/metedata/read/SchemaQueryMergeNode.java | 97 -
.../metedata/read/SchemaQueryOrderByHeatNode.java | 99 -
.../node/metedata/read/SchemaQueryScanNode.java | 187 -
.../metedata/read/SeriesSchemaFetchScanNode.java | 176 -
.../node/metedata/read/TimeSeriesCountNode.java | 163 -
.../metedata/read/TimeSeriesSchemaScanNode.java | 206 --
.../node/metedata/write/ActivateTemplateNode.java | 200 --
.../node/metedata/write/AlterTimeSeriesNode.java | 382 --
.../metedata/write/BatchActivateTemplateNode.java | 196 --
.../write/ConstructSchemaBlackListNode.java | 111 -
.../write/CreateAlignedTimeSeriesNode.java | 465 ---
.../metedata/write/CreateMultiTimeSeriesNode.java | 299 --
.../node/metedata/write/CreateTimeSeriesNode.java | 399 ---
.../metedata/write/DeactivateTemplateNode.java | 149 -
.../node/metedata/write/DeleteTimeSeriesNode.java | 116 -
.../write/InternalBatchActivateTemplateNode.java | 184 -
.../write/InternalCreateMultiTimeSeriesNode.java | 187 -
.../write/InternalCreateTimeSeriesNode.java | 160 -
.../plan/node/metedata/write/MeasurementGroup.java | 424 ---
.../metedata/write/PreDeactivateTemplateNode.java | 149 -
.../write/RollbackPreDeactivateTemplateNode.java | 151 -
.../write/RollbackSchemaBlackListNode.java | 111 -
.../metedata/write/view/AlterLogicalViewNode.java | 156 -
.../view/ConstructLogicalViewBlackListNode.java | 111 -
.../metedata/write/view/CreateLogicalViewNode.java | 294 --
.../metedata/write/view/DeleteLogicalViewNode.java | 96 -
.../view/RollbackLogicalViewBlackListNode.java | 96 -
.../node/pipe/PipeEnrichedNonWritePlanNode.java | 10 +-
.../plan/node/pipe/PipeEnrichedWritePlanNode.java | 20 +-
.../planner/plan/node/process/DeviceViewNode.java | 50 +-
.../plan/node/process/SingleDeviceViewNode.java | 27 +-
.../plan/node/source/AlignedLastQueryScanNode.java | 2 +-
.../plan/node/source/AlignedSeriesScanNode.java | 2 +-
.../plan/planner/plan/node/source/SourceNode.java | 3 +-
.../plan/node/source/TimeseriesRegionScanNode.java | 10 +-
.../planner/plan/node/write/DeleteDataNode.java | 40 +-
.../plan/node/write/InsertMultiTabletsNode.java | 5 -
.../plan/planner/plan/node/write/InsertNode.java | 88 +-
.../planner/plan/node/write/InsertRowNode.java | 68 +-
.../planner/plan/node/write/InsertRowsNode.java | 27 +-
.../plan/node/write/InsertRowsOfOneDeviceNode.java | 22 +-
.../planner/plan/node/write/InsertTabletNode.java | 359 +-
.../plan/node/write/RelationalInsertRowNode.java | 233 ++
.../plan/node/write/RelationalInsertRowsNode.java | 188 +
.../node/write/RelationalInsertTabletNode.java | 257 ++
.../parameter/DeviceViewIntoPathDescriptor.java | 2 +-
.../planner/plan/parameter/SeriesScanOptions.java | 58 +-
.../relational/analyzer/AggregationAnalyzer.java | 465 +++
.../plan/relational/analyzer/Analysis.java | 997 ++++++
.../plan/relational/analyzer/Analyzer.java | 98 +
.../relational/analyzer/CanonicalizationAware.java | 105 +
.../relational/analyzer/CorrelationSupport.java | 25 +
.../relational/analyzer/ExpressionAnalysis.java | 99 +
.../relational/analyzer/ExpressionAnalyzer.java | 1534 ++++++++
.../relational/analyzer/ExpressionTreeUtils.java | 98 +
.../plan/relational/analyzer/Field.java | 218 ++
.../plan/relational/analyzer/FieldId.java | 80 +
.../plan/relational/analyzer/NodeRef.java | 63 +
.../plan/relational/analyzer/RelationId.java | 91 +
.../plan/relational/analyzer/RelationType.java | 185 +
.../plan/relational/analyzer/ResolvedField.java | 77 +
.../plan/relational/analyzer/Scope.java | 401 +++
.../analyzer/ScopeReferenceExtractor.java | 60 +
.../relational/analyzer/StatementAnalyzer.java | 2530 ++++++++++++++
.../analyzer/StatementAnalyzerFactory.java | 69 +
.../predicate/ConvertPredicateToFilterVisitor.java | 391 +++
.../ConvertPredicateToTimeFilterVisitor.java | 220 ++
.../PredicateCombineIntoTableScanChecker.java | 149 +
.../PredicatePushIntoMetadataChecker.java | 146 +
.../predicate/PredicatePushIntoScanChecker.java | 131 +
.../analyzer/predicate/PredicateVisitor.java | 87 +
.../schema/CheckSchemaPredicateVisitor.java | 155 +
.../ConvertSchemaPredicateToFilterVisitor.java | 227 ++
.../schema/ExtractPredicateColumnNameVisitor.java | 125 +
.../querystats/PlanOptimizersStatsCollector.java | 75 +
.../querystats/QueryPlanOptimizerStatistics.java | 57 +
.../querystats/QueryPlanOptimizerStats.java | 84 +
.../plan/relational/function/BoundSignature.java | 97 +
.../plan/relational/function/FunctionId.java | 68 +
.../plan/relational/function/FunctionKind.java | 27 +
.../function/LongVariableConstraint.java | 64 +
.../plan/relational/function/OperatorType.java | 67 +
.../plan/relational/function/Signature.java | 213 ++
.../function/TypeVariableConstraint.java | 192 +
.../metadata/BuiltinFunctionResolver.java | 22 +
.../plan/relational/metadata/ColumnHandle.java | 40 +
.../plan/relational/metadata/ColumnMetadata.java | 213 ++
.../plan/relational/metadata/ColumnSchema.java | 214 ++
.../plan/relational/metadata/DeviceEntry.java | 131 +
.../metadata/ITableDeviceSchemaValidation.java | 66 +
.../plan/relational/metadata/Metadata.java | 181 +
.../plan/relational/metadata/MetadataUtil.java | 139 +
.../metadata/OperatorNotFoundException.java | 119 +
.../relational/metadata/QualifiedObjectName.java | 106 +
.../relational/metadata/QualifiedTablePrefix.java | 87 +
.../plan/relational/metadata/ResolvedFunction.java | 107 +
.../plan/relational/metadata/TableHandle.java | 22 +
.../plan/relational/metadata/TableMetadata.java | 93 +
.../relational/metadata/TableMetadataImpl.java | 431 +++
.../plan/relational/metadata/TableSchema.java | 109 +
.../fetcher/DeviceInCacheFilterVisitor.java | 66 +
.../metadata/fetcher/SchemaPredicateUtil.java | 232 ++
.../metadata/fetcher/TableDeviceSchemaFetcher.java | 445 +++
.../fetcher/TableDeviceSchemaValidator.java | 256 ++
.../fetcher/TableHeaderSchemaValidator.java | 263 ++
.../fetcher/cache/TableDeviceCacheEntry.java | 54 +
.../metadata/fetcher/cache/TableDeviceId.java | 66 +
.../fetcher/cache/TableDeviceSchemaCache.java | 100 +
.../relational/metadata/fetcher/cache/TableId.java | 69 +
.../plan/relational/planner/Assignments.java | 255 ++
.../relational/planner/ExpressionExtractor.java | 117 +
.../planner/ExpressionSymbolInliner.java | 65 +
.../plan/relational/planner/LogicalPlanner.java | 357 ++
.../plan/relational/planner/OrderingScheme.java | 132 +
.../relational/planner/OrderingTranslator.java | 34 +
.../plan/relational/planner/PlanBuilder.java | 150 +
.../plan/relational/planner/PlanNodeSearcher.java | 226 ++
.../plan/relational/planner/PlannerContext.java | 44 +
.../plan/relational/planner/PredicateUtils.java | 415 +++
.../plan/relational/planner/QueryPlanner.java | 313 ++
.../plan/relational/planner/RelationPlan.java | 81 +
.../plan/relational/planner/RelationPlanner.java | 278 ++
.../relational/planner/RelationalModelPlanner.java | 154 +
.../relational/planner/RelationalPlanVisitor.java | 78 +
.../plan/relational/planner/ScopeAware.java | 194 ++
.../plan/relational/planner/SortOrder.java | 44 +
.../plan/relational/planner/Symbol.java | 100 +
.../plan/relational/planner/SymbolAllocator.java | 90 +
.../plan/relational/planner/SymbolResolver.java | 24 +
.../plan/relational/planner/SymbolsExtractor.java | 200 ++
.../plan/relational/planner/TranslationMap.java | 331 ++
.../planner/distribute/AddExchangeNodes.java | 129 +
.../planner/distribute/SubPlanGenerator.java | 75 +
.../distribute/TableDistributedPlanGenerator.java | 613 ++++
.../distribute/TableDistributedPlanner.java | 201 ++
.../distribute/TableModelQueryFragmentPlanner.java | 236 ++
.../TableModelTypeProviderExtractor.java | 179 +
.../planner/ir/DefaultTraversalVisitor.java | 187 +
.../planner/ir/DeterminismEvaluator.java | 41 +
.../relational/planner/ir/ExpressionRewriter.java | 166 +
.../planner/ir/ExpressionTreeRewriter.java | 606 ++++
.../ExtractCommonPredicatesExpressionRewriter.java | 184 +
.../ir/GlobalTimePredicateExtractVisitor.java | 288 ++
.../plan/relational/planner/ir/IrUtils.java | 300 ++
.../plan/relational/planner/ir/IrVisitor.java | 116 +
.../planner/ir/NormalizeOrExpressionRewriter.java | 132 +
.../relational/planner/ir/RewritingVisitor.java | 240 ++
.../relational/planner/ir/SerializeVisitor.java | 22 +
.../planner/iterative/GroupReference.java | 86 +
.../planner/iterative/IterativeOptimizer.java | 365 ++
.../plan/relational/planner/iterative/Lookup.java | 65 +
.../plan/relational/planner/iterative/Memo.java | 225 ++
.../plan/relational/planner/iterative/Plans.java | 54 +
.../plan/relational/planner/iterative/Rule.java | 87 +
.../relational/planner/iterative/RuleIndex.java | 76 +
.../relational/planner/iterative/RuleStats.java | 53 +
.../planner/iterative/RuleStatsRecorder.java | 45 +
.../rule/EliminateLimitProjectWithTableScan.java | 61 +
.../rule/EliminateLimitWithTableScan.java | 50 +
.../planner/iterative/rule/InlineProjections.java | 220 ++
.../rule/MergeLimitOverProjectWithMergeSort.java | 87 +
.../rule/MergeLimitOverProjectWithSort.java | 98 +
.../iterative/rule/MergeLimitWithMergeSort.java | 118 +
.../planner/iterative/rule/MergeLimitWithSort.java | 60 +
.../iterative/rule/ProjectOffPushDownRule.java | 67 +
.../planner/iterative/rule/PruneFilterColumns.java | 46 +
.../planner/iterative/rule/PruneLimitColumns.java | 36 +
.../planner/iterative/rule/PruneOffsetColumns.java | 36 +
.../iterative/rule/PruneOutputSourceColumns.java | 43 +
.../iterative/rule/PruneProjectColumns.java | 39 +
.../planner/iterative/rule/PruneSortColumns.java | 44 +
.../iterative/rule/PruneTableScanColumns.java | 105 +
.../planner/iterative/rule/PruneTopKColumns.java | 49 +
.../iterative/rule/PushLimitThroughOffset.java | 80 +
.../iterative/rule/PushLimitThroughProject.java | 58 +
.../rule/RemoveRedundantIdentityProjections.java | 48 +
.../relational/planner/iterative/rule/Util.java | 137 +
.../relational/planner/node/ChildReplacer.java | 32 +
.../plan/relational/planner/node/CollectNode.java | 131 +
.../planner/node/CreateTableDeviceNode.java | 319 ++
.../plan/relational/planner/node/FilterNode.java | 115 +
.../plan/relational/planner/node/LimitNode.java | 128 +
.../relational/planner/node/MergeSortNode.java | 141 +
.../plan/relational/planner/node/OffsetNode.java | 106 +
.../plan/relational/planner/node/OutputNode.java | 147 +
.../plan/relational/planner/node/Patterns.java | 432 +++
.../plan/relational/planner/node/ProjectNode.java | 125 +
.../plan/relational/planner/node/SortNode.java | 126 +
.../relational/planner/node/StreamSortNode.java | 120 +
.../relational/planner/node/TableScanNode.java | 494 +++
.../plan/relational/planner/node/TopKNode.java | 173 +
.../optimizations/AdaptivePlanOptimizer.java | 56 +
.../optimizations/DistributedOptimizeFactory.java | 56 +
.../optimizations/LogicalOptimizeFactory.java | 103 +
.../planner/optimizations/PlanOptimizer.java | 101 +
.../PushLimitOffsetIntoTableScan.java | 272 ++
.../optimizations/PushPredicateIntoTableScan.java | 382 ++
.../planner/optimizations/SimplifyExpressions.java | 59 +
.../planner/optimizations/SortElimination.java | 94 +
.../optimizations/TransformSortToStreamSort.java | 145 +
.../relational/planner/optimizations/Util.java | 138 +
.../plan/relational/security/AccessControl.java | 22 +
.../plan/relational/security/Identity.java | 32 +
.../relational/sql/ast/AbstractQueryDevice.java | 147 +
.../plan/relational/sql/ast/AddColumn.java | 88 +
.../plan/relational/sql/ast/AliasedRelation.java | 112 +
.../plan/relational/sql/ast/AllColumns.java | 130 +
.../plan/relational/sql/ast/AllRows.java | 67 +
.../sql/ast/ArithmeticBinaryExpression.java | 142 +
.../sql/ast/ArithmeticUnaryExpression.java | 135 +
.../plan/relational/sql/ast/AstVisitor.java | 505 +++
.../plan/relational/sql/ast/BetweenPredicate.java | 128 +
.../plan/relational/sql/ast/BinaryLiteral.java | 139 +
.../plan/relational/sql/ast/BooleanLiteral.java | 112 +
.../queryengine/plan/relational/sql/ast/Cast.java | 159 +
.../relational/sql/ast/CoalesceExpression.java | 92 +
.../plan/relational/sql/ast/ColumnDefinition.java | 123 +
.../relational/sql/ast/ComparisonExpression.java | 195 ++
.../plan/relational/sql/ast/CountDevice.java | 38 +
.../plan/relational/sql/ast/CreateDB.java | 115 +
.../plan/relational/sql/ast/CreateDevice.java | 123 +
.../plan/relational/sql/ast/CreateFunction.java | 104 +
.../plan/relational/sql/ast/CreateIndex.java | 110 +
.../plan/relational/sql/ast/CreateTable.java | 132 +
.../plan/relational/sql/ast/CurrentDatabase.java | 70 +
.../plan/relational/sql/ast/CurrentTime.java | 113 +
.../plan/relational/sql/ast/CurrentUser.java | 70 +
.../plan/relational/sql/ast/DataType.java | 28 +
.../plan/relational/sql/ast/DataTypeParameter.java | 34 +
.../plan/relational/sql/ast/DecimalLiteral.java | 103 +
.../sql/ast/DefaultExpressionTraversalVisitor.java | 29 +
.../sql/ast/DefaultTraversalVisitor.java | 490 +++
.../plan/relational/sql/ast/Delete.java | 94 +
.../relational/sql/ast/DereferenceExpression.java | 151 +
.../plan/relational/sql/ast/DescribeTable.java | 80 +
.../plan/relational/sql/ast/DoubleLiteral.java | 106 +
.../plan/relational/sql/ast/DropColumn.java | 86 +
.../plan/relational/sql/ast/DropDB.java | 86 +
.../plan/relational/sql/ast/DropFunction.java | 74 +
.../plan/relational/sql/ast/DropIndex.java | 88 +
.../plan/relational/sql/ast/DropTable.java | 86 +
.../plan/relational/sql/ast/Except.java | 107 +
.../plan/relational/sql/ast/ExistsPredicate.java | 80 +
.../plan/relational/sql/ast/Explain.java | 79 +
.../plan/relational/sql/ast/ExplainAnalyze.java | 86 +
.../plan/relational/sql/ast/Expression.java | 155 +
.../plan/relational/sql/ast/FetchDevice.java | 110 +
.../plan/relational/sql/ast/FieldReference.java | 80 +
.../queryengine/plan/relational/sql/ast/Flush.java | 35 +
.../plan/relational/sql/ast/FunctionCall.java | 145 +
.../plan/relational/sql/ast/GenericDataType.java | 111 +
.../plan/relational/sql/ast/GenericLiteral.java | 132 +
.../plan/relational/sql/ast/GroupBy.java | 100 +
.../plan/relational/sql/ast/GroupByTime.java | 145 +
.../plan/relational/sql/ast/GroupingElement.java | 36 +
.../plan/relational/sql/ast/GroupingSets.java | 114 +
.../plan/relational/sql/ast/Identifier.java | 168 +
.../plan/relational/sql/ast/IfExpression.java | 105 +
.../plan/relational/sql/ast/InListExpression.java | 110 +
.../plan/relational/sql/ast/InPredicate.java | 106 +
.../plan/relational/sql/ast/Insert.java | 107 +
.../plan/relational/sql/ast/InsertRow.java | 88 +
.../plan/relational/sql/ast/InsertRows.java | 150 +
.../plan/relational/sql/ast/InsertTablet.java | 98 +
.../plan/relational/sql/ast/Intersect.java | 91 +
.../relational/sql/ast/IsNotNullPredicate.java | 97 +
.../plan/relational/sql/ast/IsNullPredicate.java | 97 +
.../queryengine/plan/relational/sql/ast/Join.java | 165 +
.../plan/relational/sql/ast/JoinCriteria.java | 37 +
.../plan/relational/sql/ast/JoinOn.java | 68 +
.../plan/relational/sql/ast/JoinUsing.java | 70 +
.../plan/relational/sql/ast/LikePredicate.java | 143 +
.../queryengine/plan/relational/sql/ast/Limit.java | 96 +
.../plan/relational/sql/ast/Literal.java | 47 +
.../plan/relational/sql/ast/LogicalExpression.java | 148 +
.../plan/relational/sql/ast/LongLiteral.java | 137 +
.../plan/relational/sql/ast/NaturalJoin.java | 51 +
.../queryengine/plan/relational/sql/ast/Node.java | 71 +
.../plan/relational/sql/ast/NodeLocation.java | 68 +
.../plan/relational/sql/ast/NotExpression.java | 97 +
.../plan/relational/sql/ast/NullIfExpression.java | 86 +
.../plan/relational/sql/ast/NullLiteral.java | 81 +
.../plan/relational/sql/ast/NumericParameter.java | 88 +
.../plan/relational/sql/ast/Offset.java | 94 +
.../plan/relational/sql/ast/OrderBy.java | 89 +
.../plan/relational/sql/ast/Parameter.java | 82 +
.../plan/relational/sql/ast/Property.java | 120 +
.../plan/relational/sql/ast/QualifiedName.java | 206 ++
.../sql/ast/QuantifiedComparisonExpression.java | 123 +
.../queryengine/plan/relational/sql/ast/Query.java | 146 +
.../plan/relational/sql/ast/QueryBody.java | 34 +
.../relational/sql/ast/QuerySpecification.java | 169 +
.../plan/relational/sql/ast/Relation.java | 32 +
.../plan/relational/sql/ast/RenameColumn.java | 92 +
.../plan/relational/sql/ast/RenameTable.java | 85 +
.../queryengine/plan/relational/sql/ast/Row.java | 77 +
.../relational/sql/ast/SearchedCaseExpression.java | 107 +
.../plan/relational/sql/ast/Select.java | 100 +
.../plan/relational/sql/ast/SelectItem.java | 27 +
.../plan/relational/sql/ast/SetConfiguration.java | 34 +
.../plan/relational/sql/ast/SetOperation.java | 42 +
.../plan/relational/sql/ast/SetProperties.java | 107 +
.../plan/relational/sql/ast/ShowCluster.java | 90 +
.../plan/relational/sql/ast/ShowConfigNodes.java | 66 +
.../plan/relational/sql/ast/ShowDB.java | 64 +
.../plan/relational/sql/ast/ShowDataNodes.java | 66 +
.../plan/relational/sql/ast/ShowDevice.java | 54 +
.../plan/relational/sql/ast/ShowFunctions.java | 65 +
.../plan/relational/sql/ast/ShowIndex.java | 78 +
.../plan/relational/sql/ast/ShowRegions.java | 103 +
.../plan/relational/sql/ast/ShowTables.java | 92 +
.../relational/sql/ast/SimpleCaseExpression.java | 124 +
.../plan/relational/sql/ast/SimpleGroupBy.java | 89 +
.../plan/relational/sql/ast/SingleColumn.java | 114 +
.../plan/relational/sql/ast/SortItem.java | 122 +
.../relational/sql/ast/StackableAstVisitor.java | 65 +
.../plan/relational/sql/ast/Statement.java | 34 +
.../plan/relational/sql/ast/StringLiteral.java | 112 +
.../relational/sql/ast/SubqueryExpression.java | 79 +
.../plan/relational/sql/ast/SymbolReference.java | 87 +
.../queryengine/plan/relational/sql/ast/Table.java | 89 +
.../relational/sql/ast/TableExpressionType.java | 57 +
.../plan/relational/sql/ast/TableSubquery.java | 85 +
.../plan/relational/sql/ast/TimeRange.java | 95 +
.../queryengine/plan/relational/sql/ast/Trim.java | 141 +
.../plan/relational/sql/ast/TypeParameter.java | 78 +
.../queryengine/plan/relational/sql/ast/Union.java | 92 +
.../plan/relational/sql/ast/Update.java | 109 +
.../plan/relational/sql/ast/UpdateAssignment.java | 84 +
.../queryengine/plan/relational/sql/ast/Use.java | 81 +
.../plan/relational/sql/ast/Values.java | 83 +
.../plan/relational/sql/ast/WhenClause.java | 86 +
.../queryengine/plan/relational/sql/ast/With.java | 100 +
.../plan/relational/sql/ast/WithQuery.java | 130 +
.../relational/sql/ast/WrappedInsertStatement.java | 221 ++
.../plan/relational/sql/ast/WrappedStatement.java | 83 +
.../relational/sql/parser/AntlrATNCacheFields.java | 70 +
.../plan/relational/sql/parser/AstBuilder.java | 2004 +++++++++++
.../sql/parser/CaseInsensitiveStream.java | 85 +
.../plan/relational/sql/parser/ErrorHandler.java | 438 +++
.../relational/sql/parser/ParsingException.java | 69 +
.../RefreshableSqlBaseParserInitializer.java | 52 +
.../plan/relational/sql/parser/SqlParser.java | 264 ++
.../plan/relational/sql/util/AstUtil.java | 114 +
.../relational/sql/util/ExpressionFormatter.java | 673 ++++
.../plan/relational/sql/util/QueryUtil.java | 208 ++
.../relational/sql/util/ReservedIdentifiers.java | 49 +
.../plan/relational/sql/util/SqlFormatter.java | 783 +++++
.../plan/relational/type/InternalTypeManager.java | 109 +
.../plan/relational/type/NamedTypeSignature.java | 79 +
.../plan/relational/type/ParameterKind.java | 27 +
.../plan/relational/type/RowFieldName.java | 63 +
.../plan/relational/type/StandardTypes.java | 55 +
.../queryengine/plan/relational/type/TypeId.java | 66 +
.../plan/relational/type/TypeManager.java | 37 +
.../relational/type/TypeNotFoundException.java | 43 +
.../plan/relational/type/TypeSignature.java | 207 ++
.../relational/type/TypeSignatureParameter.java | 175 +
.../relational/type/TypeSignatureTranslator.java | 107 +
.../plan/relational/utils/ConversionUtils.java | 26 +
.../plan/relational/utils/MoreLists.java | 53 +
.../plan/relational/utils/NodeUtils.java | 36 +
.../plan/relational/utils/matching/Capture.java | 43 +
.../plan/relational/utils/matching/Captures.java | 86 +
.../relational/utils/matching/DefaultPrinter.java | 77 +
.../plan/relational/utils/matching/Match.java | 66 +
.../plan/relational/utils/matching/Pattern.java | 120 +
.../relational/utils/matching/PatternVisitor.java | 46 +
.../plan/relational/utils/matching/Property.java | 89 +
.../relational/utils/matching/PropertyPattern.java | 51 +
.../utils/matching/pattern/CapturePattern.java | 53 +
.../utils/matching/pattern/EqualsPattern.java | 53 +
.../utils/matching/pattern/FilterPattern.java | 55 +
.../utils/matching/pattern/TypeOfPattern.java | 59 +
.../utils/matching/pattern/WithPattern.java | 65 +
.../plan/scheduler/load/LoadTsFileScheduler.java | 13 +-
.../db/queryengine/plan/statement/Statement.java | 8 +-
.../plan/statement/component/HavingCondition.java | 8 +-
.../plan/statement/crud/DeleteDataStatement.java | 12 +-
.../plan/statement/crud/InsertBaseStatement.java | 176 +-
.../plan/statement/crud/InsertRowStatement.java | 78 +-
.../crud/InsertRowsOfOneDeviceStatement.java | 2 +-
.../plan/statement/crud/InsertRowsStatement.java | 11 +
.../plan/statement/crud/InsertStatement.java | 2 +-
.../plan/statement/crud/InsertTabletStatement.java | 115 +-
.../internal/DeviceSchemaFetchStatement.java | 1 +
.../InternalBatchActivateTemplateStatement.java | 2 +-
.../InternalCreateMultiTimeSeriesStatement.java | 5 +-
.../InternalCreateTimeSeriesStatement.java | 4 +-
.../metadata/CountTimeSlotListStatement.java | 7 +-
.../metadata/CreateAlignedTimeSeriesStatement.java | 2 +-
.../metadata/CreateMultiTimeSeriesStatement.java | 10 +-
.../metadata/CreateTimeSeriesStatement.java | 7 +-
.../statement/metadata/GetRegionIdStatement.java | 7 +-
.../metadata/GetTimeSlotListStatement.java | 7 +-
.../template/ActivateTemplateStatement.java | 2 +-
.../template/BatchActivateTemplateStatement.java | 2 +-
.../template/DeactivateTemplateStatement.java | 3 +-
.../statistics/SpecifiedInfoMergerFactory.java | 6 +-
.../dag/column/CaseWhenThenColumnTransformer.java | 13 +-
.../dag/column/ColumnTransformer.java | 8 +-
.../binary/CompareBinaryColumnTransformer.java | 4 +-
.../binary/CompareEqualToColumnTransformer.java | 12 +-
.../binary/CompareNonEqualColumnTransformer.java | 12 +-
.../multi/LogicalAndMultiColumnTransformer.java | 65 +
.../multi/LogicalMultiColumnTransformer.java | 44 +
.../multi/LogicalOrMultiColumnTransformer.java | 64 +
.../dag/column/multi/MultiColumnTransformer.java | 67 +
.../column/ternary/BetweenColumnTransformer.java | 5 +-
.../ternary/CompareTernaryColumnTransformer.java | 33 +-
.../column/ternary/TernaryColumnTransformer.java | 23 +
.../dag/column/unary/InColumnTransformer.java | 98 +-
.../dag/column/unary/RegularColumnTransformer.java | 5 +-
.../scalar/CastFunctionColumnTransformer.java | 52 +-
.../column/unary/scalar/DiffColumnTransformer.java | 73 +
.../unary/scalar/Replace2ColumnTransformer.java | 66 +
.../unary/scalar/Replace3ColumnTransformer.java | 75 +
.../unary/scalar/RoundColumnTransformer.java | 78 +
.../unary/scalar/SubString2ColumnTransformer.java | 63 +
.../unary/scalar/SubString3ColumnTransformer.java | 78 +
.../scalar/SubStringFunctionColumnTransformer.java | 4 +-
.../SingleInputMultiReferenceLayer.java | 14 +-
.../SingleInputSingleReferenceLayer.java | 12 +-
.../iterator/TVListForwardIterator.java | 3 +-
.../datastructure/row/SerializableRowList.java | 3 +-
.../tv/ElasticSerializableBinaryTVList.java | 8 +-
.../tv/ElasticSerializableTVList.java | 11 +-
.../datastructure/tv/SerializableTVList.java | 15 +-
.../schemaengine/schemaregion/ISchemaRegion.java | 21 +
.../attribute/DeviceAttributeStore.java | 191 +
.../attribute/IDeviceAttributeStore.java | 39 +
.../schemaregion/impl/SchemaRegionMemoryImpl.java | 67 +-
.../schemaregion/impl/SchemaRegionPBTreeImpl.java | 30 +-
.../visitor/SchemaRegionPlanDeserializer.java | 8 +-
.../mtree/impl/mem/MTreeBelowSGMemoryImpl.java | 286 +-
.../mtree/impl/mem/mnode/basic/BasicMNode.java | 3 +-
.../container/KeyNullableConcurrentHashMap.java | 175 +
.../mem/mnode/container/MemMNodeContainer.java | 3 +-
.../mtree/impl/mem/mnode/info/BasicMNodeInfo.java | 2 +-
.../mtree/impl/mem/mnode/info/LogicalViewInfo.java | 3 +-
.../mtree/impl/mem/mnode/info/TableDeviceInfo.java | 119 +
.../impl/mem/snapshot/MemMTreeSnapshotUtil.java | 36 +-
.../mtree/impl/pbtree/MTreeBelowSGCachedImpl.java | 6 +-
.../mtree/traverser/basic/DatabaseTraverser.java | 13 +-
.../mtree/traverser/basic/EntityTraverser.java | 25 +-
.../mtree/traverser/collector/EntityCollector.java | 15 +-
.../read/req/impl/ShowTableDevicesPlan.java | 44 +
.../read/resp/info/IDeviceSchemaInfo.java | 4 +
.../read/resp/info/impl/ShowDevicesResult.java | 42 +-
.../schemaengine/schemaregion/utils/MetaUtils.java | 26 +-
.../schemaregion/utils/ResourceByPathUtils.java | 100 +-
.../utils/filter/DeviceFilterVisitor.java | 36 +-
.../utils/filter/FilterContainsVisitor.java | 11 +-
.../utils/filter/TimeseriesFilterVisitor.java | 8 +-
.../write/req/ICreateTimeSeriesPlan.java | 6 +-
.../write/req/SchemaRegionWritePlanFactory.java | 3 +-
.../write/req/impl/CreateTimeSeriesPlanImpl.java | 12 +-
.../db/schemaengine/table/DataNodeTableCache.java | 225 ++
.../iotdb/db/schemaengine/table/ITableCache.java | 38 +
.../java/org/apache/iotdb/db/service/DataNode.java | 4 +
.../iotdb/db/service/metrics/CacheMetrics.java | 28 +-
.../iotdb/db/storageengine/StorageEngine.java | 2 +-
.../buffer/TimeSeriesMetadataCache.java | 15 +-
.../db/storageengine/dataregion/DataRegion.java | 340 +-
.../dataregion/IDataRegionForQuery.java | 8 +-
.../dataregion/VirtualDataRegion.java | 8 +-
.../CompactionTableSchemaNotMatchException.java | 26 +
.../performer/impl/FastCompactionPerformer.java | 18 +-
.../impl/ReadChunkCompactionPerformer.java | 4 +
.../impl/ReadPointCompactionPerformer.java | 27 +-
.../RepairUnsortedFileCompactionPerformer.java | 4 +-
.../execute/utils/CompactionPathUtils.java | 5 +-
.../execute/utils/CompactionTableSchema.java | 86 +
.../utils/CompactionTableSchemaCollector.java | 97 +
.../execute/utils/MultiTsFileDeviceIterator.java | 13 +-
.../readchunk/AlignedSeriesCompactionExecutor.java | 3 +-
.../ReadChunkAlignedSeriesCompactionExecutor.java | 3 +-
.../utils/reader/SeriesDataBlockReader.java | 25 +-
.../utils/writer/AbstractCompactionWriter.java | 24 +-
.../writer/AbstractCrossCompactionWriter.java | 5 +
.../writer/AbstractInnerCompactionWriter.java | 7 +
.../writer/ReadPointCrossCompactionWriter.java | 2 +-
.../writer/ReadPointInnerCompactionWriter.java | 2 +-
.../compaction/io/CompactionTsFileReader.java | 2 +-
.../compaction/io/CompactionTsFileWriter.java | 19 +
.../compaction/repair/RepairDataFileScanUtil.java | 38 +-
.../estimator/AbstractCompactionEstimator.java | 19 +-
.../selector/impl/SettleSelectorImpl.java | 9 +-
.../selector/utils/TsFileResourceCandidate.java | 4 +-
.../dataregion/memtable/AbstractMemTable.java | 126 +-
.../memtable/AlignedReadOnlyMemChunk.java | 4 +-
.../memtable/AlignedWritableMemChunk.java | 12 +-
.../memtable/AlignedWritableMemChunkGroup.java | 6 +-
.../dataregion/memtable/DeviceIDFactory.java | 55 +-
.../dataregion/memtable/IMemTable.java | 11 +-
.../dataregion/memtable/IWritableMemChunk.java | 6 +-
.../memtable/IWritableMemChunkGroup.java | 4 +-
.../dataregion/memtable/ReadOnlyMemChunk.java | 3 +-
.../dataregion/memtable/TsFileProcessor.java | 466 ++-
.../dataregion/memtable/WritableMemChunk.java | 6 +-
.../dataregion/memtable/WritableMemChunkGroup.java | 4 +-
.../dataregion/modification/Deletion.java | 12 +-
.../dataregion/modification/Modification.java | 12 +-
.../io/LocalTextModificationAccessor.java | 6 +-
.../dataregion/read/QueryDataSource.java | 9 +
.../dataregion/read/control/FileReaderManager.java | 4 +-
.../filescan/impl/ClosedFileScanHandleImpl.java | 6 +-
.../filescan/impl/UnclosedFileScanHandleImpl.java | 6 +-
.../metadata/MemAlignedChunkMetadataLoader.java | 6 +-
.../chunk/metadata/MemChunkMetadataLoader.java | 6 +-
.../dataregion/tsfile/TsFileResource.java | 40 +-
.../tsfile/timeindex/ArrayDeviceTimeIndex.java | 461 +++
.../tsfile/timeindex/DeviceTimeIndex.java | 469 ---
.../dataregion/tsfile/timeindex/FileTimeIndex.java | 10 +-
.../dataregion/tsfile/timeindex/ITimeIndex.java | 6 +-
.../tsfile/timeindex/PlainDeviceTimeIndex.java | 111 +
.../tsfile/timeindex/TimeIndexLevel.java | 15 +-
.../utils/TsFileDeviceStartEndTimeIterator.java | 6 +-
.../dataregion/utils/TsFileResourceUtils.java | 23 +-
.../wal/allocation/FirstCreateStrategy.java | 7 +-
.../dataregion/wal/buffer/IWALByteBufferView.java | 21 +-
.../dataregion/wal/buffer/WALBuffer.java | 12 +-
.../wal/recover/file/TsFilePlanRedoer.java | 8 +-
.../file/UnsealedTsFileRecoverPerformer.java | 3 +-
.../dataregion/wal/utils/WALWriteUtils.java | 9 +-
.../receiver/SubscriptionReceiverV1.java | 1 +
.../iotdb/db/tools/TsFileResourcePrinter.java | 4 +-
.../apache/iotdb/db/tools/TsFileSelfCheckTool.java | 44 +-
.../apache/iotdb/db/tools/TsFileSketchTool.java | 106 +-
.../iotdb/db/tools/TsFileSplitByPartitionTool.java | 12 +-
.../db/tools/schema/SRStatementGenerator.java | 10 +-
.../TsFileOverlapValidationAndRepairTool.java | 3 +-
.../db/trigger/executor/TriggerFireVisitor.java | 13 +-
.../org/apache/iotdb/db/utils/CommonUtils.java | 78 +
.../org/apache/iotdb/db/utils/DateTimeUtils.java | 79 +-
.../apache/iotdb/db/utils/ErrorHandlingUtils.java | 7 +-
.../java/org/apache/iotdb/db/utils/MemUtils.java | 36 +-
.../apache/iotdb/db/utils/ModificationUtils.java | 17 +-
.../org/apache/iotdb/db/utils/SchemaUtils.java | 5 +-
.../apache/iotdb/db/utils/TypeInferenceUtils.java | 10 +-
.../iotdb/db/utils/annotations/TableModel.java | 33 +
.../iotdb/db/utils/annotations/TreeModel.java | 33 +
.../db/utils/datastructure/AlignedTVList.java | 37 +-
.../utils/datastructure/PatternTreeMapFactory.java | 4 +-
.../iotdb/db/utils/datastructure/TVList.java | 4 +-
.../apache/iotdb/db/utils/sort/DiskSpiller.java | 31 +-
.../iotdb/db/utils/sort/SortBufferManager.java | 33 +-
.../iotdb/db/utils/sort/TableDiskSpiller.java | 47 +
.../iotdb/db/utils/sort/TreeDiskSpiller.java | 44 +
.../apache/iotdb/db/metadata/MetaUtilsTest.java | 8 +-
.../db/metadata/cache/DataNodeSchemaCacheTest.java | 22 +-
.../cache/dualkeycache/DualKeyCacheTest.java | 15 +-
.../db/metadata/idtable/entry/DeviceIDTest.java | 7 +-
.../iotdb/db/metadata/path/PatternTreeMapTest.java | 73 +-
.../schemaRegion/SchemaRegionBasicTest.java | 32 +-
.../schemaRegion/SchemaRegionManagementTest.java | 5 +-
.../SchemaRegionSimpleRecoverTest.java | 5 +-
.../schemaRegion/SchemaRegionTableDeviceTest.java | 400 +++
.../schemaRegion/SchemaRegionTestUtil.java | 67 +-
.../schemaRegion/SchemaStatisticsTest.java | 3 +-
.../connector/PipeDataNodeThriftRequestTest.java | 7 +-
.../PipeStatementPatternParseVisitorTest.java | 5 +-
.../pipe/connector/PipeTabletEventSorterTest.java | 7 +-
.../event/TsFileInsertionDataContainerTest.java | 5 +-
.../extractor/PipePlanPatternParseVisitorTest.java | 40 +-
.../db/pipe/extractor/PipeRealtimeExtractTest.java | 6 +-
.../extractor/SchemaRegionListeningQueueTest.java | 7 +-
.../pattern/CachedSchemaPatternMatcherTest.java | 23 +-
.../db/pipe/pattern/IoTDBPipePatternTest.java | 4 +-
.../db/pipe/pattern/PrefixPipePatternTest.java | 4 +-
.../resource/PipeTsFileResourceManagerTest.java | 8 +-
.../common/schematree/ClusterSchemaTreeTest.java | 5 +-
.../db/queryengine/execution/DataDriverTest.java | 28 +-
.../operator/AggregationOperatorTest.java | 12 +-
.../AlignedSeriesAggregationScanOperatorTest.java | 19 +-
.../operator/AlignedSeriesScanOperatorTest.java | 121 +-
.../execution/operator/AlignedSeriesTestUtil.java | 29 +-
.../execution/operator/DeviceViewOperatorTest.java | 26 +-
.../operator/HorizontallyConcatOperatorTest.java | 22 +-
.../execution/operator/LastQueryOperatorTest.java | 13 +-
.../operator/LastQuerySortOperatorTest.java | 361 --
.../operator/LastQueryTreeSortOperatorTest.java | 362 ++
.../execution/operator/LimitOperatorTest.java | 19 +-
.../execution/operator/MergeSortOperatorTest.java | 1866 ----------
.../operator/MergeTreeSortOperatorTest.java | 1891 ++++++++++
.../execution/operator/OffsetOperatorTest.java | 55 +-
.../execution/operator/OperatorMemoryTest.java | 92 +-
.../operator/RawDataAggregationOperatorTest.java | 19 +-
.../SeriesAggregationScanOperatorTest.java | 12 +-
.../execution/operator/SeriesScanOperatorTest.java | 13 +-
.../operator/SingleDeviceViewOperatorTest.java | 22 +-
.../SlidingWindowAggregationOperatorTest.java | 12 +-
.../execution/operator/SortOperatorTest.java | 285 --
.../execution/operator/TopKOperatorTest.java | 1550 ---------
.../execution/operator/TreeSortOperatorTest.java | 286 ++
.../execution/operator/TreeTopKOperatorTest.java | 1571 +++++++++
.../operator/UpdateLastCacheOperatorTest.java | 7 +-
.../process/TableStreamSortOperatorTest.java | 599 ++++
.../schema/SchemaFetchScanOperatorTest.java | 2 +-
.../operator/sink/IdentitySinkOperatorTest.java | 31 +-
.../db/queryengine/plan/analyze/AnalyzeTest.java | 71 +-
.../plan/analyze/ExpressionAnalyzerTest.java | 10 +-
.../plan/analyze/FakePartitionFetcherImpl.java | 20 +-
.../plan/analyze/cache/PartitionCacheTest.java | 155 +-
.../plan/optimization/OptimizationTestUtil.java | 4 +-
.../plan/optimization/TestPlanBuilder.java | 21 +-
.../plan/parser/StatementGeneratorTest.java | 188 +
.../plan/planner/PipelineBuilderTest.java | 25 +-
.../distribution/DistributionPlannerBasicTest.java | 23 +-
.../distribution/RegionScanPlanningTest.java | 13 +-
.../plan/planner/distribution/Util.java | 22 +-
.../plan/planner/distribution/Util2.java | 21 +-
.../logical/DataQueryLogicalPlannerTest.java | 43 +-
.../planner/logical/LogicalPlannerTestUtil.java | 2 +-
.../logical/RegionScanLogicalPlannerTest.java | 37 +-
.../logical/SchemaQueryLogicalPlannerTest.java | 28 +-
.../plan/planner/node/PlanGraphPrinterTest.java | 7 +-
.../read/DeviceSchemaFetchScanNodeTest.java | 2 +-
.../read/DeviceSchemaScanNodeSerdeTest.java | 4 +-
.../NodeManagementMemoryMergeNodeSerdeTest.java | 10 +-
.../read/PathsUsingTemplateScanNodeTest.java | 2 +-
.../metadata/read/SchemaCountNodeSerdeTest.java | 8 +-
.../metadata/read/SchemaFetchMergeNodeTest.java | 4 +-
.../read/SeriesSchemaFetchScanNodeTest.java | 2 +-
.../read/TimeSeriesSchemaScanNodeSerdeTest.java | 4 +-
.../metadata/write/MetadataWriteNodeSerDeTest.java | 45 +-
.../pipe/PipeEnrichedDeleteDataNodeSerdeTest.java | 10 +-
.../PipeEnrichedNonWritePlanNodeSerdeTest.java | 2 +-
.../pipe/PipeEnrichedWritePlanNodeSerdeTest.java | 2 +-
.../node/process/DeviceViewNodeSerdeTest.java | 7 +-
.../process/SingleDeviceViewNodeSerdeTest.java | 3 +-
.../node/write/DeleteDataNodeSerdeTest.java | 10 +-
.../node/write/InsertRowsNodeSerdeTest.java | 161 +-
.../node/write/InsertTabletNodeSerdeTest.java | 158 +
.../planner/node/write/WritePlanNodeSplitTest.java | 24 +-
.../plan/relational/analyzer/AnalyzerTest.java | 1149 ++++++
.../analyzer/LimitOffsetPushDownTest.java | 307 ++
.../analyzer/MockTableModelDataPartition.java | 166 +
.../plan/relational/analyzer/SortTest.java | 756 ++++
.../plan/relational/analyzer/TestMatadata.java | 343 ++
.../plan/relational/analyzer/TestPlanBuilder.java | 104 +
.../fetcher/cache/TableDeviceSchemaCacheTest.java | 100 +
.../plan/relational/planner/ExampleTest.java | 160 +
.../plan/relational/planner/PlanTester.java | 157 +
.../relational/planner/PredicateUtilsTest.java | 72 +
.../planner/assertions/AliasMatcher.java | 66 +
.../planner/assertions/AliasPresent.java | 43 +
.../assertions/BaseStrictSymbolsMatcher.java | 59 +
.../planner/assertions/ColumnReference.java | 85 +
.../planner/assertions/ExchangeNodeMatcher.java | 36 +
.../planner/assertions/ExpressionMatcher.java | 82 +
.../planner/assertions/ExpressionVerifier.java | 505 +++
.../planner/assertions/FilterMatcher.java | 56 +
.../assertions/IdentityProjectionMatcher.java | 45 +
.../planner/assertions/LimitMatcher.java | 96 +
.../relational/planner/assertions/MatchResult.java | 63 +
.../relational/planner/assertions/Matcher.java | 67 +
.../planner/assertions/NotPlanNodeMatcher.java | 51 +
.../planner/assertions/OffsetMatcher.java | 45 +
.../planner/assertions/OutputMatcher.java | 68 +
.../relational/planner/assertions/PlanAssert.java | 90 +
.../planner/assertions/PlanMatchPattern.java | 815 +++++
.../planner/assertions/PlanMatchingState.java | 46 +
.../planner/assertions/PlanMatchingVisitor.java | 176 +
.../planner/assertions/PlanNodeMatcher.java | 55 +
.../planner/assertions/PlanTestSymbol.java | 20 +
.../planner/assertions/RvalueMatcher.java | 36 +
.../relational/planner/assertions/SortMatcher.java | 62 +
.../assertions/StrictAssignedSymbolsMatcher.java | 65 +
.../planner/assertions/StrictSymbolsMatcher.java | 57 +
.../relational/planner/assertions/SymbolAlias.java | 36 +
.../planner/assertions/SymbolAliases.java | 231 ++
.../planner/assertions/TableScanMatcher.java | 101 +
.../plan/relational/planner/assertions/Util.java | 44 +
.../plan/statement/InsertStatementTest.java | 222 ++
.../plan/statement/StatementTestUtils.java | 257 ++
.../builder/EvaluationDAGBuilderTest.java | 7 +-
.../datastructure/SerializableTVListTest.java | 2 +-
.../DataNodeInternalRPCServiceImplTest.java | 15 +-
.../storageengine/buffer/BloomFilterCacheTest.java | 3 +-
.../db/storageengine/buffer/ChunkCacheTest.java | 11 +-
.../storageengine/dataregion/DataRegionTest.java | 289 +-
.../dataregion/LastFlushTimeMapTest.java | 47 +-
.../db/storageengine/dataregion/TTLQueryTest.java | 67 +-
.../iotdb/db/storageengine/dataregion/TTLTest.java | 18 +-
.../TsFileResourceProgressIndexTest.java | 15 +-
.../compaction/AbstractCompactionTest.java | 28 +-
.../compaction/CompactionDataTypeNotMatchTest.java | 9 +-
.../compaction/CompactionTaskComparatorTest.java | 4 +-
.../compaction/CompactionValidationTest.java | 65 +-
.../CrossSpaceCompactionWithUnusualCasesTest.java | 16 +-
.../compaction/FastAlignedCrossCompactionTest.java | 1597 ++++++---
.../FastCompactionPerformerWithEmptyPageTest.java | 3 +-
.../FastCrossCompactionPerformerTest.java | 1051 ++++--
.../FastInnerCompactionPerformerTest.java | 276 +-
.../FastNonAlignedCrossCompactionTest.java | 1597 ++++++---
.../compaction/ReadChunkInnerCompactionTest.java | 105 +-
.../ReadPointAlignedCrossCompactionTest.java | 1597 ++++++---
.../ReadPointCompactionPerformerTest.java | 1447 +++++---
.../ReadPointNonAlignedCrossCompactionTest.java | 1597 ++++++---
.../compaction/TestUtilsForAlignedSeries.java | 11 +-
.../TsFileValidationCorrectnessTests.java | 30 +-
...eCompactionWithFastPerformerValidationTest.java | 93 +-
...actionWithReadPointPerformerValidationTest.java | 84 +-
.../InsertionCrossSpaceCompactionRecoverTest.java | 29 +-
.../InsertionCrossSpaceCompactionSelectorTest.java | 138 +-
.../dataregion/compaction/cross/MergeTest.java | 9 +-
.../compaction/cross/MergeUpgradeTest.java | 6 +-
.../cross/RewriteCompactionFileSelectorTest.java | 10 +-
...eCrossSpaceCompactionWithFastPerformerTest.java | 44 +-
...sSpaceCompactionWithReadPointPerformerTest.java | 44 +-
.../inner/AbstractInnerSpaceCompactionTest.java | 9 +-
.../inner/FastCompactionPerformerAlignedTest.java | 85 +-
.../FastCompactionPerformerNoAlignedTest.java | 47 +-
.../inner/InnerCompactionMoreDataTest.java | 20 +-
.../compaction/inner/InnerCompactionTest.java | 9 +-
.../InnerSeqCompactionWithFastPerformerTest.java | 8 +-
...nerSeqCompactionWithReadChunkPerformerTest.java | 8 +-
.../inner/InnerSpaceCompactionExceptionTest.java | 9 +-
.../inner/InnerSpaceCompactionSelectorTest.java | 6 +-
...nkCompactionPerformerWithAlignedSeriesTest.java | 14 +-
.../ReadChunkCompactionPerformerAlignedTest.java | 90 +-
.../ReadChunkCompactionPerformerNoAlignedTest.java | 59 +-
.../SizeTieredCompactionRecoverTest.java | 56 +-
.../SizeTieredCompactionSelectorTest.java | 8 +-
.../inner/sizetiered/SizeTieredCompactionTest.java | 9 +-
.../repair/RepairUnsortedFileCompactionTest.java | 12 +-
.../settle/SettleCompactionSelectorTest.java | 58 +-
.../settle/SettleCompactionTaskTest.java | 37 +-
.../settle/SettleRequestHandlerTest.java | 4 +-
.../CompactionTableModelTestFileWriter.java | 78 +
.../TableModelFastCompactionPerformerTest.java | 256 ++
...TableModelReadChunkCompactionPerformerTest.java | 329 ++
...TableModelReadPointCompactionPerformerTest.java | 268 ++
.../compaction/tools/UnseqSpaceStatisticsTest.java | 40 +-
.../compaction/utils/CompactionCheckerUtils.java | 39 +-
.../utils/CompactionFileGeneratorUtils.java | 14 +-
.../compaction/utils/CompactionTestFileWriter.java | 12 +-
.../utils/MultiTsFileDeviceIteratorTest.java | 193 +-
.../compaction/utils/TsFileGeneratorUtils.java | 20 +-
.../dataregion/memtable/MemTableTestUtils.java | 3 +-
.../dataregion/memtable/PrimitiveMemTableTest.java | 124 +-
.../dataregion/memtable/TsFileProcessorTest.java | 62 +-
.../modification/ModificationFileTest.java | 30 +-
.../io/LocalTextModificationAccessorTest.java | 10 +-
.../MemAlignedChunkMetadataLoaderTest.java | 7 +-
.../chunk/metadata/MemChunkMetadataLoaderTest.java | 4 +-
.../series/AbstractAlignedSeriesScanTest.java | 10 +-
.../read/reader/series/AbstractSeriesScanTest.java | 6 +-
.../AlignedSeriesScanLimitOffsetPushDownTest.java | 9 +-
.../AlignedSeriesScanPredicatePushDownTest.java | 9 +-
...gleColumnSeriesScanLimitOffsetPushDownTest.java | 9 +-
.../read/reader/series/SeriesReaderTestUtil.java | 21 +-
.../series/SeriesScanLimitOffsetPushDownTest.java | 3 +-
.../series/SeriesScanPredicatePushDownTest.java | 3 +-
.../dataregion/snapshot/IoTDBSnapshotTest.java | 9 +-
.../dataregion/tsfile/TsFileResourceTest.java | 24 +-
.../dataregion/wal/io/WALFileTest.java | 3 +-
.../wal/node/ConsensusReqReaderTest.java | 3 +-
.../wal/recover/WALRecoverManagerTest.java | 20 +-
.../file/SealedTsFileRecoverPerformerTest.java | 7 +-
.../wal/recover/file/TsFilePlanRedoerTest.java | 63 +-
.../file/UnsealedTsFileRecoverPerformerTest.java | 10 +-
.../dataregion/wal/utils/WALByteBufferForTest.java | 12 +-
.../rescon/memory/ResourceManagerTest.java | 37 +-
.../org/apache/iotdb/db/tools/MLogParserTest.java | 3 +-
.../iotdb/db/tools/TsFileAndModSettleToolTest.java | 5 +-
.../TsFileOverlapValidationAndRepairToolTest.java | 98 +-
.../iotdb/db/tools/TsFileSelfCheckToolTest.java | 7 +-
.../iotdb/db/tools/TsFileSketchToolTest.java | 17 +-
.../iotdb/db/tools/TsFileValidationScanTest.java | 37 +-
.../apache/iotdb/db/utils/DateTimeUtilsTest.java | 2 +
.../org/apache/iotdb/db/utils/MemUtilsTest.java | 18 +-
.../db/utils/SchemaRegionSnapshotParserTest.java | 23 +-
.../org/apache/iotdb/db/utils/SchemaTestUtils.java | 13 +
.../org/apache/iotdb/db/utils/SchemaUtilsTest.java | 10 +-
.../db/utils/datastructure/AlignedTVListTest.java | 8 +-
.../apache/iotdb/db/utils/sort/SortUtilTest.java | 10 +-
.../test/resources/v3tsfile/compaction-test-tsfile | Bin 0 -> 51432 bytes
.../v3tsfile/compaction-test-tsfile-resource | Bin 0 -> 103 bytes
.../commons/exception/IoTDBRuntimeException.java | 66 +
.../iotdb/commons/partition/DataPartition.java | 117 +-
.../commons/partition/DataPartitionQueryParam.java | 29 +-
.../apache/iotdb/commons/partition/Partition.java | 6 +-
.../iotdb/commons/partition/SchemaPartition.java | 32 +-
.../executor/SeriesPartitionExecutor.java | 9 +
.../partition/executor/hash/APHashExecutor.java | 43 +
.../partition/executor/hash/BKDRHashExecutor.java | 29 +
.../partition/executor/hash/JSHashExecutor.java | 29 +
.../partition/executor/hash/SDBMHashExecutor.java | 29 +
.../apache/iotdb/commons/path/AlignedFullPath.java | 95 +
.../org/apache/iotdb/commons/path/AlignedPath.java | 56 +-
.../iotdb/commons/path/ExtendedPartialPath.java | 45 +
.../org/apache/iotdb/commons/path/IFullPath.java | 47 +
.../apache/iotdb/commons/path/MeasurementPath.java | 80 +-
.../iotdb/commons/path/NonAlignedFullPath.java | 95 +
.../org/apache/iotdb/commons/path/PartialPath.java | 164 +-
.../apache/iotdb/commons/path/PathPatternTree.java | 46 +-
.../apache/iotdb/commons/path/PathPatternUtil.java | 3 +-
.../apache/iotdb/commons/path/PatternTreeMap.java | 14 +
.../apache/iotdb/commons/path/fa/dfa/DFAState.java | 1 +
.../iotdb/commons/path/fa/nfa/SimpleNFA.java | 68 +-
.../config/constant/PipeConnectorConstant.java | 20 +
.../connector/client/IoTDBSyncClientManager.java | 10 +-
.../common/PipeTransferHandshakeConstant.java | 1 +
.../pipe/connector/protocol/IoTDBConnector.java | 15 +
.../connector/protocol/IoTDBSslSyncConnector.java | 11 +-
.../commons/pipe/pattern/IoTDBPipePattern.java | 34 +-
.../iotdb/commons/pipe/pattern/PipePattern.java | 9 +-
.../commons/pipe/pattern/PrefixPipePattern.java | 22 +-
.../commons/pipe/receiver/IoTDBFileReceiver.java | 12 +
.../apache/iotdb/commons/schema/MemUsageUtil.java | 61 +
.../iotdb/commons/schema/SchemaConstant.java | 11 +
.../iotdb/commons/schema/filter/SchemaFilter.java | 55 +-
.../commons/schema/filter/SchemaFilterFactory.java | 9 +-
.../commons/schema/filter/SchemaFilterType.java | 26 +
.../commons/schema/filter/SchemaFilterVisitor.java | 94 +-
.../commons/schema/filter/impl/AndFilter.java | 74 -
.../commons/schema/filter/impl/DataTypeFilter.java | 29 +-
.../schema/filter/impl/DeviceFilterUtil.java | 82 +
.../schema/filter/impl/PathContainsFilter.java | 29 +-
.../filter/impl/StringValueFilterVisitor.java | 105 +
.../commons/schema/filter/impl/TagFilter.java | 31 +-
.../commons/schema/filter/impl/TemplateFilter.java | 28 +-
.../commons/schema/filter/impl/ViewTypeFilter.java | 29 +-
.../multichildren/AbstractMultiChildrenFilter.java | 85 +
.../filter/impl/multichildren/AndFilter.java | 48 +
.../schema/filter/impl/multichildren/OrFilter.java | 47 +
.../singlechild/AbstractSingleChildFilter.java | 76 +
.../filter/impl/singlechild/AttributeFilter.java | 93 +
.../schema/filter/impl/singlechild/IdFilter.java | 93 +
.../schema/filter/impl/singlechild/NotFilter.java | 47 +
.../filter/impl/values/ComparisonFilter.java | 106 +
.../schema/filter/impl/values/InFilter.java | 102 +
.../schema/filter/impl/values/LikeFilter.java | 86 +
.../schema/filter/impl/values/PreciseFilter.java | 84 +
.../schema/table/AlterTableOperationType.java | 43 +
.../apache/iotdb/commons/schema/table/TsTable.java | 242 ++
.../schema/table/TsTableInternalRPCType.java | 64 +
.../schema/table/TsTableInternalRPCUtil.java | 117 +
.../schema/table/column/AttributeColumnSchema.java | 57 +
.../schema/table/column/IdColumnSchema.java | 57 +
.../table/column/MeasurementColumnSchema.java | 102 +
.../schema/table/column/TimeColumnSchema.java | 57 +
.../schema/table/column/TsTableColumnCategory.java | 108 +
.../schema/table/column/TsTableColumnSchema.java | 74 +
.../table/column/TsTableColumnSchemaUtil.java | 117 +
.../commons/schema/tree/AbstractTreeVisitor.java | 27 +-
.../apache/iotdb/commons/schema/ttl/TTLCache.java | 18 +-
.../commons/schema/view/LogicalViewSchema.java | 3 +-
.../org/apache/iotdb/commons/utils/AuthUtils.java | 2 +-
.../org/apache/iotdb/commons/utils/PathUtils.java | 12 +-
.../partition/executor/HashExecutorTest.java | 63 +
.../apache/iotdb/commons/path/PartialPathTest.java | 213 +-
.../iotdb/commons/path/PathPatternTreeTest.java | 5 +-
.../commons/schema/SchemaFilterSerDeTest.java | 93 +
iotdb-core/pom.xml | 1 +
iotdb-core/relational-grammar/pom.xml | 106 +
.../db/relational/grammar/sql/RelationalSql.g4 | 1214 +++++++
.../db/relational/grammar/type/TypeCalculation.g4 | 72 +
.../grammar/sql/RelationalSqlKeywords.java | 48 +
.../src/main/thrift/confignode.thrift | 51 +-
.../thrift-datanode/src/main/thrift/client.thrift | 7 +
.../src/main/thrift/datanode.thrift | 10 +
pom.xml | 13 +-
1342 files changed, 129680 insertions(+), 23073 deletions(-)
diff --cc iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/TSStatusCode.java
index 7ce87a64886,0f7ab2f3f3d..d37513213b9
--- a/iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/TSStatusCode.java
+++ b/iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/TSStatusCode.java
@@@ -116,8 -127,9 +127,10 @@@ public enum TSStatusCode
NO_SUCH_QUERY(714),
QUERY_WAS_KILLED(715),
EXPLAIN_ANALYZE_FETCH_ERROR(716),
+ TOO_MANY_CONCURRENT_QUERIES_ERROR(717),
+ OPERATOR_NOT_FOUND(716),
+
// Authentication
INIT_AUTH_ERROR(800),
WRONG_LOGIN_PASSWORD(801),
(iotdb) 01/04: partial
Posted by ja...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
jackietien pushed a commit to branch ty/AllowRetry
in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit ab20502d87e2b387c1ba7484979dad712130353e
Author: JackieTien97 <ja...@gmail.com>
AuthorDate: Thu Aug 8 13:51:50 2024 +0800
partial
---
.../src/main/java/org/apache/iotdb/rpc/TSStatusCode.java | 1 +
.../execution/fragment/FragmentInstanceManager.java | 13 +++++++++++--
.../execution/schedule/queue/IndexedBlockingQueue.java | 4 +++-
.../org/apache/iotdb/commons/exception/IoTDBException.java | 7 +++++--
.../java/org/apache/iotdb/commons/utils/StatusUtils.java | 1 +
5 files changed, 21 insertions(+), 5 deletions(-)
diff --git a/iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/TSStatusCode.java b/iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/TSStatusCode.java
index 80e31e2469d..7ce87a64886 100644
--- a/iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/TSStatusCode.java
+++ b/iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/TSStatusCode.java
@@ -116,6 +116,7 @@ public enum TSStatusCode {
NO_SUCH_QUERY(714),
QUERY_WAS_KILLED(715),
EXPLAIN_ANALYZE_FETCH_ERROR(716),
+ TOO_MANY_CONCURRENT_QUERIES_ERROR(717),
// Authentication
INIT_AUTH_ERROR(800),
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/fragment/FragmentInstanceManager.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/fragment/FragmentInstanceManager.java
index 900865dc887..e5a3d66a511 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/fragment/FragmentInstanceManager.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/fragment/FragmentInstanceManager.java
@@ -22,6 +22,7 @@ package org.apache.iotdb.db.queryengine.execution.fragment;
import org.apache.iotdb.commons.concurrent.IoTDBThreadPoolFactory;
import org.apache.iotdb.commons.concurrent.ThreadName;
import org.apache.iotdb.commons.concurrent.threadpool.ScheduledExecutorUtil;
+import org.apache.iotdb.commons.exception.IoTDBException;
import org.apache.iotdb.db.conf.IoTDBDescriptor;
import org.apache.iotdb.db.queryengine.common.FragmentInstanceId;
import org.apache.iotdb.db.queryengine.common.QueryId;
@@ -58,7 +59,9 @@ import java.util.concurrent.atomic.AtomicLong;
import static java.util.Objects.requireNonNull;
import static org.apache.iotdb.db.queryengine.execution.fragment.FragmentInstanceContext.createFragmentInstanceContext;
import static org.apache.iotdb.db.queryengine.execution.fragment.FragmentInstanceExecution.createFragmentInstanceExecution;
+import static org.apache.iotdb.db.queryengine.execution.schedule.queue.IndexedBlockingQueue.TOO_MANY_CONCURRENT_QUERIES_ERROR_MSG;
import static org.apache.iotdb.db.queryengine.metric.QueryExecutionMetricSet.LOCAL_EXECUTION_PLANNER;
+import static org.apache.iotdb.rpc.TSStatusCode.TOO_MANY_CONCURRENT_QUERIES_ERROR;
@SuppressWarnings("squid:S6548")
public class FragmentInstanceManager {
@@ -259,8 +262,14 @@ public class FragmentInstanceManager {
exchangeManager);
} catch (Throwable t) {
clearFIRelatedResources(instanceId);
- logger.warn("Execute error caused by ", t);
- stateMachine.failed(t);
+ // deal with
+ if (t instanceof IllegalStateException && TOO_MANY_CONCURRENT_QUERIES_ERROR_MSG.equals(t.getMessage())) {
+ logger.warn(TOO_MANY_CONCURRENT_QUERIES_ERROR_MSG);
+ stateMachine.failed(new IoTDBException(TOO_MANY_CONCURRENT_QUERIES_ERROR_MSG, TOO_MANY_CONCURRENT_QUERIES_ERROR.getStatusCode()));
+ } else {
+ logger.warn("Execute error caused by ", t);
+ stateMachine.failed(t);
+ }
return null;
}
});
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/schedule/queue/IndexedBlockingQueue.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/schedule/queue/IndexedBlockingQueue.java
index 1a63f01ffff..019b6db17ca 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/schedule/queue/IndexedBlockingQueue.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/schedule/queue/IndexedBlockingQueue.java
@@ -38,6 +38,8 @@ import com.google.common.base.Preconditions;
*/
public abstract class IndexedBlockingQueue<E extends IDIndexedAccessible> {
+ public static final String TOO_MANY_CONCURRENT_QUERIES_ERROR_MSG = "The system can't allow more queries.";
+
protected final int capacity;
protected final E queryHolder;
protected int size;
@@ -87,7 +89,7 @@ public abstract class IndexedBlockingQueue<E extends IDIndexedAccessible> {
if (element == null) {
throw new NullPointerException("pushed element is null");
}
- Preconditions.checkState(size < capacity, "The system can't allow more queries.");
+ Preconditions.checkState(size < capacity, TOO_MANY_CONCURRENT_QUERIES_ERROR_MSG);
pushToQueue(element);
size++;
this.notifyAll();
diff --git a/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/exception/IoTDBException.java b/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/exception/IoTDBException.java
index 0a93d8054cd..a5f8104e072 100644
--- a/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/exception/IoTDBException.java
+++ b/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/exception/IoTDBException.java
@@ -23,17 +23,18 @@ package org.apache.iotdb.commons.exception;
public class IoTDBException extends Exception {
private static final long serialVersionUID = 8480450962311247736L;
- protected int errorCode;
+ protected final int errorCode;
/**
* This kind of exception is caused by users' wrong sql, and there is no need for server to print
* the full stack of the exception
*/
- protected boolean isUserException = false;
+ protected final boolean isUserException;
public IoTDBException(String message, int errorCode) {
super(message);
this.errorCode = errorCode;
+ this.isUserException = false;
}
public IoTDBException(String message, int errorCode, boolean isUserException) {
@@ -45,11 +46,13 @@ public class IoTDBException extends Exception {
public IoTDBException(String message, Throwable cause, int errorCode) {
super(message, cause);
this.errorCode = errorCode;
+ this.isUserException = false;
}
public IoTDBException(Throwable cause, int errorCode) {
super(cause);
this.errorCode = errorCode;
+ this.isUserException = false;
}
public IoTDBException(Throwable cause, int errorCode, boolean isUserException) {
diff --git a/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/utils/StatusUtils.java b/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/utils/StatusUtils.java
index 97811bc76a9..ca7e7cd75cd 100644
--- a/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/utils/StatusUtils.java
+++ b/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/utils/StatusUtils.java
@@ -64,6 +64,7 @@ public class StatusUtils {
NEED_RETRY.add(TSStatusCode.NO_AVAILABLE_REGION_GROUP.getStatusCode());
NEED_RETRY.add(TSStatusCode.LACK_PARTITION_ALLOCATION.getStatusCode());
NEED_RETRY.add(TSStatusCode.NO_ENOUGH_DATANODE.getStatusCode());
+ NEED_RETRY.add(TSStatusCode.TOO_MANY_CONCURRENT_QUERIES_ERROR.getStatusCode());
}
/**
(iotdb) 04/04: retry for too many queries error
Posted by ja...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
jackietien pushed a commit to branch ty/AllowRetry
in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit 4bc006f1fba9ed8b7dfb89f2b1b3f5c16b93fa89
Author: JackieTien97 <ja...@gmail.com>
AuthorDate: Tue Aug 13 14:55:18 2024 +0800
retry for too many queries error
---
.../impl/DataNodeInternalRPCServiceImpl.java | 1 +
.../execution/executor/RegionReadExecutor.java | 7 ++++
.../fragment/FragmentInstanceContext.java | 29 +++++++++++++++--
.../fragment/FragmentInstanceExecution.java | 22 ++++++++++---
.../execution/fragment/FragmentInstanceInfo.java | 20 ++++++++++++
.../fragment/FragmentInstanceManager.java | 38 ++++++++++++++++++----
.../scheduler/AbstractFragInsStateTracker.java | 3 +-
.../plan/scheduler/ClusterScheduler.java | 4 ++-
.../scheduler/FixedRateFragInsStateTracker.java | 6 ++++
.../scheduler/FragmentInstanceDispatcherImpl.java | 8 +++++
.../src/main/thrift/datanode.thrift | 1 +
11 files changed, 123 insertions(+), 16 deletions(-)
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/thrift/impl/DataNodeInternalRPCServiceImpl.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/thrift/impl/DataNodeInternalRPCServiceImpl.java
index cf082082796..9a2201075d2 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/thrift/impl/DataNodeInternalRPCServiceImpl.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/thrift/impl/DataNodeInternalRPCServiceImpl.java
@@ -406,6 +406,7 @@ public class DataNodeInternalRPCServiceImpl implements IDataNodeRPCService.Iface
failureInfoList.add(failureInfo.serialize());
}
resp.setFailureInfoList(failureInfoList);
+ info.getErrorCode().ifPresent(resp::setErrorCode);
return resp;
} catch (IOException e) {
return resp;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/executor/RegionReadExecutor.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/executor/RegionReadExecutor.java
index 3b6a0f0adb0..8e9a16e9b14 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/executor/RegionReadExecutor.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/executor/RegionReadExecutor.java
@@ -22,6 +22,7 @@ package org.apache.iotdb.db.queryengine.execution.executor;
import org.apache.iotdb.common.rpc.thrift.TSStatus;
import org.apache.iotdb.commons.consensus.ConsensusGroupId;
import org.apache.iotdb.commons.consensus.DataRegionId;
+import org.apache.iotdb.commons.utils.StatusUtils;
import org.apache.iotdb.commons.utils.TestOnly;
import org.apache.iotdb.consensus.IConsensus;
import org.apache.iotdb.consensus.common.DataSet;
@@ -92,6 +93,12 @@ public class RegionReadExecutor {
FragmentInstanceInfo info = (FragmentInstanceInfo) readResponse;
resp.setAccepted(!info.getState().isFailed());
resp.setMessage(info.getMessage());
+ info.getErrorCode()
+ .ifPresent(
+ s -> {
+ resp.setStatus(s);
+ resp.setNeedRetry(StatusUtils.needRetryHelper(s));
+ });
}
return resp;
} catch (ConsensusGroupNotExistException e) {
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/fragment/FragmentInstanceContext.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/fragment/FragmentInstanceContext.java
index 4e8928deebb..9648b1701fb 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/fragment/FragmentInstanceContext.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/fragment/FragmentInstanceContext.java
@@ -19,6 +19,8 @@
package org.apache.iotdb.db.queryengine.execution.fragment;
+import org.apache.iotdb.common.rpc.thrift.TSStatus;
+import org.apache.iotdb.commons.exception.IoTDBException;
import org.apache.iotdb.commons.path.IFullPath;
import org.apache.iotdb.commons.utils.TestOnly;
import org.apache.iotdb.db.exception.query.QueryProcessException;
@@ -312,6 +314,18 @@ public class FragmentInstanceContext extends QueryContext {
.collect(Collectors.toList());
}
+ public Optional<TSStatus> getErrorCode() {
+ return stateMachine.getFailureCauses().stream()
+ .filter(IoTDBException.class::isInstance)
+ .findFirst()
+ .flatMap(
+ t -> {
+ TSStatus status = new TSStatus(((IoTDBException) t).getErrorCode());
+ status.setMessage(t.getMessage());
+ return Optional.of(status);
+ });
+ }
+
public void finished() {
stateMachine.finished();
}
@@ -350,8 +364,19 @@ public class FragmentInstanceContext extends QueryContext {
}
public FragmentInstanceInfo getInstanceInfo() {
- return new FragmentInstanceInfo(
- stateMachine.getState(), getEndTime(), getFailedCause(), getFailureInfoList());
+ return getErrorCode()
+ .map(
+ s ->
+ new FragmentInstanceInfo(
+ stateMachine.getState(),
+ getEndTime(),
+ getFailedCause(),
+ getFailureInfoList(),
+ s))
+ .orElseGet(
+ () ->
+ new FragmentInstanceInfo(
+ stateMachine.getState(), getEndTime(), getFailedCause(), getFailureInfoList()));
}
public FragmentInstanceStateMachine getStateMachine() {
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/fragment/FragmentInstanceExecution.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/fragment/FragmentInstanceExecution.java
index f631ea8a246..c42834f5190 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/fragment/FragmentInstanceExecution.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/fragment/FragmentInstanceExecution.java
@@ -117,11 +117,23 @@ public class FragmentInstanceExecution {
}
public FragmentInstanceInfo getInstanceInfo() {
- return new FragmentInstanceInfo(
- stateMachine.getState(),
- context.getEndTime(),
- context.getFailedCause(),
- context.getFailureInfoList());
+ return context
+ .getErrorCode()
+ .map(
+ s ->
+ new FragmentInstanceInfo(
+ stateMachine.getState(),
+ context.getEndTime(),
+ context.getFailedCause(),
+ context.getFailureInfoList(),
+ s))
+ .orElseGet(
+ () ->
+ new FragmentInstanceInfo(
+ stateMachine.getState(),
+ context.getEndTime(),
+ context.getFailedCause(),
+ context.getFailureInfoList()));
}
public long getStartTime() {
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/fragment/FragmentInstanceInfo.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/fragment/FragmentInstanceInfo.java
index 9c67d67de64..4717a23f279 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/fragment/FragmentInstanceInfo.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/fragment/FragmentInstanceInfo.java
@@ -19,9 +19,11 @@
package org.apache.iotdb.db.queryengine.execution.fragment;
+import org.apache.iotdb.common.rpc.thrift.TSStatus;
import org.apache.iotdb.consensus.common.DataSet;
import java.util.List;
+import java.util.Optional;
public class FragmentInstanceInfo implements DataSet {
private final FragmentInstanceState state;
@@ -30,6 +32,8 @@ public class FragmentInstanceInfo implements DataSet {
private List<FragmentInstanceFailureInfo> failureInfoList;
+ private TSStatus errorCode;
+
public FragmentInstanceInfo(FragmentInstanceState state) {
this.state = state;
}
@@ -49,6 +53,18 @@ public class FragmentInstanceInfo implements DataSet {
this.failureInfoList = failureInfoList;
}
+ public FragmentInstanceInfo(
+ FragmentInstanceState state,
+ long endTime,
+ String message,
+ List<FragmentInstanceFailureInfo> failureInfoList,
+ TSStatus errorStatus) {
+ this(state, endTime);
+ this.message = message;
+ this.failureInfoList = failureInfoList;
+ this.errorCode = errorStatus;
+ }
+
public FragmentInstanceState getState() {
return state;
}
@@ -61,6 +77,10 @@ public class FragmentInstanceInfo implements DataSet {
return message;
}
+ public Optional<TSStatus> getErrorCode() {
+ return Optional.ofNullable(errorCode);
+ }
+
public List<FragmentInstanceFailureInfo> getFailureInfoList() {
return failureInfoList;
}
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/fragment/FragmentInstanceManager.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/fragment/FragmentInstanceManager.java
index 0886cb406bb..1a034eda478 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/fragment/FragmentInstanceManager.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/fragment/FragmentInstanceManager.java
@@ -19,6 +19,7 @@
package org.apache.iotdb.db.queryengine.execution.fragment;
+import org.apache.iotdb.common.rpc.thrift.TSStatus;
import org.apache.iotdb.commons.concurrent.IoTDBThreadPoolFactory;
import org.apache.iotdb.commons.concurrent.ThreadName;
import org.apache.iotdb.commons.concurrent.threadpool.ScheduledExecutorUtil;
@@ -49,6 +50,7 @@ import org.slf4j.LoggerFactory;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
+import java.util.Optional;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.ScheduledExecutorService;
@@ -181,8 +183,18 @@ public class FragmentInstanceManager {
exchangeManager);
} catch (Throwable t) {
clearFIRelatedResources(instanceId);
- logger.warn("error when create FragmentInstanceExecution.", t);
- stateMachine.failed(t);
+ // deal with
+ if (t instanceof IllegalStateException
+ && TOO_MANY_CONCURRENT_QUERIES_ERROR_MSG.equals(t.getMessage())) {
+ logger.warn(TOO_MANY_CONCURRENT_QUERIES_ERROR_MSG);
+ stateMachine.failed(
+ new IoTDBException(
+ TOO_MANY_CONCURRENT_QUERIES_ERROR_MSG,
+ TOO_MANY_CONCURRENT_QUERIES_ERROR.getStatusCode()));
+ } else {
+ logger.warn("error when create FragmentInstanceExecution.", t);
+ stateMachine.failed(t);
+ }
return null;
}
});
@@ -367,11 +379,23 @@ public class FragmentInstanceManager {
private FragmentInstanceInfo createFailedInstanceInfo(FragmentInstanceId instanceId) {
FragmentInstanceContext context = instanceContext.get(instanceId);
- return new FragmentInstanceInfo(
- FragmentInstanceState.FAILED,
- context.getEndTime(),
- context.getFailedCause(),
- context.getFailureInfoList());
+ Optional<TSStatus> errorCode = context.getErrorCode();
+ return errorCode
+ .map(
+ tsStatus ->
+ new FragmentInstanceInfo(
+ FragmentInstanceState.FAILED,
+ context.getEndTime(),
+ context.getFailedCause(),
+ context.getFailureInfoList(),
+ tsStatus))
+ .orElseGet(
+ () ->
+ new FragmentInstanceInfo(
+ FragmentInstanceState.FAILED,
+ context.getEndTime(),
+ context.getFailedCause(),
+ context.getFailureInfoList()));
}
private void removeOldInstances() {
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/scheduler/AbstractFragInsStateTracker.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/scheduler/AbstractFragInsStateTracker.java
index 305c41b9aef..dd6d5945cf6 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/scheduler/AbstractFragInsStateTracker.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/scheduler/AbstractFragInsStateTracker.java
@@ -95,7 +95,8 @@ public abstract class AbstractFragInsStateTracker implements IFragInstanceStateT
FragmentInstanceState.valueOf(resp.getState()),
resp.getEndTime(),
failedMessage,
- failureInfoList);
+ failureInfoList,
+ resp.getErrorCode());
}
}
}
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/scheduler/ClusterScheduler.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/scheduler/ClusterScheduler.java
index 1a704fc4706..448f0829b5a 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/scheduler/ClusterScheduler.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/scheduler/ClusterScheduler.java
@@ -105,7 +105,9 @@ public class ClusterScheduler implements IScheduler {
private boolean needRetry(TSStatus failureStatus) {
return failureStatus != null
&& queryType == QueryType.READ
- && failureStatus.getCode() == TSStatusCode.DISPATCH_ERROR.getStatusCode();
+ && (failureStatus.getCode() == TSStatusCode.DISPATCH_ERROR.getStatusCode()
+ || failureStatus.getCode()
+ == TSStatusCode.TOO_MANY_CONCURRENT_QUERIES_ERROR.getStatusCode());
}
@Override
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/scheduler/FixedRateFragInsStateTracker.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/scheduler/FixedRateFragInsStateTracker.java
index 36e4bdc99ac..31b5742a9d0 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/scheduler/FixedRateFragInsStateTracker.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/scheduler/FixedRateFragInsStateTracker.java
@@ -24,6 +24,7 @@ import org.apache.iotdb.commons.client.IClientManager;
import org.apache.iotdb.commons.client.exception.ClientManagerException;
import org.apache.iotdb.commons.client.sync.SyncDataNodeInternalServiceClient;
import org.apache.iotdb.commons.concurrent.threadpool.ScheduledExecutorUtil;
+import org.apache.iotdb.commons.exception.IoTDBException;
import org.apache.iotdb.db.queryengine.common.FragmentInstanceId;
import org.apache.iotdb.db.queryengine.execution.QueryStateMachine;
import org.apache.iotdb.db.queryengine.execution.fragment.FragmentInstanceInfo;
@@ -149,6 +150,11 @@ public class FixedRateFragInsStateTracker extends AbstractFragInsStateTracker {
new RuntimeException(
String.format(
"FragmentInstance[%s] is failed. %s", instanceId, instanceInfo.getMessage())));
+ } else if (instanceInfo.getErrorCode().isPresent()) {
+ stateMachine.transitionToFailed(
+ new IoTDBException(
+ instanceInfo.getErrorCode().get().getMessage(),
+ instanceInfo.getErrorCode().get().getCode()));
} else {
stateMachine.transitionToFailed(instanceInfo.getFailureInfoList().get(0).toException());
}
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/scheduler/FragmentInstanceDispatcherImpl.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/scheduler/FragmentInstanceDispatcherImpl.java
index 41063b49571..8c4e79f5d44 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/scheduler/FragmentInstanceDispatcherImpl.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/scheduler/FragmentInstanceDispatcherImpl.java
@@ -334,6 +334,9 @@ public class FragmentInstanceDispatcherImpl implements IFragInstanceDispatcher {
} else if (sendFragmentInstanceResp.status.getCode()
== TSStatusCode.CONSENSUS_GROUP_NOT_EXIST.getStatusCode()) {
throw new ConsensusGroupNotExistException(sendFragmentInstanceResp.message);
+ } else if (sendFragmentInstanceResp.status.getCode()
+ == TSStatusCode.TOO_MANY_CONCURRENT_QUERIES_ERROR.getStatusCode()) {
+ throw new FragmentInstanceDispatchException(sendFragmentInstanceResp.status);
}
}
throw new FragmentInstanceDispatchException(
@@ -453,6 +456,11 @@ public class FragmentInstanceDispatcherImpl implements IFragInstanceDispatcher {
if (!readResult.isAccepted()) {
LOGGER.warn(readResult.getMessage());
if (readResult.isNeedRetry()) {
+ if (readResult.getStatus() != null
+ && readResult.getStatus().getCode()
+ == TSStatusCode.TOO_MANY_CONCURRENT_QUERIES_ERROR.getStatusCode()) {
+ throw new FragmentInstanceDispatchException(readResult.getStatus());
+ }
throw new FragmentInstanceDispatchException(
RpcUtils.getStatus(TSStatusCode.DISPATCH_ERROR, readResult.getMessage()));
} else {
diff --git a/iotdb-protocol/thrift-datanode/src/main/thrift/datanode.thrift b/iotdb-protocol/thrift-datanode/src/main/thrift/datanode.thrift
index e63a6f77622..cd45a72e46b 100644
--- a/iotdb-protocol/thrift-datanode/src/main/thrift/datanode.thrift
+++ b/iotdb-protocol/thrift-datanode/src/main/thrift/datanode.thrift
@@ -165,6 +165,7 @@ struct TFragmentInstanceInfoResp {
2: optional i64 endTime
3: optional list<string> failedMessages
4: optional list<binary> failureInfoList
+ 5: optional common.TSStatus errorCode
}
struct TCancelQueryReq {
(iotdb) 03/04: fix compilation
Posted by ja...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
jackietien pushed a commit to branch ty/AllowRetry
in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit b81dd56c44c0778e9312e080ebf39c21fc22c8a4
Author: JackieTien97 <ja...@gmail.com>
AuthorDate: Tue Aug 13 09:52:46 2024 +0800
fix compilation
---
.../db/exception/metadata/AliasAlreadyExistException.java | 4 ++--
.../db/exception/metadata/AlignedTimeseriesException.java | 7 ++++---
.../db/exception/metadata/DatabaseNotSetException.java | 12 +++++++-----
.../metadata/IllegalParameterOfPathException.java | 7 ++++---
.../metadata/MeasurementAlreadyExistException.java | 4 ++--
.../db/exception/metadata/PathAlreadyExistException.java | 4 ++--
.../metadata/template/TemplateIncompatibleException.java | 11 +++++------
.../execution/fragment/FragmentInstanceManager.java | 8 ++++++--
.../execution/schedule/queue/IndexedBlockingQueue.java | 3 ++-
.../iotdb/commons/exception/IllegalPathException.java | 14 ++++++++------
.../iotdb/commons/exception/IllegalPrivilegeException.java | 11 +++++------
.../org/apache/iotdb/commons/exception/IoTDBException.java | 4 ++--
12 files changed, 49 insertions(+), 40 deletions(-)
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/exception/metadata/AliasAlreadyExistException.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/exception/metadata/AliasAlreadyExistException.java
index 2df35dead3d..9b8dcd7ca69 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/exception/metadata/AliasAlreadyExistException.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/exception/metadata/AliasAlreadyExistException.java
@@ -30,7 +30,7 @@ public class AliasAlreadyExistException extends MetadataException {
public AliasAlreadyExistException(String path, String alias) {
super(
String.format("Alias [%s] for Path [%s] already exist", alias, path),
- TSStatusCode.ALIAS_ALREADY_EXIST.getStatusCode());
- this.isUserException = true;
+ TSStatusCode.ALIAS_ALREADY_EXIST.getStatusCode(),
+ true);
}
}
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/exception/metadata/AlignedTimeseriesException.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/exception/metadata/AlignedTimeseriesException.java
index 1594d6b203b..f11c986afdc 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/exception/metadata/AlignedTimeseriesException.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/exception/metadata/AlignedTimeseriesException.java
@@ -25,8 +25,9 @@ import org.apache.iotdb.rpc.TSStatusCode;
public class AlignedTimeseriesException extends MetadataException {
public AlignedTimeseriesException(String message, String path) {
- super(String.format("%s (Path: %s)", message, path));
- errorCode = TSStatusCode.ALIGNED_TIMESERIES_ERROR.getStatusCode();
- this.isUserException = true;
+ super(
+ String.format("%s (Path: %s)", message, path),
+ TSStatusCode.ALIGNED_TIMESERIES_ERROR.getStatusCode(),
+ true);
}
}
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/exception/metadata/DatabaseNotSetException.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/exception/metadata/DatabaseNotSetException.java
index ef395f5de48..7e700c117e4 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/exception/metadata/DatabaseNotSetException.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/exception/metadata/DatabaseNotSetException.java
@@ -27,14 +27,16 @@ public class DatabaseNotSetException extends MetadataException {
private static final long serialVersionUID = 3739300272099030533L;
public DatabaseNotSetException(String path) {
- super(String.format("Database is not set for current seriesPath: [%s]", path));
- this.errorCode = TSStatusCode.DATABASE_NOT_EXIST.getStatusCode();
+ super(
+ String.format("Database is not set for current seriesPath: [%s]", path),
+ TSStatusCode.DATABASE_NOT_EXIST.getStatusCode());
}
public DatabaseNotSetException(String path, boolean isUserException) {
- super(String.format("Database is not set for current seriesPath: [%s]", path));
- this.isUserException = isUserException;
- this.errorCode = TSStatusCode.DATABASE_NOT_EXIST.getStatusCode();
+ super(
+ String.format("Database is not set for current seriesPath: [%s]", path),
+ TSStatusCode.DATABASE_NOT_EXIST.getStatusCode(),
+ isUserException);
}
public DatabaseNotSetException(String path, String reason) {
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/exception/metadata/IllegalParameterOfPathException.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/exception/metadata/IllegalParameterOfPathException.java
index febe7b000b9..9ae6e79f406 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/exception/metadata/IllegalParameterOfPathException.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/exception/metadata/IllegalParameterOfPathException.java
@@ -25,8 +25,9 @@ import org.apache.iotdb.rpc.TSStatusCode;
public class IllegalParameterOfPathException extends MetadataException {
public IllegalParameterOfPathException(String msg, String path) {
- super(String.format("%s. Failed to create timeseries for path %s", msg, path));
- errorCode = TSStatusCode.ILLEGAL_PARAMETER.getStatusCode();
- this.isUserException = true;
+ super(
+ String.format("%s. Failed to create timeseries for path %s", msg, path),
+ TSStatusCode.ILLEGAL_PARAMETER.getStatusCode(),
+ true);
}
}
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/exception/metadata/MeasurementAlreadyExistException.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/exception/metadata/MeasurementAlreadyExistException.java
index 3b63c01eeff..a3d5adabac8 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/exception/metadata/MeasurementAlreadyExistException.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/exception/metadata/MeasurementAlreadyExistException.java
@@ -31,8 +31,8 @@ public class MeasurementAlreadyExistException extends MetadataException {
public MeasurementAlreadyExistException(String path, MeasurementPath measurementPath) {
super(
String.format("Path [%s] already exist", path),
- TSStatusCode.TIMESERIES_ALREADY_EXIST.getStatusCode());
- this.isUserException = true;
+ TSStatusCode.TIMESERIES_ALREADY_EXIST.getStatusCode(),
+ true);
this.measurementPath = measurementPath;
}
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/exception/metadata/PathAlreadyExistException.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/exception/metadata/PathAlreadyExistException.java
index d91ea75dba0..5da3c957cba 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/exception/metadata/PathAlreadyExistException.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/exception/metadata/PathAlreadyExistException.java
@@ -30,7 +30,7 @@ public class PathAlreadyExistException extends MetadataException {
public PathAlreadyExistException(String path) {
super(
String.format("Path [%s] already exist", path),
- TSStatusCode.PATH_ALREADY_EXIST.getStatusCode());
- this.isUserException = true;
+ TSStatusCode.PATH_ALREADY_EXIST.getStatusCode(),
+ true);
}
}
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/exception/metadata/template/TemplateIncompatibleException.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/exception/metadata/template/TemplateIncompatibleException.java
index bb1d0c1a997..cc39a3b50b2 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/exception/metadata/template/TemplateIncompatibleException.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/exception/metadata/template/TemplateIncompatibleException.java
@@ -32,8 +32,8 @@ public class TemplateIncompatibleException extends MetadataException {
String.format(
"Cannot create timeseries [%s] since device template [%s] already set on path [%s].",
path, templateName, templateSetPath),
- TSStatusCode.TEMPLATE_INCOMPATIBLE.getStatusCode());
- this.isUserException = true;
+ TSStatusCode.TEMPLATE_INCOMPATIBLE.getStatusCode(),
+ true);
}
public TemplateIncompatibleException(String templateName, PartialPath templateSetPath) {
@@ -42,12 +42,11 @@ public class TemplateIncompatibleException extends MetadataException {
"Cannot set device template [%s] to path [%s] "
+ "since there's timeseries under path [%s].",
templateName, templateSetPath, templateSetPath),
- TSStatusCode.TEMPLATE_INCOMPATIBLE.getStatusCode());
- this.isUserException = true;
+ TSStatusCode.TEMPLATE_INCOMPATIBLE.getStatusCode(),
+ true);
}
public TemplateIncompatibleException(String reason) {
- super(reason, TSStatusCode.TEMPLATE_INCOMPATIBLE.getStatusCode());
- this.isUserException = true;
+ super(reason, TSStatusCode.TEMPLATE_INCOMPATIBLE.getStatusCode(), true);
}
}
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/fragment/FragmentInstanceManager.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/fragment/FragmentInstanceManager.java
index de6adc98ae3..0886cb406bb 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/fragment/FragmentInstanceManager.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/fragment/FragmentInstanceManager.java
@@ -267,9 +267,13 @@ public class FragmentInstanceManager {
} catch (Throwable t) {
clearFIRelatedResources(instanceId);
// deal with
- if (t instanceof IllegalStateException && TOO_MANY_CONCURRENT_QUERIES_ERROR_MSG.equals(t.getMessage())) {
+ if (t instanceof IllegalStateException
+ && TOO_MANY_CONCURRENT_QUERIES_ERROR_MSG.equals(t.getMessage())) {
logger.warn(TOO_MANY_CONCURRENT_QUERIES_ERROR_MSG);
- stateMachine.failed(new IoTDBException(TOO_MANY_CONCURRENT_QUERIES_ERROR_MSG, TOO_MANY_CONCURRENT_QUERIES_ERROR.getStatusCode()));
+ stateMachine.failed(
+ new IoTDBException(
+ TOO_MANY_CONCURRENT_QUERIES_ERROR_MSG,
+ TOO_MANY_CONCURRENT_QUERIES_ERROR.getStatusCode()));
} else {
logger.warn("Execute error caused by ", t);
stateMachine.failed(t);
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/schedule/queue/IndexedBlockingQueue.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/schedule/queue/IndexedBlockingQueue.java
index 019b6db17ca..632b5b48ed6 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/schedule/queue/IndexedBlockingQueue.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/schedule/queue/IndexedBlockingQueue.java
@@ -38,7 +38,8 @@ import com.google.common.base.Preconditions;
*/
public abstract class IndexedBlockingQueue<E extends IDIndexedAccessible> {
- public static final String TOO_MANY_CONCURRENT_QUERIES_ERROR_MSG = "The system can't allow more queries.";
+ public static final String TOO_MANY_CONCURRENT_QUERIES_ERROR_MSG =
+ "The system can't allow more queries.";
protected final int capacity;
protected final E queryHolder;
diff --git a/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/exception/IllegalPathException.java b/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/exception/IllegalPathException.java
index f1c46742cc5..1332284ec0e 100644
--- a/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/exception/IllegalPathException.java
+++ b/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/exception/IllegalPathException.java
@@ -25,14 +25,16 @@ public class IllegalPathException extends MetadataException {
private static final long serialVersionUID = 2693272249167539978L;
public IllegalPathException(String path) {
- super(String.format("%s is not a legal path", path));
- errorCode = TSStatusCode.ILLEGAL_PATH.getStatusCode();
- this.isUserException = true;
+ super(
+ String.format("%s is not a legal path", path),
+ TSStatusCode.ILLEGAL_PATH.getStatusCode(),
+ true);
}
public IllegalPathException(String path, String reason) {
- super(String.format("%s is not a legal path, because %s", path, reason));
- errorCode = TSStatusCode.ILLEGAL_PATH.getStatusCode();
- this.isUserException = true;
+ super(
+ String.format("%s is not a legal path, because %s", path, reason),
+ TSStatusCode.ILLEGAL_PATH.getStatusCode(),
+ true);
}
}
diff --git a/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/exception/IllegalPrivilegeException.java b/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/exception/IllegalPrivilegeException.java
index 475edefaaee..da8a4ae7815 100644
--- a/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/exception/IllegalPrivilegeException.java
+++ b/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/exception/IllegalPrivilegeException.java
@@ -26,14 +26,13 @@ public class IllegalPrivilegeException extends MetadataException {
private static final long serialVersionUID = 2693272249167539978L;
public IllegalPrivilegeException(Integer priv) {
- super(String.format("%s is not a legal privilege", PrivilegeType.values()[priv].toString()));
- errorCode = TSStatusCode.ILLEGAL_PRIVILEGE.getStatusCode();
- this.isUserException = true;
+ super(
+ String.format("%s is not a legal privilege", PrivilegeType.values()[priv].toString()),
+ TSStatusCode.ILLEGAL_PRIVILEGE.getStatusCode(),
+ true);
}
public IllegalPrivilegeException(String reason) {
- super(String.format("%s", reason));
- errorCode = TSStatusCode.ILLEGAL_PATH.getStatusCode();
- this.isUserException = true;
+ super(String.format("%s", reason), TSStatusCode.ILLEGAL_PATH.getStatusCode(), true);
}
}
diff --git a/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/exception/IoTDBException.java b/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/exception/IoTDBException.java
index a5f8104e072..3fca9bc6210 100644
--- a/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/exception/IoTDBException.java
+++ b/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/exception/IoTDBException.java
@@ -23,13 +23,13 @@ package org.apache.iotdb.commons.exception;
public class IoTDBException extends Exception {
private static final long serialVersionUID = 8480450962311247736L;
- protected final int errorCode;
+ private final int errorCode;
/**
* This kind of exception is caused by users' wrong sql, and there is no need for server to print
* the full stack of the exception
*/
- protected final boolean isUserException;
+ private final boolean isUserException;
public IoTDBException(String message, int errorCode) {
super(message);