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 2022/11/28 08:34:49 UTC
[iotdb] 01/02: merge
This is an automated email from the ASF dual-hosted git repository.
jackietien pushed a commit to branch QueryMetrics
in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit 7bf78f1a94eb014628bdf51be2b5bc9f3fadb9ff
Merge: 40717cc921 bdce979954
Author: JackieTien97 <ja...@gmail.com>
AuthorDate: Sat Nov 26 21:02:43 2022 +0800
merge
RELEASE_NOTES.md | 265 +-
.../org/apache/iotdb/db/qp/sql/IoTDBSqlParser.g4 | 228 +-
.../antlr4/org/apache/iotdb/db/qp/sql/SqlLexer.g4 | 10 +-
cli/src/assembly/resources/tools/load-tsfile.bat | 107 +
cli/src/assembly/resources/tools/load-tsfile.sh | 132 +
.../main/java/org/apache/iotdb/tool/ImportCsv.java | 65 +-
client-go | 2 +-
confignode/src/assembly/confignode.xml | 4 -
.../resources/conf/iotdb-confignode.properties | 60 +-
.../confignode/client/ConfigNodeRequestType.java | 2 +-
.../client/async/AsyncDataNodeClientPool.java | 13 +-
.../client/sync/SyncConfigNodeClientPool.java | 5 +-
.../client/sync/SyncDataNodeClientPool.java | 14 +-
.../iotdb/confignode/conf/ConfigNodeConfig.java | 97 +-
.../confignode/conf/ConfigNodeDescriptor.java | 62 +-
.../confignode/conf/ConfigNodeStartupCheck.java | 28 +-
.../consensus/request/ConfigPhysicalPlan.java | 10 +-
.../consensus/request/ConfigPhysicalPlanType.java | 3 +-
.../write/region/CreateRegionGroupsPlan.java | 19 +
...tPlan.java => AdjustMaxRegionGroupNumPlan.java} | 46 +-
.../request/write/sync/RecordPipeMessagePlan.java | 65 +
.../statemachine/ConfigNodeRegionStateMachine.java | 2 +-
.../confignode/manager/ClusterSchemaManager.java | 107 +-
.../iotdb/confignode/manager/ConfigManager.java | 20 +-
.../iotdb/confignode/manager/ConsensusManager.java | 52 +-
.../apache/iotdb/confignode/manager/IManager.java | 8 +
.../iotdb/confignode/manager/SyncManager.java | 12 +
.../iotdb/confignode/manager/load/LoadManager.java | 2 +-
.../manager/load/LoadManagerMetrics.java | 112 +-
.../manager/load/balancer/RegionBalancer.java | 84 +-
.../manager/load/balancer/RouteBalancer.java | 162 +-
...cator.java => CopySetRegionGroupAllocator.java} | 15 +-
.../balancer/region/GreedyRegionAllocator.java | 68 -
.../region/GreedyRegionGroupAllocator.java | 101 +
...onAllocator.java => IRegionGroupAllocator.java} | 24 +-
.../manager/load/balancer/router/LeaderRouter.java | 90 -
.../router/leader/GreedyLeaderBalancer.java | 186 ++
.../{IRouter.java => leader/ILeaderBalancer.java} | 30 +-
.../MinCostFlowLeaderBalancer.java} | 102 +-
.../manager/load/balancer/router/mcf/MCFEdge.java | 34 -
.../GreedyPriorityBalancer.java} | 65 +-
.../IPriorityBalancer.java} | 24 +-
.../LeaderPriorityBalancer.java} | 49 +-
.../iotdb/confignode/manager/node/NodeManager.java | 27 +-
.../node/heartbeat/DataNodeHeartbeatCache.java | 13 +
.../node/heartbeat/NodeHeartbeatSample.java | 21 +-
.../manager/partition/PartitionManager.java | 76 +-
.../persistence/executor/ConfigPlanExecutor.java | 9 +-
.../persistence/metric/NodeInfoMetrics.java | 95 -
.../persistence/metric/PartitionInfoMetrics.java | 30 +-
.../persistence/partition/PartitionInfo.java | 8 +-
.../persistence/schema/ClusterSchemaInfo.java | 22 +-
.../persistence/sync/ClusterSyncInfo.java | 9 +-
.../procedure/env/ConfigNodeProcedureEnv.java | 111 +-
.../procedure/env/DataNodeRemoveHandler.java | 41 +-
.../impl/node/AddConfigNodeProcedure.java | 38 +-
.../impl/node/RemoveDataNodeProcedure.java | 2 +-
.../impl/schema/DeactivateTemplateProcedure.java | 6 +-
.../impl/schema/DeleteTimeSeriesProcedure.java | 6 +-
.../impl/schema/UnsetTemplateProcedure.java | 4 +-
.../statemachine/CreateRegionGroupsProcedure.java | 13 +-
.../procedure/state/AddConfigNodeState.java | 3 +-
.../iotdb/confignode/service/ConfigNode.java | 7 +-
.../thrift/ConfigNodeRPCServiceHandlerMetrics.java | 4 +-
.../thrift/ConfigNodeRPCServiceMetrics.java | 4 +-
.../thrift/ConfigNodeRPCServiceProcessor.java | 18 +-
.../request/ConfigPhysicalPlanSerDeTest.java | 8 +-
.../balancer/region/GreedyRegionAllocatorTest.java | 92 -
.../region/GreedyRegionGroupAllocatorTest.java | 140 +
.../router/leader/GreedyLeaderBalancerTest.java | 146 +
.../leader/LeaderBalancerComparisonTest.java | 369 +++
.../MinCostFlowLeaderBalancerTest.java} | 33 +-
.../GreedyPriorityTest.java} | 8 +-
.../LeaderPriorityBalancerTest.java} | 56 +-
.../confignode1conf/iotdb-common.properties | 2 +-
.../confignode1conf/iotdb-confignode-metric.yml | 48 -
.../confignode1conf/iotdb-confignode.properties | 8 +-
.../confignode2conf/iotdb-common.properties | 2 +-
.../confignode2conf/iotdb-confignode-metric.yml | 48 -
.../confignode2conf/iotdb-confignode.properties | 8 +-
.../confignode3conf/iotdb-common.properties | 2 +-
.../confignode3conf/iotdb-confignode-metric.yml | 48 -
.../confignode3conf/iotdb-confignode.properties | 8 +-
consensus/pom.xml | 11 +-
.../apache/iotdb/consensus/ConsensusFactory.java | 3 +-
.../org/apache/iotdb/consensus/IStateMachine.java | 13 +-
.../common/request/IndexedConsensusRequest.java | 27 +-
...sensusRequest.java => IoTConsensusRequest.java} | 12 +-
.../iotdb/consensus/config/ConsensusConfig.java | 20 +-
...tiLeaderConfig.java => IoTConsensusConfig.java} | 71 +-
.../IoTConsensus.java} | 96 +-
.../IoTConsensusServerImpl.java} | 119 +-
.../IoTConsensusServerMetrics.java} | 36 +-
.../client/AsyncIoTConsensusServiceClient.java} | 27 +-
.../client/DispatchLogHandler.java | 10 +-
.../client/IoTConsensusClientPool.java} | 45 +-
.../client/SyncIoTConsensusServiceClient.java} | 32 +-
.../logdispatcher/IndexController.java | 13 +-
.../logdispatcher/IoTConsensusMemoryManager.java} | 24 +-
.../IoTConsensusMemoryManagerMetrics.java} | 20 +-
.../logdispatcher/LogDispatcher.java | 199 +-
.../logdispatcher/LogDispatcherThreadMetrics.java | 18 +-
.../logdispatcher/PendingBatch.java | 50 +-
.../logdispatcher/SyncStatus.java | 27 +-
.../service/IoTConsensusRPCService.java} | 32 +-
.../service/IoTConsensusRPCServiceHandler.java} | 8 +-
.../service/IoTConsensusRPCServiceMBean.java} | 4 +-
.../service/IoTConsensusRPCServiceProcessor.java} | 112 +-
.../snapshot/SnapshotFragment.java | 4 +-
.../snapshot/SnapshotFragmentReader.java | 2 +-
.../wal/ConsensusReqReader.java | 2 +-
.../wal/GetConsensusReqReaderPlan.java | 2 +-
.../ratis/ApplicationStateMachineProxy.java | 3 +-
.../apache/iotdb/consensus/ratis/RatisClient.java | 21 +-
.../iotdb/consensus/ratis/RatisConsensus.java | 57 +-
.../iotdb/consensus/ratis/SnapshotStorage.java | 31 +-
.../IoTConsensusTest.java} | 20 +-
.../{multileader => iot}/RecoveryTest.java | 8 +-
.../logdispatcher/IndexControllerTest.java | 2 +-
.../logdispatcher/SyncStatusTest.java | 29 +-
.../util/FakeConsensusReqReader.java | 4 +-
.../{multileader => iot}/util/RequestSets.java | 2 +-
.../{multileader => iot}/util/TestEntry.java | 6 +-
.../util/TestStateMachine.java | 6 +-
.../iotdb/consensus/ratis/RatisConsensusTest.java | 23 +-
distribution/src/assembly/all.xml | 16 -
distribution/src/assembly/confignode.xml | 6 -
distribution/src/assembly/datanode.xml | 12 -
.../GrafanaPlugin/iotdb/conf/iotdb-rest.properties | 61 -
docs/UserGuide/API/RestService.md | 60 +-
.../Administration-Management/Administration.md | 4 +-
docs/UserGuide/Cluster/Cluster-Concept.md | 49 +-
docs/UserGuide/Cluster/Cluster-Setup.md | 228 +-
docs/UserGuide/Data-Concept/Deadband-Process.md | 2 +-
docs/UserGuide/Data-Concept/Schema-Template.md | 15 +
.../Ecosystem-Integration/Grafana-Plugin.md | 4 +-
.../Edge-Cloud-Collaboration/Sync-Tool.md | 24 +-
docs/UserGuide/FAQ/Frequently-asked-questions.md | 2 +-
.../{Write-Data => Maintenance-Tools}/CSV-Tool.md | 0
.../IoTDB-Data-Dir-Overview-Tool.md | 82 +
.../Load-Tsfile.md} | 41 +-
.../UserGuide/Maintenance-Tools/MLogParser-Tool.md | 6 +-
.../Maintenance-Tools/Maintenance-Command.md | 255 +-
docs/UserGuide/Maintenance-Tools/NodeTool.md | 297 --
.../Maintenance-Tools/Rewrite-TsFile-Tool.md | 62 -
.../Maintenance-Tools/SchemaFileSketch-Tool.md | 6 +-
.../TsFile-Load-Export-Tool.md} | 5 +-
.../TsFile-Resource-Sketch-Tool.md | 79 +
.../Maintenance-Tools/TsFile-Sketch-Tool.md | 108 +
.../Maintenance-Tools/TsFile-Split-Tool.md | 25 +-
docs/UserGuide/Monitor-Alert/Alerting.md | 2 +-
docs/UserGuide/Monitor-Alert/Metric-Tool.md | 585 ++--
.../{Storage-Group.md => Database.md} | 4 +-
docs/UserGuide/Operate-Metadata/Template.md | 2 +-
docs/UserGuide/Operate-Metadata/Timeseries.md | 4 +-
docs/UserGuide/Operators-Functions/Aggregation.md | 58 +
.../Anomaly-Detection.md | 0
docs/UserGuide/Operators-Functions/Comparison.md | 305 ++
docs/UserGuide/Operators-Functions/Constant.md | 57 +
.../Operators-Functions/Continuous-Interval.md | 73 +
docs/UserGuide/Operators-Functions/Conversion.md | 127 +
.../Data-Matching.md | 0
.../Data-Profiling.md | 0
.../Data-Quality.md | 0
.../Data-Repairing.md | 0
.../Frequency-Domain.md | 0
docs/UserGuide/Operators-Functions/Lambda.md | 77 +
docs/UserGuide/Operators-Functions/Logical.md | 63 +
docs/UserGuide/Operators-Functions/Mathematical.md | 113 +
.../Overview.md} | 24 +
docs/UserGuide/Operators-Functions/Sample.md | 389 +++
docs/UserGuide/Operators-Functions/Selection.md | 51 +
.../Series-Discovery.md | 0
.../String.md} | 66 +
.../Time-Series.md} | 2 +-
.../User-Defined-Function.md} | 2 -
.../Operators-Functions/Variation-Trend.md | 54 +
docs/UserGuide/Query-Data/Align-By.md | 57 +
.../Continuous-Query.md | 0
.../Query-Data/{Fill-Null-Value.md => Fill.md} | 116 +-
.../Query-Data/{Aggregate-Query.md => Group-By.md} | 142 +-
docs/UserGuide/Query-Data/Having-Condition.md | 115 +
docs/UserGuide/Query-Data/Last-Query.md | 16 +-
.../M4.md => UserGuide/Query-Data/Order-By.md} | 6 +-
docs/UserGuide/Query-Data/Overview.md | 97 +-
docs/UserGuide/Query-Data/Pagination.md | 39 +-
.../Query-Data/Performance-Tracing-Tool.md | 53 -
docs/UserGuide/Query-Data/Result-Format.md | 82 -
docs/UserGuide/Query-Data/Select-Expression.md | 1087 +------
.../{Process-Data => Query-Data}/Select-Into.md | 22 +-
docs/UserGuide/Query-Data/Tracing-Tool.md | 48 -
.../{Query-Filter.md => Where-Condition.md} | 7 +-
docs/UserGuide/Query-Data/Without-Null.md | 172 -
docs/UserGuide/QuickStart/Files.md | 92 +-
docs/UserGuide/Reference/Common-Config-Manual.md | 1888 +++++++++++
.../Reference/ConfigNode-Config-Manual.md | 257 +-
docs/UserGuide/Reference/DataNode-Config-Manual.md | 1192 +------
docs/UserGuide/Reference/Keywords.md | 401 ++-
docs/UserGuide/Reference/SQL-Reference.md | 12 +-
docs/UserGuide/{API => Reference}/Status-Codes.md | 4 +-
docs/UserGuide/Reference/Syntax-Conventions.md | 591 ----
.../Detailed-Grammar.md} | 7 +-
docs/UserGuide/Syntax-Conventions/Identifier.md | 141 +
docs/UserGuide/Syntax-Conventions/KeyValue-Pair.md | 119 +
.../Keywords-And-Reserved-Words.md} | 7 +-
.../UserGuide/Syntax-Conventions/Literal-Values.md | 157 +
.../Syntax-Conventions/NodeName-In-Path.md | 119 +
.../Syntax-Conventions/Session-And-TsFile-API.md | 119 +
.../M4.md => Trigger/Configuration-Parameters.md} | 8 +-
.../Triggers.md => Trigger/Implement-Trigger.md} | 201 +-
docs/UserGuide/Trigger/Instructions.md | 51 +
docs/UserGuide/Trigger/Notes.md | 30 +
docs/UserGuide/Trigger/Trigger-Management.md | 152 +
docs/UserGuide/Write-Data/Batch-Load-Tool.md | 32 +
docs/UserGuide/Write-Data/REST-API.md | 6 +-
docs/zh/UserGuide/API/RestService.md | 78 +-
.../Administration-Management/Administration.md | 4 +-
docs/zh/UserGuide/Cluster/Cluster-Concept.md | 50 +-
docs/zh/UserGuide/Cluster/Cluster-Setup.md | 231 +-
docs/zh/UserGuide/Data-Concept/Deadband-Process.md | 2 +-
docs/zh/UserGuide/Data-Concept/Schema-Template.md | 15 +
.../Ecosystem-Integration/Grafana-Plugin.md | 4 +-
.../Edge-Cloud-Collaboration/Sync-Tool.md | 16 +-
.../zh/UserGuide/FAQ/Frequently-asked-questions.md | 2 +-
.../{Write-Data => Maintenance-Tools}/CSV-Tool.md | 2 +-
.../IoTDB-Data-Dir-Overview-Tool.md | 82 +
.../Load-Tsfile.md} | 41 +-
.../UserGuide/Maintenance-Tools/MLogParser-Tool.md | 6 +-
.../Maintenance-Tools/Maintenance-Command.md | 250 +-
docs/zh/UserGuide/Maintenance-Tools/NodeTool.md | 293 --
.../Maintenance-Tools/Rewrite-TsFile-Tool.md | 62 -
.../Maintenance-Tools/SchemaFileSketch-Tool.md | 8 +-
.../TsFile-Load-Export-Tool.md} | 6 +-
.../TsFile-Resource-Sketch-Tool.md | 79 +
.../Maintenance-Tools/TsFile-Sketch-Tool.md | 108 +
.../Maintenance-Tools/TsFile-Split-Tool.md | 20 +-
docs/zh/UserGuide/Monitor-Alert/Alerting.md | 2 +-
docs/zh/UserGuide/Monitor-Alert/Metric-Tool.md | 757 +++--
.../{Storage-Group.md => Database.md} | 6 +-
docs/zh/UserGuide/Operate-Metadata/Template.md | 4 +-
docs/zh/UserGuide/Operate-Metadata/Timeseries.md | 14 +-
.../UserGuide/Operators-Functions/Aggregation.md | 41 +
.../Anomaly-Detection.md | 32 +-
.../zh/UserGuide/Operators-Functions/Comparison.md | 309 ++
docs/zh/UserGuide/Operators-Functions/Constant.md | 57 +
.../Operators-Functions/Continuous-Interval.md | 75 +
.../zh/UserGuide/Operators-Functions/Conversion.md | 131 +
.../Data-Matching.md | 32 +-
.../Data-Profiling.md | 32 +-
.../Data-Quality.md | 32 +-
.../Data-Repairing.md | 32 +-
.../Frequency-Domain.md | 32 +-
docs/zh/UserGuide/Operators-Functions/Lambda.md | 83 +
docs/zh/UserGuide/Operators-Functions/Logical.md | 63 +
.../UserGuide/Operators-Functions/Mathematical.md | 116 +
docs/zh/UserGuide/Operators-Functions/Overview.md | 239 ++
docs/zh/UserGuide/Operators-Functions/Sample.md | 408 +++
docs/zh/UserGuide/Operators-Functions/Selection.md | 51 +
.../Series-Discovery.md | 32 +-
.../String.md} | 104 +-
.../Time-Series.md} | 36 +-
.../User-Defined-Function.md} | 4 +-
.../Operators-Functions/Variation-Trend.md | 54 +
docs/zh/UserGuide/Query-Data/Align-By.md | 61 +
.../Continuous-Query.md | 0
.../Query-Data/{Fill-Null-Value.md => Fill.md} | 134 +-
.../Query-Data/{Aggregate-Query.md => Group-By.md} | 346 +-
docs/zh/UserGuide/Query-Data/Having-Condition.md | 115 +
docs/zh/UserGuide/Query-Data/Last-Query.md | 24 +-
.../M4.md => zh/UserGuide/Query-Data/Order-By.md} | 7 +-
docs/zh/UserGuide/Query-Data/Overview.md | 121 +-
docs/zh/UserGuide/Query-Data/Pagination.md | 118 +-
.../Query-Data/Performance-Tracing-Tool.md | 51 -
docs/zh/UserGuide/Query-Data/Result-Format.md | 89 -
docs/zh/UserGuide/Query-Data/Select-Expression.md | 1173 +------
.../{Process-Data => Query-Data}/Select-Into.md | 24 +-
docs/zh/UserGuide/Query-Data/Tracing-Tool.md | 48 -
.../{Query-Filter.md => Where-Condition.md} | 21 +-
docs/zh/UserGuide/Query-Data/Without-Null.md | 172 -
docs/zh/UserGuide/QuickStart/Files.md | 88 +-
.../zh/UserGuide/Reference/Common-Config-Manual.md | 1932 +++++++++++
.../Reference/ConfigNode-Config-Manual.md | 326 +-
.../UserGuide/Reference/DataNode-Config-Manual.md | 1782 +---------
docs/zh/UserGuide/Reference/Keywords.md | 401 ++-
docs/zh/UserGuide/Reference/SQL-Reference.md | 12 +-
.../UserGuide/{API => Reference}/Status-Codes.md | 4 +-
docs/zh/UserGuide/Reference/Syntax-Conventions.md | 590 ----
.../Syntax-Conventions/Detailed-Grammar.md} | 7 +-
docs/zh/UserGuide/Syntax-Conventions/Identifier.md | 142 +
.../UserGuide/Syntax-Conventions/KeyValue-Pair.md | 119 +
.../Keywords-And-Reserved-Words.md} | 6 +-
.../UserGuide/Syntax-Conventions/Literal-Values.md | 150 +
.../Syntax-Conventions/NodeName-In-Path.md | 120 +
.../Syntax-Conventions/Session-And-TsFile-API.md | 119 +
.../UserGuide/Trigger/Configuration-Parameters.md} | 8 +-
.../Triggers.md => Trigger/Implement-Trigger.md} | 198 +-
docs/zh/UserGuide/Trigger/Instructions.md | 46 +
docs/zh/UserGuide/Trigger/Notes.md | 33 +
docs/zh/UserGuide/Trigger/Trigger-Management.md | 152 +
docs/zh/UserGuide/UDF-Library/Quick-Start.md | 40 -
docs/zh/UserGuide/Write-Data/Batch-Load-Tool.md | 32 +
docs/zh/UserGuide/Write-Data/REST-API.md | 6 +-
.../Apache IoTDB DataNode Dashboard v0.14.0.json | 20 +-
grafana-plugin/go.sum | 2 +-
grafana-plugin/pkg/plugin/plugin.go | 8 +-
.../trigger/example/TriggerFireTimesCounter.java | 5 +
.../java/org/apache/iotdb/it/env/AbstractEnv.java | 58 +-
.../org/apache/iotdb/it/env/DataNodeWrapper.java | 12 +-
.../java/org/apache/iotdb/it/env/MppConfig.java | 30 +-
.../org/apache/iotdb/it/env/RemoteServerEnv.java | 18 +-
.../org/apache/iotdb/itbase/env/BaseConfig.java | 28 +-
.../java/org/apache/iotdb/itbase/env/BaseEnv.java | 10 +
.../it/IoTDBClusterRegionLeaderBalancingIT.java | 82 +-
.../iotdb/confignode/it/IoTDBClusterRestartIT.java | 8 +-
.../it/IoTDBConfigNodeSwitchLeaderIT.java | 3 +-
.../it/partition/IoTDBPartitionDurableIT.java | 626 ++++
.../it/partition/IoTDBPartitionDurableTest.java | 323 --
.../it/partition/IoTDBPartitionGetterIT.java | 88 +-
...est.java => IoTDBPartitionInheritPolicyIT.java} | 31 +-
.../java/org/apache/iotdb/db/it/IoTDBAuthIT.java | 14 +-
.../db/it/IoTDBSyntaxConventionIdentifierIT.java | 2 +-
.../it/IoTDBSyntaxConventionStringLiteralIT.java | 2 +-
.../db/it/alignbydevice/IoTDBAlignByDeviceIT.java | 75 +-
.../db/it/aligned/IoTDBGroupByLevelQueryIT.java | 39 +-
.../org/apache/iotdb/db/it/env/StandaloneEnv.java | 18 +-
.../db/it/groupby/IoTDBGroupByNaturalMonthIT.java | 6 +-
.../db/it/schema/IoTDBCreateTimeseriesIT.java | 2 +-
.../db/it/schema/IoTDBDeactivateTemplateIT.java | 8 +-
.../iotdb/db/it/schema/IoTDBMetadataFetchIT.java | 2 +-
.../iotdb/db/it/schema/IoTDBSchemaTemplateIT.java | 4 +-
.../db/it/udf/IoTDBUDTFAlignByTimeQueryIT.java | 20 +
.../src/test/resources/TriggerFireTimesCounter.jar | Bin 1324 -> 1397 bytes
.../iotdb/db/integration/IoTDBAuthorizationIT.java | 14 +-
.../apache/iotdb/db/integration/IoTDBLastIT.java | 102 -
.../db/integration/sync/IoTDBSyncReceiverIT.java | 2 +-
.../sync/IoTDBSyncReceiverLoaderIT.java | 6 +-
.../iotdb/db/integration/sync/MockSyncClient.java | 4 +-
metrics/ReadMe.md | 29 +-
metrics/dropwizard-metrics/pom.xml | 5 -
.../dropwizard/DropwizardMetricManager.java | 3 +-
.../reporter/DropwizardIoTDBReporter.java | 79 -
.../dropwizard/reporter/DropwizardJmxReporter.java | 9 +-
.../dropwizard/reporter/DropwizardMetricType.java | 38 -
.../reporter/DropwizardMetricsExporter.java | 168 -
.../reporter/DropwizardPrometheusReporter.java | 118 -
.../metrics/dropwizard/reporter/IoTDBReporter.java | 278 --
.../dropwizard/type/DropwizardAutoGauge.java | 19 +-
.../type/DropwizardHistogramSnapshot.java | 7 -
... org.apache.iotdb.metrics.reporter.JmxReporter} | 4 +-
metrics/interface/pom.xml | 11 +-
.../resources/conf/iotdb-confignode-metric.yml | 49 -
.../resources/conf/iotdb-datanode-metric.yml | 49 -
.../iotdb/metrics/AbstractMetricManager.java | 201 +-
.../iotdb/metrics/AbstractMetricService.java | 231 +-
.../metrics/{reporter => }/CompositeReporter.java | 25 +-
.../iotdb/metrics/DoNothingMetricService.java | 8 +-
.../apache/iotdb/metrics/config/MetricConfig.java | 248 +-
.../metrics/config/MetricConfigDescriptor.java | 221 +-
.../iotdb/metrics/config/MetricConstant.java | 37 -
.../apache/iotdb/metrics/config/ReloadLevel.java | 6 +-
.../iotdb/metrics/impl/DoNothingAutoGauge.java | 13 +-
.../iotdb/metrics/impl/DoNothingCounter.java | 2 +-
.../apache/iotdb/metrics/impl/DoNothingGauge.java | 2 +-
.../iotdb/metrics/impl/DoNothingHistogram.java | 2 +-
.../metrics/impl/DoNothingHistogramSnapshot.java | 9 +-
.../apache/iotdb/metrics/impl/DoNothingMetric.java | 4 +-
.../iotdb/metrics/impl/DoNothingMetricManager.java | 11 +-
.../apache/iotdb/metrics/impl/DoNothingRate.java | 2 +-
.../apache/iotdb/metrics/impl/DoNothingTimer.java | 2 +-
.../metricsets/jvm/JvmClassLoaderMetrics.java | 12 +-
.../metrics/metricsets/jvm/JvmCompileMetrics.java | 6 +-
.../iotdb/metrics/metricsets/jvm/JvmGcMetrics.java | 28 +-
.../metrics/metricsets/jvm/JvmMemoryMetrics.java | 48 +-
.../metrics/metricsets/jvm/JvmThreadMetrics.java | 24 +-
.../metrics/metricsets/logback/LogbackMetrics.java | 10 +-
.../metricsets/logback/MetricsTurboFilter.java | 10 +-
.../apache/iotdb/metrics/reporter/JmxReporter.java | 14 +-
.../apache/iotdb/metrics/reporter/Reporter.java | 10 +-
.../reporter/iotdb/InternalIoTDBReporter.java | 67 +
.../metrics/reporter/iotdb/IoTDBReporter.java | 103 +
.../iotdb/MemoryInternalIoTDBReporter.java} | 38 +-
.../reporter/iotdb/SessionIoTDBReporter.java | 175 +
.../reporter/prometheus/PrometheusReporter.java | 222 ++
.../reporter/prometheus}/PrometheusTextWriter.java | 44 +-
.../org/apache/iotdb/metrics/type/AutoGauge.java | 19 +-
.../org/apache/iotdb/metrics/type/Counter.java | 13 +-
.../java/org/apache/iotdb/metrics/type/Gauge.java | 15 +-
.../org/apache/iotdb/metrics/type/Histogram.java | 14 +-
.../iotdb/metrics/type/HistogramSnapshot.java | 34 +-
.../org/apache/iotdb/metrics/type/IMetric.java | 8 +-
.../java/org/apache/iotdb/metrics/type/Rate.java | 25 +-
.../java/org/apache/iotdb/metrics/type/Timer.java | 17 +-
...OutPutFormat.java => InternalReporterType.java} | 8 +-
.../iotdb/metrics/utils/IoTDBMetricsUtils.java | 74 +-
.../{MonitorType.java => MetricFrameType.java} | 2 +-
.../org/apache/iotdb/metrics/utils/MetricInfo.java | 18 +-
.../org/apache/iotdb/metrics/utils/MetricType.java | 1 +
.../iotdb/metrics/config/MetricConfigTest.java | 86 +-
.../interface/src/test/resources/iotdb-metric.yml | 52 -
.../micrometer/MicrometerMetricManager.java | 4 +-
.../micrometer/reporter/IoTDBMeterRegistry.java | 149 -
.../micrometer/reporter/IoTDBRegistryConfig.java | 50 -
.../reporter/MicrometerIoTDBReporter.java | 92 -
.../micrometer/reporter/MicrometerJmxReporter.java | 7 +-
.../reporter/MicrometerPrometheusReporter.java | 118 -
.../micrometer/type/MicrometerAutoGauge.java | 19 +-
.../type/MicrometerHistogramSnapshot.java | 7 -
... org.apache.iotdb.metrics.reporter.JmxReporter} | 4 +-
.../resources/conf/iotdb-common.properties | 274 +-
.../iotdb/commons/auth/entity/PrivilegeType.java | 4 +-
.../apache/iotdb/commons/client/ClientManager.java | 7 +-
.../sync/SyncThriftClientWithErrorHandler.java | 3 +-
.../iotdb/commons/concurrent/ThreadName.java | 4 +-
.../apache/iotdb/commons/conf/CommonConfig.java | 12 +-
.../iotdb/commons/conf/CommonDescriptor.java | 7 +-
.../apache/iotdb/commons/conf/IoTDBConstant.java | 16 +
.../exception/sync}/SyncConnectionException.java | 2 +-
.../exception/sync/SyncHandshakeException.java | 10 +-
.../commons/partition/DataPartitionQueryParam.java | 6 +
.../apache/iotdb/commons/service/ServiceType.java | 2 +-
.../commons/service/metric/MetricService.java | 105 +-
.../iotdb/commons/service/metric/enums/Metric.java | 3 +-
.../iotdb/commons/sync/metadata/SyncMetadata.java | 3 +
.../iotdb/commons/sync/pipe/PipeMessage.java | 54 +-
.../commons/sync/transport/SyncIdentityInfo.java | 57 +
.../iotdb/commons/sync/utils/SyncPathUtil.java | 17 +-
.../org/apache/iotdb/commons/utils/AuthUtils.java | 14 +-
.../org/apache/iotdb/commons/utils/PathUtils.java | 39 +-
openapi/src/main/openapi3/iotdb-rest.yaml | 17 +-
pom.xml | 4 +-
.../schemaregion/rocksdb/RSchemaRegion.java | 138 +-
.../schemaregion/rocksdb/mnode/REntityMNode.java | 16 -
.../schemaregion/rocksdb/mnode/RInternalMNode.java | 32 -
.../rocksdb/mnode/RMeasurementMNode.java | 32 -
.../rocksdb/mnode/RStorageGroupMNode.java | 8 -
.../metadata/tagSchemaRegion/TagSchemaRegion.java | 85 +-
.../utils/ShowTimeSeriesResultUtils.java | 4 +-
.../src/assembly/resources/conf/datanode-env.bat | 2 +-
.../resources/conf/iotdb-datanode.properties | 128 +-
.../assembly/resources/conf/iotdb-rest.properties | 64 -
.../assembly/resources/sbin/start-new-server.bat | 167 -
.../assembly/resources/sbin/start-new-server.sh | 249 --
.../assembly/resources/tools/detect-watermark.bat | 65 -
.../assembly/resources/tools/detect-watermark.sh | 47 -
.../assembly/resources/tools/rocksdb-transfer.bat | 126 -
.../assembly/resources/tools/rocksdb-transfer.sh | 82 -
...chemaFileSketcher.bat => print-schema-file.bat} | 0
...{SchemaFileSketcher.sh => print-schema-file.sh} | 0
.../{mLogParser.bat => print-schema-log.bat} | 0
.../schema/{mLogParser.sh => print-schema-log.sh} | 0
.../assembly/resources/tools/start-WalChecker.bat | 111 -
.../assembly/resources/tools/start-WalChecker.sh | 91 -
.../print-iotdb-data-dir.bat | 0
.../print-iotdb-data-dir.sh | 0
.../print-tsfile-resource-files.bat | 0
.../print-tsfile-resource-files.sh | 0
.../print-tsfile.bat} | 0
.../print-tsfile.sh} | 0
.../split-tsfile-tool.bat | 0
.../{tsfileToolSet => tsfile}/split-tsfile-tool.sh | 0
.../{tsfileToolSet => tsfile}/validate-tsfile.bat | 0
.../{tsfileToolSet => tsfile}/validate-tsfile.sh | 0
.../tools/tsfileToolSet/print-tsfile-visdata.bat | 62 -
.../tools/tsfileToolSet/print-tsfile-visdata.sh | 51 -
.../resources/tools/tsfileToolSet/settle.bat | 62 -
.../resources/tools/tsfileToolSet/settle.sh | 51 -
server/src/assembly/server.xml | 4 -
.../org/apache/iotdb/db/auth/AuthorityChecker.java | 8 +-
.../apache/iotdb/db/client/ConfigNodeClient.java | 173 +-
.../iotdb/db/client/DataNodeClientPoolFactory.java | 6 +-
.../java/org/apache/iotdb/db/conf/IoTDBConfig.java | 85 +-
.../org/apache/iotdb/db/conf/IoTDBDescriptor.java | 70 +-
.../org/apache/iotdb/db/conf/IoTDBStartCheck.java | 2 -
.../iotdb/db/conf/rest/IoTDBRestServiceConfig.java | 2 +-
.../db/consensus/DataRegionConsensusImpl.java | 10 +-
.../consensus/statemachine/BaseStateMachine.java | 4 +-
.../statemachine/DataRegionStateMachine.java | 23 +-
.../apache/iotdb/db/engine/StorageEngineV2.java | 2 +-
.../iotdb/db/engine/TsFileMetricManager.java | 6 +-
.../iotdb/db/engine/cache/ChunkCacheMetrics.java | 4 +-
.../cache/TimeSeriesMetadataCacheMetrics.java | 8 +-
.../compaction/cross/CrossSpaceCompactionTask.java | 19 +-
.../compaction/inner/InnerSpaceCompactionTask.java | 9 +-
.../iotdb/db/engine/flush/FlushManagerMetrics.java | 8 +-
.../iotdb/db/engine/snapshot/SnapshotTaker.java | 17 +-
.../iotdb/db/engine/storagegroup/DataRegion.java | 28 +-
.../db/engine/storagegroup/DataRegionMetrics.java | 8 +-
.../db/engine/storagegroup/TsFileProcessor.java | 196 +-
.../storagegroup/TsFileProcessorInfoMetrics.java | 4 +-
.../iotdb/db/localconfignode/LocalConfigNode.java | 250 +-
.../iotdb/db/metadata/LocalSchemaProcessor.java | 550 +---
.../metadata/cache/DataNodeLastCacheManager.java | 2 +-
.../metadata/cache/DataNodeSchemaCacheMetrics.java | 4 +-
.../iotdb/db/metadata/cache/SchemaCacheEntry.java | 4 +-
.../lastCache/container/ILastCacheContainer.java | 2 +-
.../lastCache/container/LastCacheContainer.java | 6 +-
.../lastCache/container/value/ILastCacheValue.java | 2 +-
.../lastCache/container/value/LastCacheValue.java | 2 +-
.../apache/iotdb/db/metadata/idtable/IDTable.java | 45 -
.../db/metadata/idtable/IDTableHashmapImpl.java | 65 -
.../idtable/entry/InsertMeasurementMNode.java | 31 -
.../db/metadata/idtable/entry/SchemaEntry.java | 82 +-
.../db/metadata/lastCache/LastCacheManager.java | 255 --
.../iotdb/db/metadata/logfile/MLogTxtReader.java | 78 -
.../iotdb/db/metadata/logfile/MLogTxtWriter.java | 458 ---
.../iotdb/db/metadata/logfile/MLogWriter.java | 43 +-
.../iotdb/db/metadata/mnode/EntityMNode.java | 24 -
.../iotdb/db/metadata/mnode/IEntityMNode.java | 6 -
.../org/apache/iotdb/db/metadata/mnode/IMNode.java | 11 -
.../iotdb/db/metadata/mnode/IMeasurementMNode.java | 5 -
.../iotdb/db/metadata/mnode/InternalMNode.java | 56 -
.../iotdb/db/metadata/mnode/MeasurementMNode.java | 56 -
.../db/metadata/mnode/StorageGroupEntityMNode.java | 10 -
.../iotdb/db/metadata/mnode/StorageGroupMNode.java | 19 -
.../mnode/estimator/BasicMNodSizeEstimator.java | 9 +-
.../iotdb/db/metadata/mtree/ConfigMTree.java | 10 +-
.../iotdb/db/metadata/mtree/IMTreeBelowSG.java | 93 +-
.../db/metadata/mtree/MTreeBelowSGCachedImpl.java | 653 +---
.../db/metadata/mtree/MTreeBelowSGMemoryImpl.java | 594 +---
.../store/disk/schemafile/AliasIndexPage.java | 2 +-
.../mtree/store/disk/schemafile/InternalPage.java | 2 +-
.../store/disk/schemafile/MockSchemaFile.java | 1 -
.../mtree/store/disk/schemafile/RecordUtils.java | 16 +-
.../mtree/store/disk/schemafile/SchemaFile.java | 51 +-
.../store/disk/schemafile/WrappedSegment.java | 2 +-
.../disk/schemafile/pagemgr/IPageManager.java | 5 +-
.../store/disk/schemafile/pagemgr/PageManager.java | 28 +-
.../db/metadata/mtree/traverser/Traverser.java | 51 +-
.../mtree/traverser/collector/MNodeCollector.java | 18 -
.../mtree/traverser/counter/CounterTraverser.java | 4 +-
.../counter/MeasurementGroupByLevelCounter.java | 12 +-
.../plan/schemaregion/SchemaRegionPlanType.java | 6 +-
.../plan/schemaregion/SchemaRegionPlanVisitor.java | 15 -
.../impl/ActivateTemplatePlanImpl.java | 44 -
.../impl/SchemaRegionPlanDeserializer.java | 44 +-
.../schemaregion/impl/SchemaRegionPlanFactory.java | 11 -
.../impl/SchemaRegionPlanSerializer.java | 49 -
.../impl/SchemaRegionPlanTxtSerializer.java | 29 -
.../schemaregion/impl/SetTemplatePlanImpl.java | 69 -
.../schemaregion/impl/UnsetTemplatePlanImpl.java | 69 -
.../schemaregion/write/IActivateTemplatePlan.java | 42 -
.../plan/schemaregion/write/ISetTemplatePlan.java | 45 -
.../schemaregion/write/IUnsetTemplatePlan.java | 45 -
.../rescon/SchemaStatisticsManagerMetrics.java | 4 +-
.../db/metadata/schemaregion/ISchemaRegion.java | 80 +-
.../schemaregion/SchemaRegionMemoryImpl.java | 299 +-
.../schemaregion/SchemaRegionSchemaFileImpl.java | 307 +-
.../storagegroup/IStorageGroupSchemaManager.java | 7 +-
.../storagegroup/StorageGroupSchemaManager.java | 9 +-
.../db/metadata/template/TemplateLogReader.java | 46 -
.../db/metadata/template/TemplateLogWriter.java | 64 -
.../db/metadata/template/TemplateManager.java | 384 ---
.../db/metadata/upgrade/MetadataUpgrader.java | 437 ---
.../metadata/visitor/SchemaExecutionVisitor.java | 4 +-
.../apache/iotdb/db/mpp/common/SchemaRegion.java | 29 -
.../db/mpp/common/header/ColumnHeaderConstant.java | 14 +-
.../iotdb/db/mpp/execution/driver/DataDriver.java | 4 +-
.../exchange/MPPDataExchangeServiceMetrics.java | 4 +-
...MppDataExchangeServiceThriftHandlerMetrics.java | 4 +-
.../execution/executor/RegionWriteExecutor.java | 17 +-
.../iotdb/db/mpp/execution/memory/MemoryPool.java | 84 +-
.../operator/process/AbstractIntoOperator.java | 21 +-
.../operator/process/DeviceViewIntoOperator.java | 2 +-
.../operator/process/DeviceViewOperator.java | 16 +-
.../execution/operator/process/IntoOperator.java | 2 +-
.../operator/process/last/LastQueryOperator.java | 6 +-
.../operator/schema/CountMergeOperator.java | 18 +-
.../operator/schema/DevicesCountOperator.java | 4 +-
.../schema/LevelTimeSeriesCountOperator.java | 4 +-
.../operator/schema/NodePathsCountOperator.java | 2 +-
.../schema/NodePathsSchemaScanOperator.java | 3 +-
.../operator/schema/TimeSeriesCountOperator.java | 4 +-
.../operator/source/AlignedSeriesScanOperator.java | 114 +-
.../operator/source/SeriesScanOperator.java | 108 +-
.../apache/iotdb/db/mpp/plan/TestRPCClient.java | 26 +-
.../iotdb/db/mpp/plan/analyze/AnalyzeVisitor.java | 135 +-
.../plan/analyze/StandalonePartitionFetcher.java | 2 +-
.../iotdb/db/mpp/plan/analyze/TypeProvider.java | 7 -
.../db/mpp/plan/execution/QueryExecution.java | 2 +-
.../config/metadata/ShowFunctionsTask.java | 15 +-
.../memory/StatementMemorySourceVisitor.java | 21 +-
.../iotdb/db/mpp/plan/parser/ASTVisitor.java | 669 ++--
.../db/mpp/plan/parser/StatementGenerator.java | 26 +-
.../db/mpp/plan/planner/OperatorTreeGenerator.java | 19 +-
.../planner/distribution/DistributionPlanner.java | 2 +-
.../planner/distribution/ExchangeNodeAdder.java | 111 +
.../plan/planner/distribution/SourceRewriter.java | 4 +-
.../db/mpp/plan/planner/plan/node/PlanNode.java | 16 +-
.../write/CreateAlignedTimeSeriesNode.java | 6 +-
.../metedata/write/CreateMultiTimeSeriesNode.java | 5 +-
.../node/metedata/write/CreateTimeSeriesNode.java | 6 +-
.../plan/node/metedata/write/MeasurementGroup.java | 6 +-
.../plan/node/write/InsertMultiTabletsNode.java | 2 +-
.../plan/planner/plan/node/write/InsertNode.java | 13 +-
.../planner/plan/node/write/InsertRowNode.java | 2 +-
.../scheduler/FragmentInstanceDispatcherImpl.java | 6 +-
.../plan/scheduler/load/LoadTsFileScheduler.java | 22 +-
.../plan/statement/crud/LoadTsFileStatement.java | 12 +-
.../db/mpp/plan/statement/crud/QueryStatement.java | 3 +
.../metadata/DeleteStorageGroupStatement.java | 18 +-
.../statement/metadata/ShowTriggersStatement.java | 6 -
.../rest/handler/RequestValidationHandler.java | 14 +-
.../rest/handler/StatementConstructionHandler.java | 2 +-
.../apache/iotdb/db/qp/executor/PlanExecutor.java | 119 +-
.../db/qp/physical/sys/ActivateTemplatePlan.java | 4 +-
.../db/qp/physical/sys/AppendTemplatePlan.java | 2 +-
.../physical/sys/CreateAlignedTimeSeriesPlan.java | 8 +-
.../qp/physical/sys/CreateMultiTimeSeriesPlan.java | 6 +-
.../db/qp/physical/sys/CreateTemplatePlan.java | 7 +-
.../db/qp/physical/sys/CreateTimeSeriesPlan.java | 6 +-
.../iotdb/db/qp/physical/sys/SetTemplatePlan.java | 3 +-
.../db/qp/physical/sys/UnsetTemplatePlan.java | 3 +-
.../apache/iotdb/db/qp/sql/IoTDBSqlVisitor.java | 3407 --------------------
.../iotdb/db/qp/strategy/LogicalGenerator.java | 51 +-
.../control/clientsession/IClientSession.java | 2 +-
.../iotdb/db/query/executor/LastQueryExecutor.java | 65 +-
.../pool/RawQueryReadTaskPoolManagerMetrics.java | 8 +-
.../java/org/apache/iotdb/db/service/DataNode.java | 29 +-
.../service/DataNodeInternalRPCServiceMetrics.java | 4 +-
.../java/org/apache/iotdb/db/service/IoTDB.java | 12 +
.../apache/iotdb/db/service/IoTDBShutdownHook.java | 1 +
.../org/apache/iotdb/db/service/RPCService.java | 8 +-
.../apache/iotdb/db/service/RPCServiceMetrics.java | 4 +-
.../db/service/metrics/DataNodeMetricsHelper.java | 14 +-
.../iotdb/db/service/metrics/FileMetrics.java | 30 +-
.../db/service/metrics/IoTDBInternalReporter.java | 164 +
.../iotdb/db/service/metrics/ProcessMetrics.java | 39 +-
.../iotdb/db/service/metrics/SystemMetrics.java | 41 +-
.../metrics/recorder/CacheMetricsRecorder.java | 2 +-
.../recorder/CompactionMetricsRecorder.java | 8 +-
.../InternalServiceThriftHandlerMetrics.java | 7 +-
.../handler/RPCServiceThriftHandlerMetrics.java | 4 +-
.../service/thrift/impl/ClientRPCServiceImpl.java | 27 +-
.../impl/DataNodeInternalRPCServiceImpl.java | 64 +-
.../db/service/thrift/impl/TSServiceImpl.java | 136 +-
.../java/org/apache/iotdb/db/sync/SyncService.java | 31 +-
.../db/sync/common/ClusterSyncInfoFetcher.java | 12 +-
.../iotdb/db/sync/pipedata/DeletionPipeData.java | 4 +-
.../apache/iotdb/db/sync/pipedata/PipeData.java | 2 +-
.../iotdb/db/sync/pipedata/TsFilePipeData.java | 4 +-
.../load/DeletionLoader.java | 2 +-
.../sync/{receiver => pipedata}/load/ILoader.java | 2 +-
.../{receiver => pipedata}/load/TsFileLoader.java | 4 +-
.../iotdb/db/sync/sender/pipe/TsFilePipe.java | 16 +-
.../db/sync/transport/client/ISyncClient.java | 7 +-
.../db/sync/transport/client/IoTDBSyncClient.java | 34 +-
.../db/sync/transport/client/SenderManager.java | 49 +-
.../sync/transport/client/SyncClientFactory.java | 34 +-
.../db/sync/transport/server/ReceiverManager.java | 101 +-
.../apache/iotdb/db/tools/schema/MLogParser.java | 2 +-
.../db/tools/schema/SchemaFileSketchTool.java | 5 +-
.../iotdb/db/tools/vis/TsFileExtractVisdata.java | 170 -
.../main/java/org/apache/iotdb/db/tools/vis/vis.m | 290 --
.../apache/iotdb/db/utils/ErrorHandlingUtils.java | 4 +-
.../org/apache/iotdb/db/utils/SchemaUtils.java | 24 -
.../java/org/apache/iotdb/db/wal/WALManager.java | 16 +-
.../db/wal/allocation/FirstCreateStrategy.java | 2 +-
.../org/apache/iotdb/db/wal/node/IWALNode.java | 2 +-
.../java/org/apache/iotdb/db/wal/node/WALNode.java | 18 +-
.../iotdb/db/wal/recover/WALNodeRecoverTask.java | 6 +-
.../apache/iotdb/db/auth/AuthorityCheckerTest.java | 2 +-
.../iotdb/db/metadata/SchemaAdvancedTest.java | 25 -
.../apache/iotdb/db/metadata/SchemaBasicTest.java | 1285 +-------
.../org/apache/iotdb/db/metadata/TemplateTest.java | 307 +-
.../iotdb/db/metadata/idtable/IDTableTest.java | 149 -
.../db/metadata/idtable/LastQueryWithIDTable.java | 145 -
.../db/metadata/idtable/entry/SchemaEntryTest.java | 18 -
.../metadata/idtable/trigger_example/Counter.java | 97 -
.../iotdb/db/metadata/mtree/ConfigMTreeTest.java | 19 +-
.../iotdb/db/metadata/mtree/MTreeBelowSGTest.java | 75 +-
.../metadata/mtree/schemafile/SchemaFileTest.java | 86 +-
.../plan/SchemaRegionPlanCompatibilityTest.java | 55 -
.../schemaRegion/SchemaRegionBasicTest.java | 10 +-
.../db/metadata/upgrade/MetadataUpgradeTest.java | 318 --
.../apache/iotdb/db/metric/MetricServiceTest.java | 77 +-
.../db/mpp/execution/exchange/SinkHandleTest.java | 88 +-
.../mpp/execution/exchange/SourceHandleTest.java | 70 +-
.../operator/DeviceMergeOperatorTest.java | 9 +
.../execution/operator/DeviceViewOperatorTest.java | 3 +
.../mpp/execution/operator/OperatorMemoryTest.java | 4 +-
.../operator/schema/CountMergeOperatorTest.java | 8 +-
.../operator/schema/SchemaCountOperatorTest.java | 10 +-
.../schedule/queue/L2PriorityQueueTest.java | 20 +-
.../iotdb/db/mpp/plan/analyze/AnalyzeTest.java | 2 +-
.../mpp/plan/analyze/QueryTimePartitionTest.java | 532 +++
.../iotdb/db/mpp/plan/plan/LogicalPlannerTest.java | 3 +
.../distribution/AggregationDistributionTest.java | 97 +-
.../java/org/apache/iotdb/db/qp/PlannerTest.java | 3 +
.../iotdb/db/qp/logical/LogicalPlanSmallTest.java | 3 +
.../iotdb/db/qp/other/TSPlanContextAuthorTest.java | 11 +-
.../org/apache/iotdb/db/qp/sql/ASTVisitorTest.java | 66 +-
.../iotdb/db/qp/sql/IoTDBsqlVisitorTest.java | 99 -
.../iotdb/db/query/dataset/ListDataSetTest.java | 3 +
.../org/apache/iotdb/db/tools/MLogParserTest.java | 41 +-
.../iotdb/db/tools/SchemaFileSketchTest.java | 14 +-
.../apache/iotdb/db/utils/EnvironmentUtils.java | 6 +-
.../iotdb/db/utils/TsFileRewriteToolTest.java | 6 +-
.../db/wal/allocation/ElasticStrategyTest.java | 17 +-
.../db/wal/allocation/FirstCreateStrategyTest.java | 17 +-
.../db/wal/allocation/RoundRobinStrategyTest.java | 17 +-
.../iotdb/db/wal/node/ConsensusReqReaderTest.java | 2 +-
.../datanode1conf/iotdb-datanode-metric.yml | 48 -
.../datanode1conf/iotdb-datanode.properties | 7 +
.../resources/datanode1conf/iotdb-rest.properties | 18 -
.../datanode2conf/iotdb-datanode-metric.yml | 48 -
.../datanode2conf/iotdb-datanode.properties | 7 +
.../resources/datanode2conf/iotdb-rest.properties | 18 -
.../datanode3conf/iotdb-datanode-metric.yml | 48 -
.../datanode3conf/iotdb-datanode.properties | 9 +-
.../resources/datanode3conf/iotdb-rest.properties | 18 -
...tdb-rest.properties => iotdb-common.properties} | 0
.../java/org/apache/iotdb/rpc/TSStatusCode.java | 6 +-
.../java/org/apache/iotdb/session/Session.java | 15 +-
...tdb-rest.properties => iotdb-common.properties} | 0
site/src/main/.vuepress/config.js | 216 +-
thrift-commons/src/main/thrift/common.thrift | 1 +
.../src/main/thrift/confignode.thrift | 16 +-
.../pom.xml | 2 +-
.../src/main/thrift/iotconsensus.thrift | 6 +-
thrift/src/main/thrift/client.thrift | 11 +-
thrift/src/main/thrift/datanode.thrift | 11 +-
.../apache/iotdb/tsfile/read/common/TimeRange.java | 2 +-
.../read/common/block/column/BinaryColumn.java | 9 -
.../read/common/block/column/BooleanColumn.java | 9 -
.../read/common/block/column/DoubleColumn.java | 9 -
.../read/common/block/column/FloatColumn.java | 9 -
.../tsfile/read/common/block/column/IntColumn.java | 9 -
.../read/common/block/column/LongColumn.java | 9 -
.../block/column/RunLengthEncodedColumn.java | 15 -
.../read/common/block/column/TimeColumn.java | 7 -
.../iotdb/tsfile/read/filter/GroupByFilter.java | 10 +
.../iotdb/tsfile/read/filter/TimeFilter.java | 84 +
.../iotdb/tsfile/read/filter/basic/Filter.java | 7 +
.../tsfile/read/filter/operator/AndFilter.java | 40 +
.../tsfile/read/filter/operator/NotFilter.java | 27 +
.../tsfile/read/filter/operator/OrFilter.java | 66 +
.../iotdb/udf/api/collector/PointCollector.java | 4 +-
737 files changed, 23049 insertions(+), 31855 deletions(-)
diff --cc server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/source/AlignedSeriesScanOperator.java
index e22d7b1f65,f4b67be984..0cd49756cd
--- a/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/source/AlignedSeriesScanOperator.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/source/AlignedSeriesScanOperator.java
@@@ -28,9 -33,8 +33,10 @@@ import org.apache.iotdb.tsfile.read.fil
import java.io.IOException;
import java.util.HashSet;
+ import java.util.concurrent.TimeUnit;
+import static org.apache.iotdb.db.mpp.statistics.QueryStatistics.ALIGNED_SERIES_SCAN_OPERATOR;
+
public class AlignedSeriesScanOperator implements DataSourceOperator {
private final OperatorContext operatorContext;
@@@ -72,53 -77,50 +79,58 @@@
@Override
public TsBlock next() {
- if (hasCachedTsBlock || hasNext()) {
- hasCachedTsBlock = false;
- TsBlock res = tsBlock;
- tsBlock = null;
- return res;
- TsBlock block = builder.build();
- builder.reset();
- return block;
++ long startTime = System.nanoTime();
++ try {
++ TsBlock block = builder.build();
++ builder.reset();
++ return block;
++ } finally {
++ operatorContext.addOperatorTime(ALIGNED_SERIES_SCAN_OPERATOR, System.nanoTime() - startTime);
+ }
- throw new IllegalStateException("no next batch");
}
@Override
public boolean hasNext() {
+ long startTime = System.nanoTime();
try {
- if (hasCachedTsBlock) {
- return true;
- }
- /*
- * consume page data firstly
- */
- if (readPageData()) {
- hasCachedTsBlock = true;
- return true;
- }
-
- /*
- * consume chunk data secondly
- */
- if (readChunkData()) {
- hasCachedTsBlock = true;
- return true;
- }
+ // start stopwatch
+ long maxRuntime = operatorContext.getMaxRunTime().roundTo(TimeUnit.NANOSECONDS);
+ long start = System.nanoTime();
+
+ // here use do-while to promise doing this at least once
+ do {
+ /*
+ * consume page data firstly
+ */
+ if (readPageData()) {
+ continue;
+ }
- /*
- * consume next file finally
- */
- while (seriesScanUtil.hasNextFile()) {
+ /*
+ * consume chunk data secondly
+ */
if (readChunkData()) {
- hasCachedTsBlock = true;
- return true;
+ continue;
}
- }
- return hasCachedTsBlock;
+
+ /*
+ * consume next file finally
+ */
+ if (readFileData()) {
+ continue;
+ }
+ break;
+
+ } while (System.nanoTime() - start < maxRuntime && !builder.isFull());
+
+ finished = builder.isEmpty();
+
+ return !finished;
} catch (IOException e) {
throw new RuntimeException("Error happened while scanning the file", e);
+ } finally {
+ operatorContext.addOperatorTime(ALIGNED_SERIES_SCAN_OPERATOR, System.nanoTime() - startTime);
}
}
diff --cc server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/source/SeriesScanOperator.java
index a993230378,308fcfcb13..f937c2a818
--- a/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/source/SeriesScanOperator.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/source/SeriesScanOperator.java
@@@ -29,9 -34,8 +34,10 @@@ import org.apache.iotdb.tsfile.read.fil
import java.io.IOException;
import java.util.Set;
+ import java.util.concurrent.TimeUnit;
+import static org.apache.iotdb.db.mpp.statistics.QueryStatistics.SERIES_SCAN_OPERATOR;
+
public class SeriesScanOperator implements DataSourceOperator {
private final OperatorContext operatorContext;
@@@ -73,53 -78,50 +80,58 @@@
@Override
public TsBlock next() {
- if (hasCachedTsBlock || hasNext()) {
- hasCachedTsBlock = false;
- TsBlock res = tsBlock;
- tsBlock = null;
- return res;
- TsBlock block = builder.build();
- builder.reset();
- return block;
++ long startTime = System.nanoTime();
++ try {
++ TsBlock block = builder.build();
++ builder.reset();
++ return block;
++ } finally {
++ operatorContext.addOperatorTime(SERIES_SCAN_OPERATOR, System.nanoTime() - startTime);
+ }
- throw new IllegalStateException("no next batch");
}
@Override
public boolean hasNext() {
+ long startTime = System.nanoTime();
try {
- if (hasCachedTsBlock) {
- return true;
- }
- /*
- * consume page data firstly
- */
- if (readPageData()) {
- hasCachedTsBlock = true;
- return true;
- }
-
- /*
- * consume chunk data secondly
- */
- if (readChunkData()) {
- hasCachedTsBlock = true;
- return true;
- }
+ // start stopwatch
+ long maxRuntime = operatorContext.getMaxRunTime().roundTo(TimeUnit.NANOSECONDS);
+ long start = System.nanoTime();
+
+ // here use do-while to promise doing this at least once
+ do {
+ /*
+ * consume page data firstly
+ */
+ if (readPageData()) {
+ continue;
+ }
- /*
- * consume next file finally
- */
- while (seriesScanUtil.hasNextFile()) {
+ /*
+ * consume chunk data secondly
+ */
if (readChunkData()) {
- hasCachedTsBlock = true;
- return true;
+ continue;
}
- }
- return hasCachedTsBlock;
+
+ /*
+ * consume next file finally
+ */
+ if (readFileData()) {
+ continue;
+ }
+ break;
+
+ } while (System.nanoTime() - start < maxRuntime && !builder.isFull());
+
+ finished = builder.isEmpty();
+
+ return !finished;
} catch (IOException e) {
throw new RuntimeException("Error happened while scanning the file", e);
+ } finally {
+ operatorContext.addOperatorTime(SERIES_SCAN_OPERATOR, System.nanoTime() - startTime);
}
}
diff --cc server/src/main/java/org/apache/iotdb/db/mpp/plan/analyze/AnalyzeVisitor.java
index 19c21ce307,0a8966c95c..fdcba680c6
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/analyze/AnalyzeVisitor.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/analyze/AnalyzeVisitor.java
@@@ -1117,14 -1131,53 +1141,58 @@@ public class AnalyzeVisitor extends Sta
.computeIfAbsent(schemaTree.getBelongedDatabase(devicePath), key -> new ArrayList<>())
.add(queryParam);
}
- return partitionFetcher.getDataPartition(sgNameToQueryParamsMap);
+
+ long startTime = System.nanoTime();
+ DataPartition dataPartition = partitionFetcher.getDataPartition(sgNameToQueryParamsMap);
+ QueryStatistics.getInstance()
+ .addCost(QueryStatistics.PARTITION_FETCHER, System.nanoTime() - startTime);
+ return dataPartition;
}
+ public static List<TTimePartitionSlot> getTimePartitionSlotList(Filter timeFilter) {
+ if (timeFilter == null) {
+ return Collections.emptyList();
+ }
+ List<TimeRange> timeRangeList = timeFilter.getTimeRanges();
+ if (timeRangeList.isEmpty()) {
+ return Collections.emptyList();
+ }
+ if (timeRangeList.get(0).getMin() == Long.MIN_VALUE
+ || timeRangeList.get(timeRangeList.size() - 1).getMax() == Long.MAX_VALUE) {
+ return Collections.emptyList();
+ }
+
+ List<TTimePartitionSlot> result = new ArrayList<>();
+ long startTime =
+ (timeRangeList.get(0).getMin() / TimePartitionUtils.timePartitionInterval)
+ * TimePartitionUtils.timePartitionInterval; // included
+ long endTime = startTime + TimePartitionUtils.timePartitionInterval; // excluded
+ TTimePartitionSlot timePartitionSlot =
+ TimePartitionUtils.getTimePartition(timeRangeList.get(0).getMin());
+ int index = 0, size = timeRangeList.size();
+ while (index < size) {
+ long curLeft = timeRangeList.get(index).getMin();
+ long curRight = timeRangeList.get(index).getMax();
+ if (curLeft >= endTime) {
+ result.add(timePartitionSlot);
+ // next init
+ endTime =
+ (curLeft / TimePartitionUtils.timePartitionInterval + 1)
+ * TimePartitionUtils.timePartitionInterval;
+ timePartitionSlot = TimePartitionUtils.getTimePartition(curLeft);
+ } else if (curRight >= endTime) {
+ result.add(timePartitionSlot);
+ // next init
+ timePartitionSlot = new TTimePartitionSlot(endTime);
+ endTime = endTime + TimePartitionUtils.timePartitionInterval;
+ } else {
+ index++;
+ }
+ }
+ result.add(timePartitionSlot);
+ return result;
+ }
+
private void analyzeInto(
Analysis analysis,
QueryStatement queryStatement,