You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by hx...@apache.org on 2021/02/22 13:34:01 UTC
[iotdb] 01/01: merge with master
This is an automated email from the ASF dual-hosted git repository.
hxd pushed a commit to branch change_rpc_port
in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit 8d641cd04ac444bcccb694e73b1eaeae41d71471
Merge: 3497395 67b08f9
Author: xiangdong huang <sa...@gmail.com>
AuthorDate: Mon Feb 22 21:33:22 2021 +0800
merge with master
.git-blame-ignore-revs | 4 +
.github/workflows/client.yml | 2 +
.github/workflows/e2e.yml | 4 +-
.github/workflows/main-linux.yml | 7 +-
.github/workflows/main-mac.yml | 2 +
.github/workflows/main-win.yml | 2 +
README.md | 2 +-
README_ZH.md | 2 +-
.../java/org/apache/iotdb/cli/AbstractCli.java | 235 +--
cli/src/main/java/org/apache/iotdb/cli/Cli.java | 42 +-
cli/src/main/java/org/apache/iotdb/cli/WinCli.java | 49 +-
.../org/apache/iotdb/cli/utils/IoTPrinter.java | 15 +-
.../apache/iotdb/exception/ArgsErrorException.java | 1 -
.../org/apache/iotdb/tool/AbstractCsvTool.java | 108 +-
.../main/java/org/apache/iotdb/tool/ExportCsv.java | 123 +-
.../main/java/org/apache/iotdb/tool/ImportCsv.java | 163 +-
.../java/org/apache/iotdb/cli/AbstractCliIT.java | 182 ++-
.../java/org/apache/iotdb/cli/AbstractScript.java | 18 +-
.../org/apache/iotdb/cli/StartClientScriptIT.java | 71 +-
.../org/apache/iotdb/tool/CsvLineSplitTest.java | 7 +-
.../org/apache/iotdb/tool/ExportCsvTestIT.java | 75 +-
.../org/apache/iotdb/tool/ImportCsvTestIT.java | 72 +-
.../java/org/apache/iotdb/cluster/ClientMain.java | 206 +--
.../iotdb/cluster/ClusterFileFlushPolicy.java | 47 +-
.../java/org/apache/iotdb/cluster/ClusterMain.java | 163 +-
.../apache/iotdb/cluster/RemoteTsFileResource.java | 21 +-
.../iotdb/cluster/client/DataClientProvider.java | 16 +-
.../cluster/client/async/AsyncClientFactory.java | 11 +-
.../cluster/client/async/AsyncClientPool.java | 51 +-
.../cluster/client/async/AsyncDataClient.java | 36 +-
.../client/async/AsyncDataHeartbeatClient.java | 34 +-
.../cluster/client/async/AsyncMetaClient.java | 36 +-
.../client/async/AsyncMetaHeartbeatClient.java | 35 +-
.../cluster/client/sync/SyncClientAdaptor.java | 148 +-
.../cluster/client/sync/SyncClientFactory.java | 5 +-
.../iotdb/cluster/client/sync/SyncClientPool.java | 38 +-
.../iotdb/cluster/client/sync/SyncDataClient.java | 18 +-
.../client/sync/SyncDataHeartbeatClient.java | 24 +-
.../iotdb/cluster/client/sync/SyncMetaClient.java | 8 +-
.../client/sync/SyncMetaHeartbeatClient.java | 24 +-
.../apache/iotdb/cluster/config/ClusterConfig.java | 60 +-
.../iotdb/cluster/config/ClusterConstant.java | 1 +
.../iotdb/cluster/config/ClusterDescriptor.java | 234 +--
.../iotdb/cluster/config/ConsistencyLevel.java | 12 +-
.../iotdb/cluster/coordinator/Coordinator.java | 225 +--
.../iotdb/cluster/exception/AddSelfException.java | 4 +-
.../exception/BadSeedUrlFormatException.java | 7 +-
.../exception/CheckConsistencyException.java | 3 +-
.../exception/ConfigInconsistentException.java | 5 +-
.../cluster/exception/EntryCompactedException.java | 11 +-
.../exception/EntryUnavailableException.java | 8 +-
.../cluster/exception/LeaderUnknownException.java | 7 +-
.../cluster/exception/MemberReadOnlyException.java | 9 +-
.../cluster/exception/NoHeaderNodeException.java | 4 +-
.../cluster/exception/NotInSameGroupException.java | 10 +-
.../cluster/exception/NotManagedSlotException.java | 4 +-
.../PartitionTableUnavailableException.java | 4 +-
.../iotdb/cluster/exception/PullFileException.java | 5 +-
.../cluster/exception/RequestTimeOutException.java | 4 +-
.../exception/SnapshotInstallationException.java | 5 +-
.../exception/TruncateCommittedEntryException.java | 7 +-
.../cluster/exception/UnknownLogTypeException.java | 4 +-
.../iotdb/cluster/log/CommitLogCallback.java | 1 +
.../apache/iotdb/cluster/log/CommitLogTask.java | 11 +-
.../org/apache/iotdb/cluster/log/HardState.java | 27 +-
.../java/org/apache/iotdb/cluster/log/Log.java | 13 +-
.../org/apache/iotdb/cluster/log/LogApplier.java | 9 +-
.../apache/iotdb/cluster/log/LogDispatcher.java | 137 +-
.../org/apache/iotdb/cluster/log/LogParser.java | 8 +-
.../org/apache/iotdb/cluster/log/Snapshot.java | 15 +-
.../iotdb/cluster/log/StableEntryManager.java | 2 +-
.../cluster/log/applier/AsyncDataLogApplier.java | 55 +-
.../iotdb/cluster/log/applier/BaseApplier.java | 18 +-
.../iotdb/cluster/log/applier/DataLogApplier.java | 15 +-
.../iotdb/cluster/log/applier/MetaLogApplier.java | 5 +-
.../iotdb/cluster/log/catchup/CatchUpTask.java | 103 +-
.../iotdb/cluster/log/catchup/LogCatchUpTask.java | 25 +-
.../cluster/log/catchup/SnapshotCatchUpTask.java | 33 +-
.../iotdb/cluster/log/logtypes/AddNodeLog.java | 11 +-
.../iotdb/cluster/log/logtypes/CloseFileLog.java | 29 +-
.../cluster/log/logtypes/EmptyContentLog.java | 8 +-
.../iotdb/cluster/log/logtypes/LargeTestLog.java | 4 +-
.../cluster/log/logtypes/PhysicalPlanLog.java | 31 +-
.../iotdb/cluster/log/logtypes/RemoveNodeLog.java | 92 +-
.../cluster/log/manage/CommittedEntryManager.java | 48 +-
.../manage/FilePartitionedSnapshotLogManager.java | 83 +-
.../log/manage/MetaSingleSnapshotLogManager.java | 15 +-
.../log/manage/PartitionedSnapshotLogManager.java | 34 +-
.../iotdb/cluster/log/manage/RaftLogManager.java | 313 ++--
.../log/manage/UnCommittedEntryManager.java | 59 +-
.../log/manage/serializable/LogManagerMeta.java | 21 +-
.../serializable/SyncLogDequeSerializer.java | 490 +++---
.../iotdb/cluster/log/snapshot/FileSnapshot.java | 174 ++-
.../cluster/log/snapshot/MetaSimpleSnapshot.java | 54 +-
.../cluster/log/snapshot/PartitionedSnapshot.java | 50 +-
.../cluster/log/snapshot/PullSnapshotTask.java | 89 +-
.../log/snapshot/PullSnapshotTaskDescriptor.java | 24 +-
.../cluster/log/snapshot/SnapshotInstaller.java | 4 +-
.../log/snapshot/TimeseriesSchemaSnapshot.java | 3 +-
.../apache/iotdb/cluster/metadata/CMManager.java | 711 +++++----
.../apache/iotdb/cluster/metadata/MetaPuller.java | 144 +-
.../cluster/partition/NodeAdditionResult.java | 4 +-
.../iotdb/cluster/partition/NodeRemovalResult.java | 4 +-
.../iotdb/cluster/partition/PartitionGroup.java | 11 +-
.../iotdb/cluster/partition/PartitionTable.java | 28 +-
.../iotdb/cluster/partition/slot/SlotManager.java | 53 +-
.../partition/slot/SlotNodeAdditionResult.java | 12 +-
.../partition/slot/SlotNodeRemovalResult.java | 9 +-
.../cluster/partition/slot/SlotPartitionTable.java | 58 +-
.../iotdb/cluster/partition/slot/SlotStrategy.java | 13 +-
.../cluster/query/ClusterConcatPathOptimizer.java | 3 +-
.../cluster/query/ClusterDataQueryExecutor.java | 36 +-
.../cluster/query/ClusterPhysicalGenerator.java | 22 +-
.../iotdb/cluster/query/ClusterPlanExecutor.java | 270 ++--
.../iotdb/cluster/query/ClusterPlanRouter.java | 122 +-
.../apache/iotdb/cluster/query/ClusterPlanner.java | 17 +-
.../iotdb/cluster/query/ClusterQueryRouter.java | 20 +-
.../iotdb/cluster/query/LocalQueryExecutor.java | 315 ++--
.../iotdb/cluster/query/RemoteQueryContext.java | 17 +-
.../query/aggregate/ClusterAggregateExecutor.java | 38 +-
.../cluster/query/aggregate/ClusterAggregator.java | 161 +-
.../query/dataset/ClusterAlignByDeviceDataSet.java | 21 +-
.../cluster/query/fill/ClusterFillExecutor.java | 19 +-
.../cluster/query/fill/ClusterLinearFill.java | 32 +-
.../cluster/query/fill/ClusterPreviousFill.java | 144 +-
.../cluster/query/fill/PreviousFillArguments.java | 15 +-
.../iotdb/cluster/query/filter/SlotSgFilter.java | 8 +-
.../cluster/query/filter/SlotTsFileFilter.java | 21 +-
.../groupby/ClusterGroupByNoVFilterDataSet.java | 30 +-
.../groupby/ClusterGroupByVFilterDataSet.java | 32 +-
.../query/groupby/MergeGroupByExecutor.java | 42 +-
.../query/groupby/RemoteGroupByExecutor.java | 89 +-
.../query/last/ClusterLastQueryExecutor.java | 123 +-
.../cluster/query/manage/ClusterQueryManager.java | 29 +-
.../cluster/query/manage/QueryCoordinator.java | 8 +-
.../cluster/query/reader/ClusterReaderFactory.java | 432 ++++--
.../cluster/query/reader/ClusterTimeGenerator.java | 35 +-
.../iotdb/cluster/query/reader/DataSourceInfo.java | 55 +-
.../iotdb/cluster/query/reader/EmptyReader.java | 19 +-
.../cluster/query/reader/ManagedMergeReader.java | 5 +-
.../cluster/query/reader/MergedReaderByTime.java | 6 +-
.../reader/RemoteSeriesReaderByTimestamp.java | 35 +-
.../query/reader/RemoteSimpleSeriesReader.java | 48 +-
.../apache/iotdb/cluster/server/ClientServer.java | 111 +-
.../iotdb/cluster/server/DataClusterServer.java | 272 ++--
.../iotdb/cluster/server/HardLinkCleaner.java | 13 +-
.../iotdb/cluster/server/MetaClusterServer.java | 66 +-
.../cluster/server/PullSnapshotHintService.java | 20 +-
.../apache/iotdb/cluster/server/RaftServer.java | 68 +-
.../org/apache/iotdb/cluster/server/Response.java | 1 -
.../iotdb/cluster/server/StoppedMemberManager.java | 43 +-
.../handlers/caller/AppendGroupEntryHandler.java | 30 +-
.../handlers/caller/AppendNodeEntryHandler.java | 60 +-
.../server/handlers/caller/ElectionHandler.java | 47 +-
.../server/handlers/caller/GenericHandler.java | 13 +-
.../caller/GetChildNodeNextLevelPathHandler.java | 11 +-
.../handlers/caller/GetNodesListHandler.java | 9 +-
.../caller/GetTimeseriesSchemaHandler.java | 6 +-
.../server/handlers/caller/HeartbeatHandler.java | 56 +-
.../server/handlers/caller/JoinClusterHandler.java | 4 +-
.../server/handlers/caller/LogCatchUpHandler.java | 10 +-
.../handlers/caller/LogCatchUpInBatchHandler.java | 39 +-
.../server/handlers/caller/NodeStatusHandler.java | 9 +-
.../handlers/caller/PreviousFillHandler.java | 11 +-
.../caller/PullMeasurementSchemaHandler.java | 14 +-
.../handlers/caller/PullSnapshotHandler.java | 29 +-
.../caller/PullTimeseriesSchemaHandler.java | 14 +-
.../handlers/caller/SnapshotCatchUpHandler.java | 11 +-
.../server/handlers/caller/package-info.java | 5 +-
.../handlers/forwarder/ForwardPlanHandler.java | 6 +-
.../server/heartbeat/DataHeartbeatServer.java | 25 +-
.../server/heartbeat/DataHeartbeatThread.java | 14 +-
.../cluster/server/heartbeat/HeartbeatServer.java | 74 +-
.../cluster/server/heartbeat/HeartbeatThread.java | 135 +-
.../server/heartbeat/MetaHeartbeatServer.java | 31 +-
.../server/heartbeat/MetaHeartbeatThread.java | 1 +
.../cluster/server/member/DataGroupMember.java | 248 ++--
.../cluster/server/member/MetaGroupMember.java | 365 +++--
.../server/member/MetaGroupMemberMBean.java | 4 +-
.../iotdb/cluster/server/member/RaftMember.java | 519 ++++---
.../cluster/server/member/RaftMemberMBean.java | 11 +-
.../iotdb/cluster/server/member/package-info.java | 6 +-
.../iotdb/cluster/server/monitor/NodeReport.java | 207 ++-
.../iotdb/cluster/server/monitor/NodeStatus.java | 18 +-
.../cluster/server/monitor/NodeStatusManager.java | 19 +-
.../apache/iotdb/cluster/server/monitor/Timer.java | 209 ++-
.../cluster/server/service/BaseAsyncService.java | 35 +-
.../cluster/server/service/BaseSyncService.java | 19 +-
.../cluster/server/service/DataAsyncService.java | 150 +-
.../cluster/server/service/DataSyncService.java | 39 +-
.../cluster/server/service/MetaAsyncService.java | 23 +-
.../cluster/server/service/MetaSyncService.java | 5 +-
.../iotdb/cluster/server/service/package-info.java | 2 +-
.../apache/iotdb/cluster/utils/ClientUtils.java | 2 +-
.../iotdb/cluster/utils/ClusterConsistent.java | 8 +-
.../apache/iotdb/cluster/utils/ClusterNode.java | 31 +-
.../iotdb/cluster/utils/ClusterQueryUtils.java | 18 +-
.../apache/iotdb/cluster/utils/ClusterUtils.java | 153 +-
.../org/apache/iotdb/cluster/utils/IOUtils.java | 5 +-
.../apache/iotdb/cluster/utils/PartitionUtils.java | 69 +-
.../apache/iotdb/cluster/utils/PlanSerializer.java | 10 +-
.../apache/iotdb/cluster/utils/StatusUtils.java | 14 +-
.../cluster/utils/nodetool/ClusterMonitor.java | 33 +-
.../utils/nodetool/ClusterMonitorMBean.java | 22 +-
.../iotdb/cluster/utils/nodetool/NodeTool.java | 20 +-
.../iotdb/cluster/utils/nodetool/Printer.java | 10 +-
.../cluster/utils/nodetool/function/Host.java | 21 +-
.../cluster/utils/nodetool/function/LogView.java | 26 +-
.../utils/nodetool/function/NodeToolCmd.java | 63 +-
.../cluster/utils/nodetool/function/Partition.java | 53 +-
.../cluster/utils/nodetool/function/Ring.java | 15 +-
.../cluster/utils/nodetool/function/Status.java | 22 +-
.../cluster/client/DataClientProviderTest.java | 35 +-
.../cluster/client/async/AsyncClientPoolTest.java | 88 +-
.../cluster/client/async/AsyncDataClientTest.java | 49 +-
.../client/async/AsyncDataHeartbeatClientTest.java | 9 +-
.../cluster/client/async/AsyncMetaClientTest.java | 49 +-
.../client/async/AsyncMetaHeartbeatClientTest.java | 10 +-
.../cluster/client/sync/SyncClientAdaptorTest.java | 564 +++----
.../cluster/client/sync/SyncClientPoolTest.java | 63 +-
.../cluster/client/sync/SyncDataClientTest.java | 56 +-
.../client/sync/SyncDataHeartbeatClientTest.java | 29 +-
.../cluster/client/sync/SyncMetaClientTest.java | 38 +-
.../client/sync/SyncMetaHeartbeatClientTest.java | 29 +-
.../org/apache/iotdb/cluster/common/IoTDBTest.java | 47 +-
.../iotdb/cluster/common/TestAsyncClient.java | 9 +-
.../cluster/common/TestAsyncClientFactory.java | 13 +-
.../iotdb/cluster/common/TestAsyncDataClient.java | 208 ++-
.../iotdb/cluster/common/TestAsyncMetaClient.java | 11 +-
.../iotdb/cluster/common/TestDataGroupMember.java | 5 +-
.../org/apache/iotdb/cluster/common/TestLog.java | 6 +-
.../iotdb/cluster/common/TestLogApplier.java | 7 +-
.../iotdb/cluster/common/TestLogManager.java | 9 +-
.../cluster/common/TestManagedSeriesReader.java | 4 +-
.../iotdb/cluster/common/TestMetaGroupMember.java | 7 +-
.../cluster/common/TestPartitionedLogManager.java | 33 +-
.../apache/iotdb/cluster/common/TestSnapshot.java | 12 +-
.../iotdb/cluster/common/TestSyncClient.java | 2 +-
.../cluster/common/TestSyncClientFactory.java | 62 +-
.../org/apache/iotdb/cluster/common/TestUtils.java | 98 +-
.../cluster/integration/BaseSingleNodeTest.java | 15 +-
.../iotdb/cluster/integration/SingleNodeTest.java | 34 +-
.../iotdb/cluster/log/CommitLogCallbackTest.java | 20 +-
.../iotdb/cluster/log/CommitLogTaskTest.java | 33 +-
.../apache/iotdb/cluster/log/HardStateTest.java | 16 +-
.../iotdb/cluster/log/LogDispatcherTest.java | 120 +-
.../apache/iotdb/cluster/log/LogParserTest.java | 10 +-
.../log/applier/AsyncDataLogApplierTest.java | 140 +-
.../cluster/log/applier/DataLogApplierTest.java | 229 +--
.../cluster/log/applier/MetaLogApplierTest.java | 66 +-
.../iotdb/cluster/log/catchup/CatchUpTaskTest.java | 141 +-
.../cluster/log/catchup/LogCatchUpTaskTest.java | 158 +-
.../log/catchup/SnapshotCatchUpTaskTest.java | 150 +-
.../cluster/log/logtypes/SerializeLogTest.java | 56 +-
.../log/manage/CommittedEntryManagerTest.java | 942 +++++++-----
.../FilePartitionedSnapshotLogManagerTest.java | 33 +-
.../manage/MetaSingleSnapshotLogManagerTest.java | 21 +-
.../cluster/log/manage/RaftLogManagerTest.java | 1385 +++++++++++------
.../log/manage/UnCommittedEntryManagerTest.java | 695 ++++++---
.../serializable/SyncLogDequeSerializerTest.java | 155 +-
.../cluster/log/snapshot/DataSnapshotTest.java | 173 +--
.../cluster/log/snapshot/FileSnapshotTest.java | 106 +-
.../log/snapshot/MetaSimpleSnapshotTest.java | 42 +-
.../log/snapshot/PartitionedSnapshotTest.java | 47 +-
.../snapshot/PullSnapshotTaskDescriptorTest.java | 12 +-
.../cluster/log/snapshot/PullSnapshotTaskTest.java | 249 ++--
.../iotdb/cluster/log/snapshot/SimpleSnapshot.java | 20 +-
.../iotdb/cluster/partition/MManagerWhiteBox.java | 19 +-
.../iotdb/cluster/partition/SlotManagerTest.java | 74 +-
.../cluster/partition/SlotPartitionTableTest.java | 291 ++--
.../apache/iotdb/cluster/query/BaseQueryTest.java | 41 +-
.../query/ClusterAggregateExecutorTest.java | 93 +-
.../query/ClusterDataQueryExecutorTest.java | 20 +-
.../cluster/query/ClusterFillExecutorTest.java | 79 +-
.../query/ClusterPhysicalGeneratorTest.java | 18 +-
.../cluster/query/ClusterPlanExecutorTest.java | 19 +-
.../iotdb/cluster/query/ClusterPlannerTest.java | 12 +-
.../cluster/query/ClusterQueryRouterTest.java | 147 +-
.../iotdb/cluster/query/LoadConfigurationTest.java | 248 ++--
.../ClusterGroupByNoVFilterDataSetTest.java | 29 +-
.../groupby/ClusterGroupByVFilterDataSetTest.java | 39 +-
.../query/groupby/MergeGroupByExecutorTest.java | 40 +-
.../query/groupby/RemoteGroupByExecutorTest.java | 55 +-
.../query/manage/ClusterQueryManagerTest.java | 226 ++-
.../cluster/query/manage/QueryCoordinatorTest.java | 75 +-
.../query/reader/ClusterTimeGeneratorTest.java | 27 +-
.../cluster/query/reader/DatasourceInfoTest.java | 34 +-
.../reader/RemoteSeriesReaderByTimestampTest.java | 146 +-
.../query/reader/RemoteSimpleSeriesReaderTest.java | 108 +-
.../caller/AppendGroupEntryHandlerTest.java | 67 +-
.../caller/AppendNodeEntryHandlerTest.java | 24 +-
.../handlers/caller/ElectionHandlerTest.java | 86 +-
.../server/handlers/caller/GenericHandlerTest.java | 13 +-
.../handlers/caller/HeartbeatHandlerTest.java | 40 +-
.../handlers/caller/JoinClusterHandlerTest.java | 13 +-
.../handlers/caller/LogCatchUpHandlerTest.java | 18 +-
.../caller/PullMeasurementSchemaHandlerTest.java | 61 +-
.../handlers/caller/PullSnapshotHandlerTest.java | 41 +-
.../caller/SnapshotCatchUpHandlerTest.java | 13 +-
.../handlers/forwarder/ForwardPlanHandlerTest.java | 12 +-
.../server/heartbeat/DataHeartbeatThreadTest.java | 90 +-
.../server/heartbeat/HeartbeatThreadTest.java | 105 +-
.../server/heartbeat/MetaHeartbeatThreadTest.java | 204 +--
.../cluster/server/member/DataGroupMemberTest.java | 513 ++++---
.../iotdb/cluster/server/member/MemberTest.java | 297 ++--
.../cluster/server/member/MetaGroupMemberTest.java | 758 +++++-----
.../iotdb/cluster/utils/SerializeUtilTest.java | 34 +-
code-coverage/pom.xml | 1 +
compile-tools/thrift/pom.xml | 2 +
cross-tests/pom.xml | 28 +
.../tests/tools/importCsv/AbstractScript.java | 33 +-
.../tests/tools/importCsv/ExportCsvTestIT.java | 110 +-
.../tests/tools/importCsv/ImportCsvTestIT.java | 143 +-
docs/Development/ContributeGuide.md | 15 +
docs/UserGuide/Client/Programming - JDBC.md | 2 +-
docs/UserGuide/Client/Programming - Native API.md | 2 +-
docs/UserGuide/Comparison/TSDB-Comparison.md | 107 +-
.../Operation Manual/UDF User Defined Function.md | 6 +-
docs/UserGuide/Server/Download.md | 2 +-
docs/zh/Development/ContributeGuide.md | 13 +
docs/zh/SystemDesign/DataQuery/AggregationQuery.md | 2 +-
docs/zh/UserGuide/Client/Programming - JDBC.md | 2 +-
.../UserGuide/Client/Programming - Native API.md | 2 +-
.../Operation Manual/UDF User Defined Function.md | 6 +-
docs/zh/UserGuide/Server/Config Manual.md | 30 +-
docs/zh/UserGuide/Server/Download.md | 2 +-
.../org/apache/iotdb/flink/FlinkIoTDBSink.java | 104 +-
.../apache/iotdb/flink/FlinkTsFileBatchSink.java | 153 +-
.../apache/iotdb/flink/FlinkTsFileBatchSource.java | 88 +-
.../apache/iotdb/flink/FlinkTsFileStreamSink.java | 155 +-
.../iotdb/flink/FlinkTsFileStreamSource.java | 90 +-
.../java/org/apache/iotdb/flink/TsFileUtils.java | 30 +-
.../org/apache/iotdb/hadoop/tsfile/Constant.java | 5 +-
.../iotdb/hadoop/tsfile/TSFMRReadExample.java | 30 +-
.../iotdb/hadoop/tsfile/TSMRWriteExample.java | 67 +-
.../apache/iotdb/hadoop/tsfile/TsFileHelper.java | 33 +-
.../iotdb/hadoop/tsfile/TsFileWriteToHDFS.java | 13 +-
.../main/java/org/apache/iotdb/JDBCExample.java | 28 +-
.../org/apache/iotdb/PrepareStatementDemo.java | 17 +-
.../main/java/org/apache/iotdb/kafka/Constant.java | 57 +-
.../java/org/apache/iotdb/kafka/KafkaConsumer.java | 38 +-
.../apache/iotdb/kafka/KafkaConsumerThread.java | 37 +-
.../java/org/apache/iotdb/kafka/KafkaProducer.java | 9 +-
.../java/org/apache/iotdb/mqtt/MQTTClient.java | 41 +-
.../java/org/apache/iotdb/pulsar/Constant.java | 4 +-
.../org/apache/iotdb/pulsar/PulsarConsumer.java | 57 +-
.../apache/iotdb/pulsar/PulsarConsumerThread.java | 26 +-
.../org/apache/iotdb/pulsar/PulsarProducer.java | 72 +-
.../java/org/apache/iotdb/rocketmq/Constant.java | 55 +-
.../apache/iotdb/rocketmq/RocketMQConsumer.java | 77 +-
.../apache/iotdb/rocketmq/RocketMQProducer.java | 42 +-
.../main/java/org/apache/iotdb/rocketmq/Utils.java | 3 +-
.../org/apache/iotdb/DataMigrationExample.java | 45 +-
.../main/java/org/apache/iotdb/SessionExample.java | 88 +-
.../java/org/apache/iotdb/SessionPoolExample.java | 86 +-
.../java/org/apache/iotdb/tsfile/Constant.java | 5 +-
.../iotdb/tsfile/TsFileForceAppendWrite.java | 27 +-
.../java/org/apache/iotdb/tsfile/TsFileRead.java | 29 +-
.../apache/iotdb/tsfile/TsFileSequenceRead.java | 56 +-
.../iotdb/tsfile/TsFileWriteWithTSRecord.java | 20 +-
.../apache/iotdb/tsfile/TsFileWriteWithTablet.java | 20 +-
example/udf/pom.xml | 26 +
.../java/org/apache/iotdb/udf/UDTFExample.java | 113 +-
.../iotdb/flink/DefaultIoTSerializationSchema.java | 3 +-
.../main/java/org/apache/iotdb/flink/Event.java | 13 +-
.../java/org/apache/iotdb/flink/IoTDBOptions.java | 210 +--
.../java/org/apache/iotdb/flink/IoTDBSink.java | 72 +-
.../apache/iotdb/flink/IoTSerializationSchema.java | 7 +-
.../flink/DefaultIoTSerializationSchemaTest.java | 48 +-
.../iotdb/flink/IoTDBSinkBatchInsertTest.java | 26 +-
.../iotdb/flink/IoTDBSinkBatchTimerTest.java | 21 +-
.../apache/iotdb/flink/IoTDBSinkInsertTest.java | 19 +-
.../apache/iotdb/flink/tsfile/RowRecordParser.java | 29 +-
.../iotdb/flink/tsfile/RowRowRecordParser.java | 168 +--
.../iotdb/flink/tsfile/RowTSRecordConverter.java | 234 +--
.../iotdb/flink/tsfile/TSRecordConverter.java | 55 +-
.../iotdb/flink/tsfile/TSRecordOutputFormat.java | 128 +-
.../iotdb/flink/tsfile/TsFileInputFormat.java | 250 ++--
.../iotdb/flink/tsfile/TsFileOutputFormat.java | 181 +--
.../iotdb/flink/tsfile/util/TSFileConfigUtil.java | 76 +-
.../tsfile/RowTSRecordOutputFormatITCase.java | 46 +-
.../flink/tsfile/RowTSRecordOutputFormatTest.java | 74 +-
.../flink/tsfile/RowTsFileConnectorTestBase.java | 86 +-
.../flink/tsfile/RowTsFileInputFormatITCase.java | 129 +-
.../flink/tsfile/RowTsFileInputFormatTest.java | 94 +-
.../flink/tsfile/RowTsFileInputFormatTestBase.java | 43 +-
.../tsfile/RowTsFileOutputFormatTestBase.java | 139 +-
.../util/TSFileConfigUtilCompletenessTest.java | 90 +-
.../apache/iotdb/flink/util/TsFileWriteUtil.java | 25 +-
grafana/pom.xml | 1 +
.../web/grafana/TsfileWebDemoApplication.java | 2 +-
.../apache/iotdb/web/grafana/bean/TimeValues.java | 4 +-
.../iotdb/web/grafana/conf/MyConfiguration.java | 10 +-
.../controller/DatabaseConnectController.java | 45 +-
.../org/apache/iotdb/web/grafana/dao/BasicDao.java | 10 +-
.../iotdb/web/grafana/dao/impl/BasicDaoImpl.java | 97 +-
.../grafana/service/DatabaseConnectService.java | 6 +-
.../service/impl/DatabaseConnectServiceImpl.java | 10 +-
.../web/grafana/dao/impl/BasicDaoImplTest.java | 41 +-
.../iotdb/hadoop/fileSystem/HDFSConfUtil.java | 41 +-
.../apache/iotdb/hadoop/fileSystem/HDFSFile.java | 32 +-
.../apache/iotdb/hadoop/fileSystem/HDFSInput.java | 14 +-
.../apache/iotdb/hadoop/fileSystem/HDFSOutput.java | 12 +-
.../org/apache/iotdb/hadoop/tsfile/IReaderSet.java | 4 +-
.../iotdb/hadoop/tsfile/TSFHadoopException.java | 6 +-
.../apache/iotdb/hadoop/tsfile/TSFInputFormat.java | 78 +-
.../apache/iotdb/hadoop/tsfile/TSFInputSplit.java | 6 +-
.../iotdb/hadoop/tsfile/TSFOutputFormat.java | 9 +-
.../iotdb/hadoop/tsfile/TSFRecordReader.java | 112 +-
.../iotdb/hadoop/tsfile/TSFRecordWriter.java | 13 +-
.../iotdb/hadoop/tsfile/record/HDFSTSRecord.java | 21 +-
.../apache/iotdb/hadoop/tsfile/TSFHadoopTest.java | 23 +-
.../iotdb/hadoop/tsfile/TSFInputSplitTest.java | 6 +-
.../iotdb/hadoop/tsfile/TsFileTestHelper.java | 16 +-
.../iotdb/hadoop/tsfile/constant/TestConstant.java | 5 +-
.../org/apache/iotdb/hive/TSFHiveInputFormat.java | 10 +-
.../org/apache/iotdb/hive/TSFHiveOutputFormat.java | 34 +-
.../org/apache/iotdb/hive/TSFHiveRecordReader.java | 59 +-
.../org/apache/iotdb/hive/TSFHiveRecordWriter.java | 24 +-
.../org/apache/iotdb/hive/TsFileDeserializer.java | 84 +-
.../java/org/apache/iotdb/hive/TsFileSerDe.java | 51 +-
.../apache/iotdb/hive/TSFHiveInputFormatTest.java | 14 +-
.../apache/iotdb/hive/TSFHiveRecordReaderTest.java | 88 +-
.../apache/iotdb/hive/TsFileDeserializerTest.java | 22 +-
.../org/apache/iotdb/hive/TsFileSerDeTest.java | 17 +-
.../org/apache/iotdb/hive/TsFileTestHelper.java | 25 +-
.../apache/iotdb/hive/constant/TestConstant.java | 5 +-
jdbc/README.md | 2 +-
.../iotdb/jdbc/AbstractIoTDBJDBCResultSet.java | 52 +-
.../main/java/org/apache/iotdb/jdbc/Activator.java | 4 +-
.../main/java/org/apache/iotdb/jdbc/Config.java | 23 +-
.../main/java/org/apache/iotdb/jdbc/Constant.java | 2 +-
.../org/apache/iotdb/jdbc/IoTDBConnection.java | 102 +-
.../org/apache/iotdb/jdbc/IoTDBDataSource.java | 15 +-
.../apache/iotdb/jdbc/IoTDBDataSourceFactory.java | 4 +-
.../apache/iotdb/jdbc/IoTDBDatabaseMetadata.java | 78 +-
.../java/org/apache/iotdb/jdbc/IoTDBDriver.java | 17 +-
.../org/apache/iotdb/jdbc/IoTDBJDBCResultSet.java | 37 +-
.../iotdb/jdbc/IoTDBNonAlignJDBCResultSet.java | 60 +-
.../apache/iotdb/jdbc/IoTDBPreparedStatement.java | 71 +-
.../org/apache/iotdb/jdbc/IoTDBResultMetadata.java | 22 +-
.../org/apache/iotdb/jdbc/IoTDBSQLException.java | 4 +-
.../java/org/apache/iotdb/jdbc/IoTDBStatement.java | 213 ++-
.../src/main/java/org/apache/iotdb/jdbc/Utils.java | 15 +-
.../test/java/org/apache/iotdb/jdbc/BatchTest.java | 97 +-
.../org/apache/iotdb/jdbc/IoTDBConnectionTest.java | 45 +-
.../apache/iotdb/jdbc/IoTDBJDBCResultSetTest.java | 198 +--
.../iotdb/jdbc/IoTDBPreparedStatementTest.java | 182 +--
.../apache/iotdb/jdbc/IoTDBResultMetadataTest.java | 37 +-
.../org/apache/iotdb/jdbc/IoTDBStatementTest.java | 27 +-
.../test/java/org/apache/iotdb/jdbc/UtilsTest.java | 24 +-
pom.xml | 35 +-
.../org/apache/iotdb/db/auth/AuthException.java | 5 +-
.../org/apache/iotdb/db/auth/AuthorityChecker.java | 22 +-
.../iotdb/db/auth/authorizer/BasicAuthorizer.java | 84 +-
.../iotdb/db/auth/authorizer/IAuthorizer.java | 75 +-
.../db/auth/authorizer/LocalFileAuthorizer.java | 8 +-
.../iotdb/db/auth/authorizer/OpenIdAuthorizer.java | 396 ++---
.../apache/iotdb/db/auth/entity/PathPrivilege.java | 15 +-
.../apache/iotdb/db/auth/entity/PrivilegeType.java | 30 +-
.../java/org/apache/iotdb/db/auth/entity/Role.java | 18 +-
.../java/org/apache/iotdb/db/auth/entity/User.java | 37 +-
.../iotdb/db/auth/role/BasicRoleManager.java | 9 +-
.../apache/iotdb/db/auth/role/IRoleAccessor.java | 21 +-
.../apache/iotdb/db/auth/role/IRoleManager.java | 42 +-
.../iotdb/db/auth/role/LocalFileRoleAccessor.java | 90 +-
.../iotdb/db/auth/user/BasicUserManager.java | 22 +-
.../apache/iotdb/db/auth/user/IUserAccessor.java | 21 +-
.../apache/iotdb/db/auth/user/IUserManager.java | 47 +-
.../iotdb/db/auth/user/LocalFileUserAccessor.java | 100 +-
.../org/apache/iotdb/db/concurrent/HashLock.java | 7 +-
.../IoTDBDefaultThreadExceptionHandler.java | 5 +-
.../db/concurrent/IoTDBThreadPoolFactory.java | 65 +-
.../iotdb/db/concurrent/IoTThreadFactory.java | 4 +-
.../iotdb/db/concurrent/WrappedRunnable.java | 3 +-
.../java/org/apache/iotdb/db/conf/IoTDBConfig.java | 624 +++-----
.../org/apache/iotdb/db/conf/IoTDBConfigCheck.java | 189 ++-
.../org/apache/iotdb/db/conf/IoTDBConstant.java | 15 +-
.../org/apache/iotdb/db/conf/IoTDBDescriptor.java | 1027 ++++++++-----
.../iotdb/db/conf/ServerConfigConsistent.java | 7 +-
.../iotdb/db/conf/adapter/CompressionRatio.java | 70 +-
.../db/conf/directories/DirectoryManager.java | 39 +-
.../directories/strategy/DirectoryStrategy.java | 15 +-
.../strategy/MaxDiskUsableSpaceFirstStrategy.java | 4 +-
.../MinFolderOccupiedSpaceFirstStrategy.java | 3 +-
.../strategy/RandomOnDiskUsableSpaceStrategy.java | 12 +-
.../directories/strategy/SequenceStrategy.java | 3 +-
.../db/cost/statistic/ConcurrentCircularArray.java | 6 +-
.../iotdb/db/cost/statistic/Measurement.java | 117 +-
.../iotdb/db/cost/statistic/MeasurementMBean.java | 24 +-
.../apache/iotdb/db/cost/statistic/Operation.java | 1 -
.../org/apache/iotdb/db/engine/StorageEngine.java | 297 ++--
.../iotdb/db/engine/cache/AccountableString.java | 3 +-
.../db/engine/cache/CacheHitRatioMonitor.java | 5 +-
.../engine/cache/CacheHitRatioMonitorMXBean.java | 3 -
.../apache/iotdb/db/engine/cache/ChunkCache.java | 80 +-
.../iotdb/db/engine/cache/ChunkMetadataCache.java | 118 +-
.../iotdb/db/engine/cache/LRULinkedHashMap.java | 27 +-
.../db/engine/cache/TimeSeriesMetadataCache.java | 153 +-
.../compaction/CompactionMergeTaskPoolManager.java | 56 +-
.../db/engine/compaction/TsFileManagement.java | 165 +-
.../level/LevelCompactionTsFileManagement.java | 362 +++--
.../no/NoCompactionTsFileManagement.java | 35 +-
.../compaction/utils/CompactionLogAnalyzer.java | 14 +-
.../engine/compaction/utils/CompactionLogger.java | 12 +-
.../engine/compaction/utils/CompactionUtils.java | 248 ++--
.../db/engine/fileSystem/SystemFileFactory.java | 10 +-
.../iotdb/db/engine/flush/FlushListener.java | 3 +-
.../apache/iotdb/db/engine/flush/FlushManager.java | 32 +-
.../iotdb/db/engine/flush/MemTableFlushTask.java | 328 ++--
.../iotdb/db/engine/flush/NotifyFlushMemTable.java | 4 +-
.../iotdb/db/engine/flush/TsFileFlushPolicy.java | 4 +-
.../db/engine/flush/pool/AbstractPoolManager.java | 13 +-
.../engine/flush/pool/FlushSubTaskPoolManager.java | 15 +-
.../db/engine/flush/pool/FlushTaskPoolManager.java | 7 +-
.../iotdb/db/engine/memtable/AbstractMemTable.java | 107 +-
.../apache/iotdb/db/engine/memtable/IMemTable.java | 77 +-
.../db/engine/memtable/IWritableMemChunk.java | 31 +-
.../db/engine/memtable/PrimitiveMemTable.java | 11 +-
.../iotdb/db/engine/memtable/WritableMemChunk.java | 6 +-
.../iotdb/db/engine/merge/manage/MergeContext.java | 18 +-
.../iotdb/db/engine/merge/manage/MergeFuture.java | 10 +-
.../iotdb/db/engine/merge/manage/MergeManager.java | 111 +-
.../db/engine/merge/manage/MergeResource.java | 60 +-
.../db/engine/merge/manage/MergeThreadPool.java | 16 +-
.../apache/iotdb/db/engine/merge/package-info.java | 8 +-
.../iotdb/db/engine/merge/recover/LogAnalyzer.java | 106 +-
.../iotdb/db/engine/merge/recover/MergeLogger.java | 11 +-
.../merge/selector/IFileQueryMemMeasurement.java | 3 +-
.../engine/merge/selector/IMergeFileSelector.java | 7 +-
.../engine/merge/selector/IMergePathSelector.java | 11 +-
.../merge/selector/MaxFileMergeFileSelector.java | 109 +-
.../merge/selector/MaxSeriesMergeFileSelector.java | 29 +-
.../engine/merge/selector/NaivePathSelector.java | 9 +-
.../iotdb/db/engine/merge/task/MergeCallback.java | 14 +-
.../iotdb/db/engine/merge/task/MergeFileTask.java | 107 +-
.../db/engine/merge/task/MergeMultiChunkTask.java | 229 ++-
.../iotdb/db/engine/merge/task/MergeTask.java | 85 +-
.../db/engine/merge/task/RecoverMergeTask.java | 133 +-
.../iotdb/db/engine/modification/Deletion.java | 14 +-
.../iotdb/db/engine/modification/Modification.java | 14 +-
.../db/engine/modification/ModificationFile.java | 30 +-
.../io/LocalTextModificationAccessor.java | 60 +-
.../engine/modification/io/ModificationReader.java | 11 +-
.../engine/modification/io/ModificationWriter.java | 16 +-
.../iotdb/db/engine/modification/package-info.java | 6 +-
.../db/engine/querycontext/QueryDataSource.java | 19 +-
.../db/engine/querycontext/ReadOnlyMemChunk.java | 34 +-
.../db/engine/storagegroup/StorageGroupInfo.java | 34 +-
.../engine/storagegroup/StorageGroupProcessor.java | 1491 +++++++++++--------
.../iotdb/db/engine/storagegroup/TsFileLock.java | 39 +-
.../db/engine/storagegroup/TsFileProcessor.java | 565 ++++---
.../engine/storagegroup/TsFileProcessorInfo.java | 25 +-
.../db/engine/storagegroup/TsFileResource.java | 165 +-
.../storagegroup/timeindex/DeviceTimeIndex.java | 32 +-
.../storagegroup/timeindex/FileTimeIndex.java | 41 +-
.../engine/storagegroup/timeindex/ITimeIndex.java | 19 +-
.../storagegroup/timeindex/TimeIndexLevel.java | 3 +-
.../virtualSg/HashVirtualPartitioner.java | 10 +-
.../storagegroup/virtualSg/VirtualPartitioner.java | 5 +-
.../virtualSg/VirtualStorageGroupManager.java | 204 ++-
.../db/engine/upgrade/UpgradeCheckStatus.java | 5 +-
.../apache/iotdb/db/engine/upgrade/UpgradeLog.java | 19 +-
.../iotdb/db/engine/upgrade/UpgradeTask.java | 40 +-
.../version/SimpleFileVersionController.java | 30 +-
.../engine/version/SysTimeVersionController.java | 8 +-
.../iotdb/db/engine/version/VersionController.java | 12 +-
.../iotdb/db/exception/BatchProcessException.java | 3 +-
.../exception/DiskSpaceInsufficientException.java | 6 +-
.../apache/iotdb/db/exception/IoTDBException.java | 4 +-
.../db/exception/LoadConfigurationException.java | 1 -
.../iotdb/db/exception/LoadEmptyFileException.java | 2 -
.../db/exception/QueryIdNotExsitException.java | 1 -
.../exception/QueryInBatchStatementException.java | 3 +-
.../iotdb/db/exception/ShutdownException.java | 1 -
.../iotdb/db/exception/StartupException.java | 3 +-
.../SyncDeviceOwnerConflictException.java | 12 +-
.../iotdb/db/exception/SystemCheckException.java | 3 +-
.../db/exception/UDFRegistrationException.java | 68 +-
.../iotdb/db/exception/WriteProcessException.java | 1 -
.../db/exception/WriteProcessRejectException.java | 1 -
.../exception/index/DistanceMetricException.java | 1 -
.../index/IllegalIndexParamException.java | 1 -
.../db/exception/index/IndexManagerException.java | 1 -
.../db/exception/index/QueryIndexException.java | 1 -
.../index/UnsupportedIndexTypeException.java | 5 +-
.../metadata/AliasAlreadyExistException.java | 5 +-
.../metadata/DataTypeMismatchException.java | 14 +-
.../exception/metadata/DeleteFailedException.java | 5 +-
.../metadata/PathAlreadyExistException.java | 5 +-
.../exception/metadata/PathNotExistException.java | 23 +-
.../metadata/StorageGroupAlreadySetException.java | 3 +-
.../exception/query/LogicalOperatorException.java | 6 +-
.../exception/query/LogicalOptimizeException.java | 11 +-
.../db/exception/query/OutOfTTLException.java | 14 +-
.../exception/query/PathNumOverLimitException.java | 14 +-
.../query/QueryTimeoutRuntimeException.java | 9 +-
.../query/UnSupportedFillTypeException.java | 3 +-
.../db/exception/runtime/RPCServiceException.java | 3 +-
.../db/exception/runtime/SQLParserException.java | 2 +
.../iotdb/db/index/common/IndexConstant.java | 5 +-
.../apache/iotdb/db/index/common/IndexType.java | 171 ++-
.../apache/iotdb/db/index/common/IndexUtils.java | 3 +-
.../apache/iotdb/db/metadata/MLogTxtWriter.java | 46 +-
.../org/apache/iotdb/db/metadata/MManager.java | 622 ++++----
.../java/org/apache/iotdb/db/metadata/MTree.java | 426 +++---
.../apache/iotdb/db/metadata/MeasurementMeta.java | 14 +-
.../org/apache/iotdb/db/metadata/MetaUtils.java | 24 +-
.../org/apache/iotdb/db/metadata/Metadata.java | 21 +-
.../apache/iotdb/db/metadata/MetadataConstant.java | 7 +-
.../iotdb/db/metadata/MetadataOperationType.java | 4 +-
.../org/apache/iotdb/db/metadata/PartialPath.java | 36 +-
.../org/apache/iotdb/db/metadata/TagLogFile.java | 55 +-
.../iotdb/db/metadata/logfile/MLogReader.java | 1 +
.../iotdb/db/metadata/logfile/MLogTxtReader.java | 5 +-
.../iotdb/db/metadata/logfile/MLogWriter.java | 90 +-
.../org/apache/iotdb/db/metadata/mnode/MNode.java | 68 +-
.../iotdb/db/metadata/mnode/MeasurementMNode.java | 67 +-
.../iotdb/db/metadata/mnode/StorageGroupMNode.java | 6 +-
.../apache/iotdb/db/metrics/server/JettyUtil.java | 211 +--
.../iotdb/db/metrics/server/MetricsSystem.java | 163 +-
.../iotdb/db/metrics/server/QueryServlet.java | 14 +-
.../iotdb/db/metrics/server/ServerArgument.java | 645 ++++----
.../iotdb/db/metrics/server/SqlArgument.java | 166 ++-
.../apache/iotdb/db/metrics/sink/ConsoleSink.java | 8 +-
.../iotdb/db/metrics/sink/MetricsServletSink.java | 103 +-
.../org/apache/iotdb/db/metrics/sink/Sink.java | 1 -
.../apache/iotdb/db/metrics/source/JvmSource.java | 100 +-
.../iotdb/db/metrics/source/MetricsSource.java | 248 ++--
.../org/apache/iotdb/db/metrics/source/Source.java | 1 -
.../apache/iotdb/db/metrics/ui/MetricsPage.java | 328 ++--
.../apache/iotdb/db/metrics/ui/MetricsWebUI.java | 134 +-
.../org/apache/iotdb/db/monitor/IStatistic.java | 13 +-
.../apache/iotdb/db/monitor/MonitorConstants.java | 8 +-
.../org/apache/iotdb/db/monitor/StatMonitor.java | 86 +-
.../apache/iotdb/db/monitor/StatMonitorMBean.java | 1 -
.../apache/iotdb/db/mqtt/BrokerAuthenticator.java | 35 +-
.../apache/iotdb/db/mqtt/JSONPayloadFormatter.java | 92 +-
.../java/org/apache/iotdb/db/mqtt/Message.java | 83 +-
.../apache/iotdb/db/mqtt/PayloadFormatManager.java | 31 +-
.../org/apache/iotdb/db/mqtt/PayloadFormatter.java | 29 +-
.../org/apache/iotdb/db/mqtt/PublishHandler.java | 30 +-
.../main/java/org/apache/iotdb/db/qp/Planner.java | 68 +-
.../apache/iotdb/db/qp/constant/SQLConstant.java | 16 +-
.../apache/iotdb/db/qp/executor/IPlanExecutor.java | 19 +-
.../apache/iotdb/db/qp/executor/PlanExecutor.java | 311 ++--
.../org/apache/iotdb/db/qp/logical/Operator.java | 108 +-
.../db/qp/logical/crud/BasicFunctionOperator.java | 31 +-
.../db/qp/logical/crud/BasicOperatorType.java | 11 +-
.../db/qp/logical/crud/DeleteDataOperator.java | 4 +-
.../iotdb/db/qp/logical/crud/FilterOperator.java | 58 +-
.../iotdb/db/qp/logical/crud/FromOperator.java | 10 +-
.../iotdb/db/qp/logical/crud/FunctionOperator.java | 11 +-
.../iotdb/db/qp/logical/crud/InOperator.java | 41 +-
.../iotdb/db/qp/logical/crud/InsertOperator.java | 5 +-
.../iotdb/db/qp/logical/crud/QueryOperator.java | 7 +-
.../iotdb/db/qp/logical/crud/SFWOperator.java | 7 +-
.../iotdb/db/qp/logical/crud/SelectOperator.java | 15 +-
.../db/qp/logical/sys/AlterTimeSeriesOperator.java | 3 +-
.../iotdb/db/qp/logical/sys/AuthorOperator.java | 20 +-
.../iotdb/db/qp/logical/sys/CountOperator.java | 10 +-
.../db/qp/logical/sys/CreateFunctionOperator.java | 116 +-
.../db/qp/logical/sys/CreateIndexOperator.java | 7 +-
.../qp/logical/sys/CreateTimeSeriesOperator.java | 12 +-
.../iotdb/db/qp/logical/sys/DataAuthOperator.java | 4 +-
.../db/qp/logical/sys/DeletePartitionOperator.java | 3 +-
.../qp/logical/sys/DeleteStorageGroupOperator.java | 9 +-
.../qp/logical/sys/DeleteTimeSeriesOperator.java | 12 +-
.../db/qp/logical/sys/DropFunctionOperator.java | 80 +-
.../iotdb/db/qp/logical/sys/DropIndexOperator.java | 5 +-
.../iotdb/db/qp/logical/sys/FlushOperator.java | 6 +-
.../qp/logical/sys/LoadConfigurationOperator.java | 5 +-
.../iotdb/db/qp/logical/sys/LoadDataOperator.java | 4 +-
.../iotdb/db/qp/logical/sys/LoadFilesOperator.java | 4 +-
.../iotdb/db/qp/logical/sys/MoveFileOperator.java | 3 +-
.../db/qp/logical/sys/RemoveFileOperator.java | 3 +-
.../db/qp/logical/sys/SetStorageGroupOperator.java | 7 +-
.../iotdb/db/qp/logical/sys/SetTTLOperator.java | 2 +-
.../db/qp/logical/sys/ShowFunctionsOperator.java | 74 +-
.../qp/logical/sys/ShowStorageGroupOperator.java | 72 +-
.../iotdb/db/qp/logical/sys/ShowTTLOperator.java | 5 +-
.../apache/iotdb/db/qp/physical/PhysicalPlan.java | 79 +-
.../iotdb/db/qp/physical/crud/AggregationPlan.java | 3 +-
.../db/qp/physical/crud/AlignByDevicePlan.java | 34 +-
.../db/qp/physical/crud/DeletePartitionPlan.java | 7 +-
.../iotdb/db/qp/physical/crud/DeletePlan.java | 14 +-
.../iotdb/db/qp/physical/crud/FillQueryPlan.java | 3 +-
.../db/qp/physical/crud/GroupByTimeFillPlan.java | 3 +-
.../iotdb/db/qp/physical/crud/GroupByTimePlan.java | 3 +-
.../db/qp/physical/crud/InsertMultiTabletPlan.java | 98 +-
.../iotdb/db/qp/physical/crud/InsertPlan.java | 19 +-
.../iotdb/db/qp/physical/crud/InsertRowPlan.java | 110 +-
.../physical/crud/InsertRowsOfOneDevicePlan.java | 49 +-
.../db/qp/physical/crud/InsertTabletPlan.java | 89 +-
.../iotdb/db/qp/physical/crud/QueryIndexPlan.java | 5 +-
.../iotdb/db/qp/physical/crud/QueryPlan.java | 7 +-
.../db/qp/physical/crud/RawDataQueryPlan.java | 28 +-
.../apache/iotdb/db/qp/physical/crud/UDFPlan.java | 99 +-
.../apache/iotdb/db/qp/physical/crud/UDTFPlan.java | 265 ++--
.../db/qp/physical/sys/AlterTimeSeriesPlan.java | 46 +-
.../iotdb/db/qp/physical/sys/AuthorPlan.java | 83 +-
.../iotdb/db/qp/physical/sys/ClearCachePlan.java | 5 +-
.../apache/iotdb/db/qp/physical/sys/CountPlan.java | 8 +-
.../db/qp/physical/sys/CreateFunctionPlan.java | 115 +-
.../iotdb/db/qp/physical/sys/CreateIndexPlan.java | 26 +-
.../qp/physical/sys/CreateMultiTimeSeriesPlan.java | 31 +-
.../db/qp/physical/sys/CreateSnapshotPlan.java | 6 +-
.../db/qp/physical/sys/CreateTimeSeriesPlan.java | 43 +-
.../iotdb/db/qp/physical/sys/DataAuthPlan.java | 9 +-
.../db/qp/physical/sys/DeleteStorageGroupPlan.java | 22 +-
.../db/qp/physical/sys/DeleteTimeSeriesPlan.java | 9 +-
.../iotdb/db/qp/physical/sys/DropFunctionPlan.java | 91 +-
.../iotdb/db/qp/physical/sys/DropIndexPlan.java | 21 +-
.../apache/iotdb/db/qp/physical/sys/FlushPlan.java | 56 +-
.../iotdb/db/qp/physical/sys/KillQueryPlan.java | 5 +-
.../db/qp/physical/sys/LoadConfigurationPlan.java | 16 +-
.../iotdb/db/qp/physical/sys/LoadDataPlan.java | 19 +-
.../apache/iotdb/db/qp/physical/sys/MNodePlan.java | 3 +-
.../db/qp/physical/sys/MeasurementMNodePlan.java | 26 +-
.../apache/iotdb/db/qp/physical/sys/MergePlan.java | 6 +-
.../iotdb/db/qp/physical/sys/OperateFilePlan.java | 29 +-
.../db/qp/physical/sys/SetStorageGroupPlan.java | 11 +-
.../iotdb/db/qp/physical/sys/SetTTLPlan.java | 11 +-
.../iotdb/db/qp/physical/sys/ShowDevicesPlan.java | 4 +-
.../db/qp/physical/sys/ShowFunctionsPlan.java | 68 +-
.../apache/iotdb/db/qp/physical/sys/ShowPlan.java | 28 +-
.../qp/physical/sys/ShowQueryProcesslistPlan.java | 1 -
.../db/qp/physical/sys/ShowStorageGroupPlan.java | 73 +-
.../iotdb/db/qp/physical/sys/ShowTTLPlan.java | 5 +-
.../db/qp/physical/sys/ShowTimeSeriesPlan.java | 17 +-
.../db/qp/physical/sys/StorageGroupMNodePlan.java | 4 +-
.../iotdb/db/qp/physical/sys/TracingPlan.java | 5 +-
.../apache/iotdb/db/qp/sql/IoTDBSqlVisitor.java | 348 +++--
.../iotdb/db/qp/strategy/LogicalGenerator.java | 23 +-
.../iotdb/db/qp/strategy/PhysicalGenerator.java | 220 +--
.../apache/iotdb/db/qp/strategy/SQLParseError.java | 8 +-
.../qp/strategy/optimizer/ConcatPathOptimizer.java | 113 +-
.../qp/strategy/optimizer/DnfFilterOptimizer.java | 27 +-
.../db/qp/strategy/optimizer/IFilterOptimizer.java | 4 +-
.../qp/strategy/optimizer/ILogicalOptimizer.java | 4 +-
.../optimizer/MergeSingleFilterOptimizer.java | 25 +-
.../qp/strategy/optimizer/RemoveNotOptimizer.java | 24 +-
.../apache/iotdb/db/qp/utils/DatetimeUtils.java | 610 ++++----
.../db/query/aggregation/AggregateResult.java | 30 +-
.../db/query/aggregation/AggregationType.java | 14 +-
.../db/query/aggregation/impl/AvgAggrResult.java | 21 +-
.../db/query/aggregation/impl/CountAggrResult.java | 17 +-
.../aggregation/impl/FirstValueAggrResult.java | 11 +-
.../aggregation/impl/FirstValueDescAggrResult.java | 7 +-
.../aggregation/impl/LastValueAggrResult.java | 13 +-
.../aggregation/impl/LastValueDescAggrResult.java | 7 +-
.../query/aggregation/impl/MaxTimeAggrResult.java | 19 +-
.../aggregation/impl/MaxTimeDescAggrResult.java | 7 +-
.../query/aggregation/impl/MaxValueAggrResult.java | 19 +-
.../query/aggregation/impl/MinTimeAggrResult.java | 22 +-
.../aggregation/impl/MinTimeDescAggrResult.java | 9 +-
.../query/aggregation/impl/MinValueAggrResult.java | 18 +-
.../db/query/aggregation/impl/SumAggrResult.java | 11 +-
.../iotdb/db/query/context/QueryContext.java | 47 +-
.../iotdb/db/query/control/FileReaderManager.java | 99 +-
.../iotdb/db/query/control/QueryFileManager.java | 249 ++--
.../db/query/control/QueryResourceManager.java | 451 +++---
.../iotdb/db/query/control/QueryTimeManager.java | 68 +-
.../iotdb/db/query/control/TracingManager.java | 132 +-
.../db/query/dataset/AlignByDeviceDataSet.java | 32 +-
.../db/query/dataset/DirectAlignByTimeDataSet.java | 67 +-
.../db/query/dataset/DirectNonAlignDataSet.java | 63 +-
.../apache/iotdb/db/query/dataset/ListDataSet.java | 7 +-
.../db/query/dataset/NonAlignEngineDataSet.java | 50 +-
.../dataset/RawQueryDataSetWithValueFilter.java | 32 +-
.../dataset/RawQueryDataSetWithoutValueFilter.java | 86 +-
.../apache/iotdb/db/query/dataset/ShowDataSet.java | 7 +-
.../iotdb/db/query/dataset/ShowDevicesDataSet.java | 26 +-
.../apache/iotdb/db/query/dataset/ShowResult.java | 4 +-
.../db/query/dataset/ShowTimeSeriesResult.java | 35 +-
.../db/query/dataset/ShowTimeseriesDataSet.java | 69 +-
.../iotdb/db/query/dataset/SingleDataSet.java | 7 +-
.../iotdb/db/query/dataset/UDFInputDataSet.java | 3 +-
.../db/query/dataset/UDTFAlignByTimeDataSet.java | 580 ++++----
.../apache/iotdb/db/query/dataset/UDTFDataSet.java | 329 ++--
.../db/query/dataset/UDTFNonAlignDataSet.java | 407 ++---
.../dataset/groupby/GroupByEngineDataSet.java | 33 +-
.../db/query/dataset/groupby/GroupByExecutor.java | 19 +-
.../query/dataset/groupby/GroupByFillDataSet.java | 61 +-
.../query/dataset/groupby/GroupByTimeDataSet.java | 24 +-
.../groupby/GroupByWithValueFilterDataSet.java | 112 +-
.../groupby/GroupByWithoutValueFilterDataSet.java | 86 +-
.../dataset/groupby/LocalGroupByExecutor.java | 71 +-
.../db/query/executor/AggregationExecutor.java | 217 +--
.../iotdb/db/query/executor/FillQueryExecutor.java | 37 +-
.../iotdb/db/query/executor/IQueryRouter.java | 42 +-
.../iotdb/db/query/executor/LastQueryExecutor.java | 84 +-
.../iotdb/db/query/executor/QueryRouter.java | 88 +-
.../db/query/executor/RawDataQueryExecutor.java | 117 +-
.../iotdb/db/query/executor/UDTFQueryExecutor.java | 195 +--
.../apache/iotdb/db/query/executor/fill/IFill.java | 18 +-
.../db/query/executor/fill/LastPointReader.java | 59 +-
.../iotdb/db/query/executor/fill/LinearFill.java | 73 +-
.../iotdb/db/query/executor/fill/PreviousFill.java | 26 +-
.../db/query/externalsort/ExternalSortJob.java | 7 +-
.../query/externalsort/ExternalSortJobEngine.java | 17 +-
.../db/query/externalsort/ExternalSortJobPart.java | 6 +-
.../externalsort/ExternalSortJobScheduler.java | 19 +-
.../iotdb/db/query/externalsort/LineMerger.java | 11 +-
.../MultiSourceExternalSortJobPart.java | 8 +-
.../externalsort/SimpleExternalSortEngine.java | 55 +-
.../SingleSourceExternalSortJobPart.java | 20 +-
.../adapter/ByTimestampReaderAdapter.java | 7 +-
.../serialize/IExternalSortFileDeserializer.java | 3 +-
.../serialize/IExternalSortFileSerializer.java | 3 +-
.../FixLengthIExternalSortFileDeserializer.java | 56 +-
.../impl/FixLengthTimeValuePairSerializer.java | 31 +-
.../db/query/factory/AggregateResultFactory.java | 31 +-
.../iotdb/db/query/pool/QueryTaskPoolManager.java | 8 +-
.../db/query/reader/chunk/ChunkDataIterator.java | 13 +-
.../db/query/reader/chunk/ChunkReaderWrap.java | 25 +-
.../db/query/reader/chunk/DiskChunkLoader.java | 7 +-
.../reader/chunk/DiskChunkReaderByTimestamp.java | 6 +-
.../db/query/reader/chunk/MemChunkLoader.java | 11 +-
.../db/query/reader/chunk/MemChunkReader.java | 23 +-
.../iotdb/db/query/reader/chunk/MemPageReader.java | 16 +-
.../chunk/metadata/DiskChunkMetadataLoader.java | 31 +-
.../chunk/metadata/MemChunkMetadataLoader.java | 17 +-
.../resource/CachedUnseqResourceMergeReader.java | 5 +-
.../db/query/reader/series/IAggregateReader.java | 11 +-
.../db/query/reader/series/IReaderByTimestamp.java | 19 +-
.../query/reader/series/SeriesAggregateReader.java | 39 +-
.../reader/series/SeriesRawDataBatchReader.java | 64 +-
.../reader/series/SeriesRawDataPointReader.java | 16 +-
.../iotdb/db/query/reader/series/SeriesReader.java | 447 +++---
.../reader/series/SeriesReaderByTimestamp.java | 29 +-
.../universal/CachedPriorityMergeReader.java | 4 +-
.../reader/universal/DescPriorityMergeReader.java | 18 +-
.../reader/universal/PriorityMergeReader.java | 39 +-
.../query/timegenerator/ServerTimeGenerator.java | 42 +-
.../org/apache/iotdb/db/query/udf/api/UDF.java | 84 +-
.../org/apache/iotdb/db/query/udf/api/UDTF.java | 241 ++-
.../apache/iotdb/db/query/udf/api/access/Row.java | 240 +--
.../iotdb/db/query/udf/api/access/RowIterator.java | 96 +-
.../iotdb/db/query/udf/api/access/RowWindow.java | 123 +-
.../db/query/udf/api/collector/PointCollector.java | 275 ++--
.../api/customizer/config/UDFConfigurations.java | 76 +-
.../api/customizer/config/UDTFConfigurations.java | 211 +--
.../parameter/UDFParameterValidator.java | 58 +-
.../api/customizer/parameter/UDFParameters.java | 304 ++--
.../api/customizer/strategy/AccessStrategy.java | 122 +-
.../strategy/RowByRowAccessStrategy.java | 122 +-
.../strategy/SlidingSizeWindowAccessStrategy.java | 247 +--
.../strategy/SlidingTimeWindowAccessStrategy.java | 510 +++----
.../UDFInputSeriesDataTypeNotValidException.java | 25 +-
.../UDFInputSeriesIndexNotValidException.java | 5 +-
.../UDFInputSeriesNumberNotValidException.java | 16 +-
.../db/query/udf/builtin/BuiltinFunction.java | 5 +-
.../apache/iotdb/db/query/udf/builtin/UDTFAbs.java | 11 +-
.../iotdb/db/query/udf/builtin/UDTFBottomK.java | 23 +-
.../db/query/udf/builtin/UDTFCommonDerivative.java | 7 +-
.../udf/builtin/UDTFCommonValueDifference.java | 7 +-
.../iotdb/db/query/udf/builtin/UDTFDerivative.java | 3 +-
.../iotdb/db/query/udf/builtin/UDTFMatches.java | 3 +-
.../iotdb/db/query/udf/builtin/UDTFMath.java | 11 +-
.../udf/builtin/UDTFNonNegativeDerivative.java | 7 +-
.../builtin/UDTFNonNegativeValueDifference.java | 7 +-
.../iotdb/db/query/udf/builtin/UDTFSelectK.java | 78 +-
.../db/query/udf/builtin/UDTFTimeDifference.java | 3 +-
.../iotdb/db/query/udf/builtin/UDTFTopK.java | 15 +-
.../db/query/udf/builtin/UDTFValueDifference.java | 7 +-
.../iotdb/db/query/udf/builtin/UDTFValueTrend.java | 11 +-
.../iotdb/db/query/udf/core/access/RowImpl.java | 184 +--
.../db/query/udf/core/access/RowIteratorImpl.java | 120 +-
.../db/query/udf/core/access/RowWindowImpl.java | 155 +-
.../db/query/udf/core/context/UDFContext.java | 276 ++--
.../db/query/udf/core/executor/UDTFExecutor.java | 232 +--
.../iotdb/db/query/udf/core/input/InputLayer.java | 1126 +++++++-------
.../iotdb/db/query/udf/core/input/SafetyLine.java | 155 +-
.../db/query/udf/core/reader/LayerPointReader.java | 97 +-
.../db/query/udf/core/reader/LayerRowReader.java | 77 +-
.../udf/core/reader/LayerRowWindowReader.java | 73 +-
.../core/transformer/RawQueryPointTransformer.java | 145 +-
.../db/query/udf/core/transformer/Transformer.java | 187 +--
.../core/transformer/UDFQueryRowTransformer.java | 91 +-
.../transformer/UDFQueryRowWindowTransformer.java | 93 +-
.../udf/core/transformer/UDFQueryTransformer.java | 203 +--
.../iotdb/db/query/udf/datastructure/Cache.java | 7 +-
.../query/udf/datastructure/SerializableList.java | 331 +++--
.../primitive/ElasticSerializableIntList.java | 197 +--
.../query/udf/datastructure/primitive/IntList.java | 66 +-
.../primitive/SerializableIntList.java | 264 ++--
.../datastructure/primitive/WrappedIntArray.java | 102 +-
.../row/ElasticSerializableRowRecordList.java | 495 +++---
.../row/SerializableRowRecordList.java | 470 +++---
.../tv/ElasticSerializableBinaryTVList.java | 253 ++--
.../tv/ElasticSerializableTVList.java | 629 ++++----
.../datastructure/tv/SerializableBinaryTVList.java | 161 +-
.../tv/SerializableBooleanTVList.java | 141 +-
.../datastructure/tv/SerializableDoubleTVList.java | 141 +-
.../datastructure/tv/SerializableFloatTVList.java | 141 +-
.../datastructure/tv/SerializableIntTVList.java | 141 +-
.../datastructure/tv/SerializableLongTVList.java | 141 +-
.../udf/datastructure/tv/SerializableTVList.java | 199 +--
.../udf/service/TemporaryQueryDataFileService.java | 277 ++--
.../iotdb/db/query/udf/service/UDFClassLoader.java | 168 +--
.../query/udf/service/UDFClassLoaderManager.java | 252 ++--
.../iotdb/db/query/udf/service/UDFLogWriter.java | 139 +-
.../udf/service/UDFRegistrationInformation.java | 160 +-
.../query/udf/service/UDFRegistrationService.java | 831 ++++++-----
.../apache/iotdb/db/rescon/CachedStringPool.java | 3 +-
.../apache/iotdb/db/rescon/MemTableManager.java | 24 +-
.../iotdb/db/rescon/PrimitiveArrayManager.java | 76 +-
.../org/apache/iotdb/db/rescon/SystemInfo.java | 70 +-
.../apache/iotdb/db/rescon/TVListAllocator.java | 24 +-
.../iotdb/db/rescon/TVListAllocatorMBean.java | 1 -
.../org/apache/iotdb/db/rescon/package-info.java | 2 +-
.../java/org/apache/iotdb/db/service/IService.java | 17 +-
.../java/org/apache/iotdb/db/service/IoTDB.java | 20 +-
.../apache/iotdb/db/service/IoTDBShutdownHook.java | 9 +-
.../org/apache/iotdb/db/service/JMXService.java | 34 +-
.../org/apache/iotdb/db/service/MQTTService.java | 161 +-
.../apache/iotdb/db/service/MetricsService.java | 58 +-
.../iotdb/db/service/MetricsServiceMBean.java | 1 -
.../org/apache/iotdb/db/service/RPCService.java | 35 +-
.../iotdb/db/service/RPCServiceThriftHandler.java | 6 +-
.../apache/iotdb/db/service/RegisterManager.java | 24 +-
.../org/apache/iotdb/db/service/ServiceType.java | 10 +-
.../org/apache/iotdb/db/service/StartupCheck.java | 4 +-
.../org/apache/iotdb/db/service/StartupChecks.java | 56 +-
.../org/apache/iotdb/db/service/StaticResps.java | 35 +-
.../org/apache/iotdb/db/service/TSServiceImpl.java | 554 ++++---
.../org/apache/iotdb/db/service/UpgradeSevice.java | 18 +-
.../iotdb/db/service/thrift/ThriftService.java | 60 +-
.../db/service/thrift/ThriftServiceThread.java | 54 +-
.../apache/iotdb/db/sync/conf/SyncConstant.java | 8 +-
.../iotdb/db/sync/conf/SyncSenderConfig.java | 19 +-
.../iotdb/db/sync/conf/SyncSenderDescriptor.java | 37 +-
.../org/apache/iotdb/db/sync/package-info.java | 11 +-
.../iotdb/db/sync/receiver/SyncServerManager.java | 31 +-
.../db/sync/receiver/SyncServerThriftHandler.java | 8 +-
.../iotdb/db/sync/receiver/load/FileLoader.java | 68 +-
.../db/sync/receiver/load/FileLoaderManager.java | 40 +-
.../iotdb/db/sync/receiver/load/IFileLoader.java | 26 +-
.../iotdb/db/sync/receiver/load/ILoadLogger.java | 9 +-
.../iotdb/db/sync/receiver/load/LoadLogger.java | 2 +-
.../iotdb/db/sync/receiver/load/LoadType.java | 4 +-
.../receiver/recover/ISyncReceiverLogAnalyzer.java | 4 +-
.../sync/receiver/recover/ISyncReceiverLogger.java | 8 +-
.../receiver/recover/SyncReceiverLogAnalyzer.java | 34 +-
.../sync/receiver/recover/SyncReceiverLogger.java | 2 +-
.../db/sync/receiver/transfer/SyncServiceImpl.java | 125 +-
.../db/sync/sender/manage/ISyncFileManager.java | 15 +-
.../db/sync/sender/manage/SyncFileManager.java | 204 ++-
.../sender/recover/ISyncSenderLogAnalyzer.java | 13 +-
.../db/sync/sender/recover/ISyncSenderLogger.java | 6 +-
.../sync/sender/recover/SyncSenderLogAnalyzer.java | 20 +-
.../db/sync/sender/recover/SyncSenderLogger.java | 2 +-
.../iotdb/db/sync/sender/transfer/ISyncClient.java | 47 +-
.../iotdb/db/sync/sender/transfer/SyncClient.java | 314 ++--
.../apache/iotdb/db/tools/IoTDBDataDirViewer.java | 48 +-
.../iotdb/db/tools/TsFileResourcePrinter.java | 28 +-
.../apache/iotdb/db/tools/TsFileSketchTool.java | 194 ++-
.../java/org/apache/iotdb/db/tools/WalChecker.java | 39 +-
.../org/apache/iotdb/db/tools/mlog/MLogParser.java | 71 +-
.../db/tools/upgrade/TsFileOnlineUpgradeTool.java | 221 +--
.../db/tools/virtualsg/DeviceMappingViewer.java | 22 +-
.../watermark/GroupedLSBWatermarkEncoder.java | 14 +-
.../db/tools/watermark/WatermarkDetector.java | 86 +-
.../java/org/apache/iotdb/db/utils/AuthUtils.java | 58 +-
.../org/apache/iotdb/db/utils/CommonUtils.java | 54 +-
.../iotdb/db/utils/CopyOnReadLinkedList.java | 1 -
.../iotdb/db/utils/EncodingInferenceUtils.java | 7 +-
.../org/apache/iotdb/db/utils/FileLoaderUtils.java | 70 +-
.../org/apache/iotdb/db/utils/FilePathUtils.java | 64 +-
.../java/org/apache/iotdb/db/utils/FileUtils.java | 10 +-
.../java/org/apache/iotdb/db/utils/IOUtils.java | 82 +-
.../java/org/apache/iotdb/db/utils/MathUtils.java | 26 +-
.../java/org/apache/iotdb/db/utils/MemUtils.java | 53 +-
.../java/org/apache/iotdb/db/utils/MergeUtils.java | 72 +-
.../java/org/apache/iotdb/db/utils/MmapUtil.java | 5 +-
.../org/apache/iotdb/db/utils/OpenFileNumUtil.java | 33 +-
.../apache/iotdb/db/utils/QueryDataSetUtils.java | 50 +-
.../java/org/apache/iotdb/db/utils/QueryUtils.java | 45 +-
.../apache/iotdb/db/utils/RandomDeleteCache.java | 5 +-
.../org/apache/iotdb/db/utils/SchemaUtils.java | 71 +-
.../org/apache/iotdb/db/utils/SerializeUtils.java | 134 +-
.../java/org/apache/iotdb/db/utils/SyncUtils.java | 43 +-
.../java/org/apache/iotdb/db/utils/TestOnly.java | 7 +-
.../apache/iotdb/db/utils/TimeValuePairUtils.java | 17 +-
.../apache/iotdb/db/utils/TypeInferenceUtils.java | 31 +-
.../org/apache/iotdb/db/utils/UpgradeUtils.java | 93 +-
.../iotdb/db/utils/datastructure/BinaryTVList.java | 28 +-
.../db/utils/datastructure/BooleanTVList.java | 33 +-
.../iotdb/db/utils/datastructure/DoubleTVList.java | 31 +-
.../iotdb/db/utils/datastructure/FloatTVList.java | 30 +-
.../iotdb/db/utils/datastructure/IntTVList.java | 26 +-
.../iotdb/db/utils/datastructure/LongTVList.java | 25 +-
.../iotdb/db/utils/datastructure/TVList.java | 43 +-
.../iotdb/db/utils/datastructure/TimeSelector.java | 8 +-
.../apache/iotdb/db/writelog/WALFlushListener.java | 3 +-
.../iotdb/db/writelog/io/BatchLogReader.java | 13 +-
.../apache/iotdb/db/writelog/io/ILogReader.java | 9 +-
.../apache/iotdb/db/writelog/io/ILogWriter.java | 15 +-
.../org/apache/iotdb/db/writelog/io/LogWriter.java | 9 +-
.../iotdb/db/writelog/io/MultiFileLogReader.java | 3 +-
.../iotdb/db/writelog/io/SingleFileLogReader.java | 25 +-
.../writelog/manager/MultiFileLogNodeManager.java | 32 +-
.../db/writelog/manager/WriteLogNodeManager.java | 13 +-
.../db/writelog/node/ExclusiveWriteLogNode.java | 41 +-
.../iotdb/db/writelog/node/WriteLogNode.java | 37 +-
.../iotdb/db/writelog/recover/LogReplayer.java | 73 +-
.../writelog/recover/TsFileRecoverPerformer.java | 95 +-
.../apache/iotdb/db/auth/AuthorityCheckerTest.java | 207 ++-
.../auth/authorizer/LocalFileAuthorizerTest.java | 29 +-
.../db/auth/authorizer/OpenIdAuthorizerTest.java | 42 +-
.../iotdb/db/auth/entity/PathPrivilegeTest.java | 5 +-
.../org/apache/iotdb/db/auth/entity/RoleTest.java | 13 +-
.../org/apache/iotdb/db/auth/entity/UserTest.java | 5 +-
.../db/auth/role/LocalFileRoleAccessorTest.java | 21 +-
.../db/auth/role/LocalFileRoleManagerTest.java | 18 +-
.../db/auth/user/LocalFileUserAccessorTest.java | 23 +-
.../db/auth/user/LocalFileUserManagerTest.java | 18 +-
.../IoTDBDefaultThreadExceptionHandlerTest.java | 7 +-
.../db/concurrent/IoTDBThreadPoolFactoryTest.java | 35 +-
.../apache/iotdb/db/conf/IoTDBDescriptorTest.java | 1 -
.../db/conf/adapter/CompressionRatioTest.java | 92 +-
.../strategy/DirectoryStrategyTest.java | 56 +-
.../org/apache/iotdb/db/constant/TestConstant.java | 118 +-
.../db/cost/statistic/PerformanceStatTest.java | 8 +-
.../iotdb/db/engine/MetadataManagerHelper.java | 139 +-
.../db/engine/cache/ChunkMetadataCacheTest.java | 42 +-
.../db/engine/compaction/CompactionChunkTest.java | 107 +-
.../engine/compaction/LevelCompactionLogTest.java | 34 +-
.../compaction/LevelCompactionMergeTest.java | 89 +-
.../engine/compaction/LevelCompactionModsTest.java | 34 +-
.../compaction/LevelCompactionRecoverTest.java | 542 ++++---
.../compaction/LevelCompactionSelectorTest.java | 33 +-
.../db/engine/compaction/LevelCompactionTest.java | 88 +-
.../LevelCompactionTsFileManagementTest.java | 106 +-
.../NoCompactionTsFileManagementTest.java | 110 +-
.../db/engine/memtable/MemTableFlushTaskTest.java | 55 +-
.../db/engine/memtable/MemTableTestUtils.java | 25 +-
.../db/engine/memtable/MemtableBenchmark.java | 20 +-
.../db/engine/memtable/PrimitiveMemTableTest.java | 111 +-
.../engine/merge/MaxFileMergeFileSelectorTest.java | 12 +-
.../merge/MaxSeriesMergeFileSelectorTest.java | 33 +-
.../apache/iotdb/db/engine/merge/MergeLogTest.java | 39 +-
.../iotdb/db/engine/merge/MergeManagerTest.java | 24 +-
.../iotdb/db/engine/merge/MergeOverLapTest.java | 117 +-
.../iotdb/db/engine/merge/MergePerfTest.java | 63 +-
.../iotdb/db/engine/merge/MergeTaskTest.java | 280 +++-
.../apache/iotdb/db/engine/merge/MergeTest.java | 96 +-
.../iotdb/db/engine/merge/MergeUpgradeTest.java | 86 +-
.../engine/modification/DeletionFileNodeTest.java | 128 +-
.../db/engine/modification/DeletionQueryTest.java | 31 +-
.../engine/modification/ModificationFileTest.java | 39 +-
.../io/LocalTextModificationAccessorTest.java | 30 +-
.../storagegroup/FileNodeManagerBenchmark.java | 21 +-
.../storagegroup/StorageGroupProcessorTest.java | 173 ++-
.../iotdb/db/engine/storagegroup/TTLTest.java | 144 +-
.../engine/storagegroup/TsFileProcessorTest.java | 171 ++-
.../virtualSg/HashVirtualPartitionerTest.java | 13 +-
.../version/SimpleFileVersionControllerTest.java | 21 +-
.../version/SysTimeVersionControllerTest.java | 4 +-
.../iotdb/db/integration/IOTDBGroupByIT.java | 1057 +++++++------
.../integration/IOTDBGroupByInnerIntervalIT.java | 332 +++--
.../apache/iotdb/db/integration/IOTDBInsertIT.java | 23 +-
.../iotdb/db/integration/IoTDBAddSubDeviceIT.java | 82 +-
.../apache/iotdb/db/integration/IoTDBAliasIT.java | 174 +--
.../iotdb/db/integration/IoTDBAlignByDeviceIT.java | 1147 ++++++++------
.../org/apache/iotdb/db/integration/IoTDBAsIT.java | 291 ++--
.../db/integration/IoTDBAutoCreateSchemaIT.java | 56 +-
.../iotdb/db/integration/IoTDBCheckConfigIT.java | 37 +-
.../iotdb/db/integration/IoTDBClearCacheIT.java | 176 +--
.../apache/iotdb/db/integration/IoTDBCloseIT.java | 99 +-
.../iotdb/db/integration/IoTDBCompleteIT.java | 625 ++++----
.../iotdb/db/integration/IoTDBCompressTypeIT.java | 26 +-
.../db/integration/IoTDBCreateSnapshotIT.java | 101 +-
.../apache/iotdb/db/integration/IoTDBDaemonIT.java | 338 +++--
.../db/integration/IoTDBDeleteStorageGroupIT.java | 64 +-
.../db/integration/IoTDBDeleteTimeseriesIT.java | 53 +-
.../iotdb/db/integration/IoTDBDeletionIT.java | 184 ++-
.../iotdb/db/integration/IoTDBDisableAlignIT.java | 370 ++---
.../iotdb/db/integration/IoTDBEncodingIT.java | 107 +-
.../db/integration/IoTDBEngineTimeGeneratorIT.java | 144 +-
.../iotdb/db/integration/IoTDBFilePathUtilsIT.java | 27 +-
.../apache/iotdb/db/integration/IoTDBFillIT.java | 755 ++++++----
.../db/integration/IoTDBFloatPrecisionIT.java | 93 +-
.../db/integration/IoTDBFlushQueryMergeIT.java | 106 +-
.../iotdb/db/integration/IoTDBGroupByFillIT.java | 711 ++++-----
.../integration/IoTDBGroupByFillWithRangeIT.java | 137 +-
.../iotdb/db/integration/IoTDBInsertNaNIT.java | 126 +-
.../db/integration/IoTDBInsertWithQueryIT.java | 353 +++--
.../iotdb/db/integration/IoTDBKillQueryTest.java | 29 +-
.../iotdb/db/integration/IoTDBLargeDataIT.java | 745 +++++-----
.../apache/iotdb/db/integration/IoTDBLastIT.java | 386 ++---
.../db/integration/IoTDBLevelCompactionIT.java | 659 ++++----
.../iotdb/db/integration/IoTDBLimitSlimitIT.java | 166 ++-
.../db/integration/IoTDBLoadExternalTsfileIT.java | 659 +++++---
.../iotdb/db/integration/IoTDBMergeTest.java | 173 ++-
.../iotdb/db/integration/IoTDBMetadataFetchIT.java | 258 ++--
.../iotdb/db/integration/IoTDBMultiDeviceIT.java | 175 +--
.../IoTDBMultiOverlappedChunkInUnseqIT.java | 54 +-
.../db/integration/IoTDBMultiOverlappedPageIT.java | 105 +-
.../iotdb/db/integration/IoTDBMultiSeriesIT.java | 981 ++++++------
.../db/integration/IoTDBMultiStatementsIT.java | 106 +-
.../db/integration/IoTDBNewTsFileCompactionIT.java | 464 +++---
.../iotdb/db/integration/IoTDBNumberPathIT.java | 641 ++++----
.../db/integration/IoTDBOverlappedPageIT.java | 72 +-
.../iotdb/db/integration/IoTDBQueryDemoIT.java | 425 +++---
.../db/integration/IoTDBQueryMemoryControlIT.java | 588 ++++----
.../db/integration/IoTDBQueryTimeoutTest.java | 44 +-
.../iotdb/db/integration/IoTDBQuotedPathIT.java | 68 +-
.../iotdb/db/integration/IoTDBRecoverIT.java | 299 ++--
.../db/integration/IoTDBRecoverUnclosedIT.java | 200 +--
.../db/integration/IoTDBRemovePartitionIT.java | 126 +-
.../iotdb/db/integration/IoTDBRestartIT.java | 168 +--
.../iotdb/db/integration/IoTDBResultSetIT.java | 32 +-
.../db/integration/IoTDBRpcCompressionIT.java | 133 +-
.../IoTDBSameMeasurementsDifferentTypesIT.java | 100 +-
.../iotdb/db/integration/IoTDBSensorUpdateIT.java | 23 +-
.../db/integration/IoTDBSequenceDataQueryIT.java | 142 +-
.../iotdb/db/integration/IoTDBSeriesReaderIT.java | 273 ++--
.../iotdb/db/integration/IoTDBSimpleQueryIT.java | 460 +++---
.../integration/IoTDBSortedShowTimeseriesIT.java | 366 ++---
.../iotdb/db/integration/IoTDBTagAlterIT.java | 501 ++++---
.../apache/iotdb/db/integration/IoTDBTagIT.java | 1029 +++++++------
.../iotdb/db/integration/IoTDBTimeZoneIT.java | 84 +-
.../iotdb/db/integration/IoTDBTracingTest.java | 19 +-
.../apache/iotdb/db/integration/IoTDBTtlIT.java | 74 +-
.../iotdb/db/integration/IoTDBUDFManagementIT.java | 885 +++++------
.../db/integration/IoTDBUDFWindowQueryIT.java | 1070 ++++++-------
.../integration/IoTDBUDTFAlignByTimeQueryIT.java | 1568 +++++++++++---------
.../db/integration/IoTDBUDTFBuiltinFunctionIT.java | 155 +-
.../db/integration/IoTDBUDTFHybridQueryIT.java | 343 +++--
.../db/integration/IoTDBUDTFNonAlignQueryIT.java | 705 ++++-----
.../iotdb/db/integration/IoTDBVersionIT.java | 33 +-
.../aggregation/IoTDBAggregationByLevelIT.java | 198 ++-
.../aggregation/IoTDBAggregationDeleteIT.java | 29 +-
.../aggregation/IoTDBAggregationIT.java | 775 ++++++----
.../aggregation/IoTDBAggregationLargeDataIT.java | 802 ++++++----
.../aggregation/IoTDBAggregationSmallDataIT.java | 604 ++++----
.../db/integration/auth/IoTDBAuthorizationIT.java | 313 ++--
.../iotdb/db/metadata/MManagerAdvancedTest.java | 162 +-
.../iotdb/db/metadata/MManagerBasicTest.java | 404 +++--
.../iotdb/db/metadata/MManagerImproveTest.java | 27 +-
.../org/apache/iotdb/db/metadata/MTreeTest.java | 437 ++++--
.../apache/iotdb/db/metadata/MetaUtilsTest.java | 32 +-
.../apache/iotdb/db/metadata/PartialPathTest.java | 14 +-
.../iotdb/db/monitor/IoTDBStatMonitorTest.java | 59 +-
.../iotdb/db/mqtt/BrokerAuthenticatorTest.java | 39 +-
.../iotdb/db/mqtt/JSONPayloadFormatTest.java | 66 +-
.../iotdb/db/mqtt/PayloadFormatManagerTest.java | 18 +-
.../apache/iotdb/db/mqtt/PublishHandlerTest.java | 55 +-
.../java/org/apache/iotdb/db/qp/PlannerTest.java | 152 +-
.../iotdb/db/qp/bench/QueryParseBenchmark.java | 3 +-
.../iotdb/db/qp/logical/IndexLogicalPlanTest.java | 75 +-
.../iotdb/db/qp/logical/LogicalPlanSmallTest.java | 130 +-
.../iotdb/db/qp/other/TSPlanContextAuthorTest.java | 60 +-
.../iotdb/db/qp/physical/ConcatOptimizerTest.java | 86 +-
.../physical/IndexSubMatchingPhysicalPlanTest.java | 56 +-
.../IndexWholeMatchingPhysicalPlanTest.java | 61 +-
.../db/qp/physical/InsertTabletMultiPlanTest.java | 22 +-
.../iotdb/db/qp/physical/InsertTabletPlanTest.java | 22 +-
.../db/qp/physical/PhysicalPlanSerializeTest.java | 237 ++-
.../iotdb/db/qp/physical/PhysicalPlanTest.java | 434 +++---
.../iotdb/db/qp/physical/SerializationTest.java | 69 +-
.../iotdb/db/qp/sql/IoTDBsqlVisitorTest.java | 28 +-
.../db/qp/utils/DatetimeQueryDataSetUtilsTest.java | 79 +-
.../db/query/aggregation/AggregateResultTest.java | 93 +-
.../query/aggregation/DescAggregateResultTest.java | 29 +-
.../db/query/control/FileReaderManagerTest.java | 99 +-
.../db/query/control/QueryResourceManagerTest.java | 58 +-
.../iotdb/db/query/control/TracingManagerTest.java | 50 +-
.../dataset/EngineDataSetWithValueFilterTest.java | 112 +-
.../iotdb/db/query/dataset/ListDataSetTest.java | 82 +-
.../db/query/dataset/ShowTimeSeriesResultTest.java | 29 +-
.../iotdb/db/query/dataset/SingleDataSetTest.java | 69 +-
.../query/dataset/UDTFAlignByTimeDataSetTest.java | 1270 ++++++++--------
.../dataset/groupby/GroupByEngineDataSetTest.java | 200 +--
.../dataset/groupby/GroupByFillDataSetTest.java | 102 +-
.../dataset/groupby/GroupByLevelDataSetTest.java | 39 +-
.../dataset/groupby/GroupByTimeDataSetTest.java | 154 +-
.../query/externalsort/ExternalSortEngineTest.java | 16 +-
.../db/query/externalsort/FakeChunkReaderWrap.java | 12 +-
...ExternalSortFileSerializerDeserializerTest.java | 57 +-
.../reader/series/SeriesAggregateReaderTest.java | 20 +-
.../reader/series/SeriesReaderByTimestampTest.java | 21 +-
.../db/query/reader/series/SeriesReaderTest.java | 69 +-
.../query/reader/series/SeriesReaderTestUtil.java | 135 +-
.../query/reader/universal/FakedSeriesReader.java | 17 +-
.../reader/universal/PriorityMergeReaderTest.java | 51 +-
.../reader/universal/PriorityMergeReaderTest2.java | 4 +-
.../ElasticSerializableRowRecordListTest.java | 456 +++---
.../ElasticSerializableTVListTest.java | 521 +++----
.../SerializableBinaryTVListTest.java | 167 ++-
.../SerializableBooleanTVListTest.java | 167 ++-
.../SerializableDoubleTVListTest.java | 165 +-
.../datastructure/SerializableFloatTVListTest.java | 163 +-
.../datastructure/SerializableIntTVListTest.java | 163 +-
.../udf/datastructure/SerializableListTest.java | 85 +-
.../datastructure/SerializableLongTVListTest.java | 163 +-
.../SerializableRowRecordListTest.java | 357 ++---
.../udf/datastructure/SerializableTVListTest.java | 76 +-
.../iotdb/db/query/udf/example/Accumulator.java | 189 +--
.../apache/iotdb/db/query/udf/example/Adder.java | 187 +--
.../apache/iotdb/db/query/udf/example/Counter.java | 163 +-
.../org/apache/iotdb/db/query/udf/example/Max.java | 8 +-
.../iotdb/db/query/udf/example/Multiplier.java | 131 +-
.../SlidingSizeWindowConstructorTester0.java | 117 +-
.../SlidingSizeWindowConstructorTester1.java | 133 +-
.../SlidingTimeWindowConstructionTester.java | 148 +-
.../db/query/udf/example/TerminateTester.java | 1 +
.../org/apache/iotdb/db/script/EnvScriptIT.java | 53 +-
.../db/sync/receiver/load/FileLoaderTest.java | 165 +-
.../recover/SyncReceiverLogAnalyzerTest.java | 90 +-
.../receiver/recover/SyncReceiverLoggerTest.java | 57 +-
.../db/sync/sender/manage/SyncFileManagerTest.java | 197 ++-
.../sender/recover/SyncSenderLogAnalyzerTest.java | 86 +-
.../sync/sender/recover/SyncSenderLoggerTest.java | 49 +-
.../db/sync/sender/transfer/SyncClientTest.java | 77 +-
.../apache/iotdb/db/tools/IoTDBWatermarkTest.java | 132 +-
.../org/apache/iotdb/db/tools/MLogParserTest.java | 48 +-
.../org/apache/iotdb/db/tools/WalCheckerTest.java | 54 +-
.../iotdb/db/utils/CopyOnReadLinkedListTest.java | 6 +-
.../iotdb/db/utils/EncodingInferenceUtilsTest.java | 21 +-
.../apache/iotdb/db/utils/EnvironmentUtils.java | 72 +-
.../apache/iotdb/db/utils/FilePathUtilsTest.java | 30 +-
.../iotdb/db/utils/MathQueryDataSetUtilsTest.java | 44 +-
.../org/apache/iotdb/db/utils/MemUtilsTest.java | 11 +-
.../apache/iotdb/db/utils/OpenFileNumUtilTest.java | 32 +-
.../java/org/apache/iotdb/db/utils/RandomNum.java | 11 +-
.../org/apache/iotdb/db/utils/SchemaUtilsTest.java | 23 +-
.../apache/iotdb/db/utils/SerializeUtilsTest.java | 52 +-
.../iotdb/db/utils/TypeInferenceUtilsTest.java | 63 +-
.../db/utils/datastructure/BinaryTVListTest.java | 16 +-
.../db/utils/datastructure/BooleanTVListTest.java | 14 +-
.../db/utils/datastructure/DoubleTVListTest.java | 16 +-
.../db/utils/datastructure/FloatTVListTest.java | 16 +-
.../db/utils/datastructure/IntTVListTest.java | 18 +-
.../db/utils/datastructure/LongTVListTest.java | 37 +-
.../db/utils/datastructure/PrecisionTest.java | 67 +-
.../db/utils/datastructure/TimeSelectorTest.java | 7 +-
.../iotdb/db/writelog/IoTDBLogFileSizeTest.java | 195 +--
.../apache/iotdb/db/writelog/PerformanceTest.java | 118 +-
.../iotdb/db/writelog/WriteLogNodeManagerTest.java | 149 +-
.../apache/iotdb/db/writelog/WriteLogNodeTest.java | 167 ++-
.../iotdb/db/writelog/io/LogWriterReaderTest.java | 43 +-
.../db/writelog/io/MultiFileLogReaderTest.java | 29 +-
.../db/writelog/recover/DeviceStringTest.java | 41 +-
.../iotdb/db/writelog/recover/LogReplayerTest.java | 158 +-
.../recover/RecoverResourceFromReaderTest.java | 193 ++-
.../db/writelog/recover/SeqTsFileRecoverTest.java | 166 ++-
.../writelog/recover/UnseqTsFileRecoverTest.java | 167 ++-
.../org/apache/iotdb/rpc/AutoResizingBuffer.java | 15 +-
.../iotdb/rpc/AutoScalingBufferReadTransport.java | 2 -
.../iotdb/rpc/AutoScalingBufferWriteTransport.java | 5 +-
.../apache/iotdb/rpc/BatchExecutionException.java | 4 +-
.../java/org/apache/iotdb/rpc/IoTDBRpcDataSet.java | 47 +-
.../org/apache/iotdb/rpc/NonOpenTransport.java | 8 +-
.../org/apache/iotdb/rpc/RedirectException.java | 7 +-
.../org/apache/iotdb/rpc/RpcTransportFactory.java | 8 +-
.../main/java/org/apache/iotdb/rpc/RpcUtils.java | 74 +-
.../org/apache/iotdb/rpc/SynchronizedHandler.java | 9 +-
.../rpc/TCompressedElasticFramedTransport.java | 23 +-
.../apache/iotdb/rpc/TElasticFramedTransport.java | 22 +-
.../java/org/apache/iotdb/rpc/TSStatusCode.java | 5 +-
.../iotdb/rpc/TSnappyElasticFramedTransport.java | 13 +-
.../rpc/TimeoutChangeableTFastFramedTransport.java | 6 +-
.../TimeoutChangeableTSnappyFramedTransport.java | 6 +-
.../iotdb/rpc/TimeoutChangeableTransport.java | 3 -
.../main/java/org/apache/iotdb/session/Config.java | 8 +-
.../java/org/apache/iotdb/session/Session.java | 574 ++++---
.../apache/iotdb/session/SessionConnection.java | 88 +-
.../org/apache/iotdb/session/SessionDataSet.java | 82 +-
.../iotdb/session/pool/SessionDataSetWrapper.java | 36 +-
.../org/apache/iotdb/session/pool/SessionPool.java | 381 +++--
.../iotdb/session/IoTDBSessionComplexIT.java | 182 ++-
.../iotdb/session/IoTDBSessionIteratorIT.java | 233 +--
.../apache/iotdb/session/IoTDBSessionSimpleIT.java | 262 +++-
.../apache/iotdb/session/SessionCacheLeaderUT.java | 191 ++-
.../java/org/apache/iotdb/session/SessionUT.java | 52 +-
.../apache/iotdb/session/pool/SessionPoolTest.java | 170 ++-
.../org/apache/iotdb/spark/db/SQLConstant.java | 6 +-
.../iotdb/spark/tsfile/io/TsFileOutputFormat.java | 9 +-
.../iotdb/spark/tsfile/io/TsFileRecordWriter.java | 22 +-
.../org/apache/iotdb/spark/tsfile/qp/Executor.java | 15 +-
.../iotdb/spark/tsfile/qp/QueryProcessor.java | 34 +-
.../spark/tsfile/qp/common/BasicOperator.java | 7 +-
.../spark/tsfile/qp/common/FilterOperator.java | 10 +-
.../iotdb/spark/tsfile/qp/common/Operator.java | 5 +-
.../iotdb/spark/tsfile/qp/common/SQLConstant.java | 7 +-
.../iotdb/spark/tsfile/qp/common/SingleQuery.java | 20 +-
.../iotdb/spark/tsfile/qp/common/TSQueryPlan.java | 5 +-
.../qp/exception/BasicOperatorException.java | 7 +-
.../tsfile/qp/exception/DNFOptimizeException.java | 7 +-
.../qp/exception/LogicalOptimizeException.java | 6 +-
.../tsfile/qp/exception/MergeFilterException.java | 2 -
.../qp/exception/QueryOperatorException.java | 1 -
.../qp/exception/QueryProcessorException.java | 6 +-
.../tsfile/qp/exception/RemoveNotException.java | 7 +-
.../tsfile/qp/optimizer/DNFFilterOptimizer.java | 29 +-
.../tsfile/qp/optimizer/IFilterOptimizer.java | 5 +-
.../qp/optimizer/MergeSingleFilterOptimizer.java | 7 +-
.../tsfile/qp/optimizer/PhysicalOptimizer.java | 51 +-
.../tsfile/qp/optimizer/RemoveNotOptimizer.java | 31 +-
.../apache/iotdb/tsfile/common/cache/Cache.java | 4 +-
.../apache/iotdb/tsfile/common/cache/LRUCache.java | 17 +-
.../iotdb/tsfile/common/conf/TSFileConfig.java | 895 ++++++-----
.../iotdb/tsfile/common/conf/TSFileDescriptor.java | 324 ++--
.../tsfile/common/constant/JsonFormatConstant.java | 90 +-
.../tsfile/common/constant/QueryConstant.java | 3 +-
.../tsfile/common/constant/TsFileConstant.java | 68 +-
.../apache/iotdb/tsfile/compress/ICompressor.java | 27 +-
.../iotdb/tsfile/compress/IUnCompressor.java | 41 +-
.../tsfile/encoding/bitpacking/IntPacker.java | 59 +-
.../tsfile/encoding/bitpacking/LongPacker.java | 61 +-
.../tsfile/encoding/decoder/BitmapDecoder.java | 69 +-
.../iotdb/tsfile/encoding/decoder/Decoder.java | 7 +-
.../encoding/decoder/DeltaBinaryDecoder.java | 35 +-
.../encoding/decoder/DoublePrecisionDecoderV1.java | 19 +-
.../encoding/decoder/DoublePrecisionDecoderV2.java | 104 +-
.../tsfile/encoding/decoder/FloatDecoder.java | 29 +-
.../tsfile/encoding/decoder/GorillaDecoderV1.java | 13 +-
.../tsfile/encoding/decoder/GorillaDecoderV2.java | 243 +--
.../tsfile/encoding/decoder/IntGorillaDecoder.java | 178 +--
.../tsfile/encoding/decoder/IntRleDecoder.java | 250 ++--
.../encoding/decoder/LongGorillaDecoder.java | 176 +--
.../tsfile/encoding/decoder/LongRleDecoder.java | 240 +--
.../tsfile/encoding/decoder/PlainDecoder.java | 8 +-
.../encoding/decoder/RegularDataDecoder.java | 36 +-
.../iotdb/tsfile/encoding/decoder/RleDecoder.java | 470 +++---
.../encoding/decoder/SinglePrecisionDecoderV1.java | 19 +-
.../encoding/decoder/SinglePrecisionDecoderV2.java | 104 +-
.../tsfile/encoding/encoder/BitmapEncoder.java | 46 +-
.../encoding/encoder/DeltaBinaryEncoder.java | 59 +-
.../encoding/encoder/DoublePrecisionEncoderV1.java | 21 +-
.../encoding/encoder/DoublePrecisionEncoderV2.java | 108 +-
.../iotdb/tsfile/encoding/encoder/Encoder.java | 19 +-
.../tsfile/encoding/encoder/FloatEncoder.java | 36 +-
.../tsfile/encoding/encoder/GorillaEncoderV1.java | 4 +-
.../tsfile/encoding/encoder/GorillaEncoderV2.java | 211 ++-
.../tsfile/encoding/encoder/IntGorillaEncoder.java | 310 ++--
.../tsfile/encoding/encoder/IntRleEncoder.java | 263 ++--
.../encoding/encoder/LongGorillaEncoder.java | 310 ++--
.../tsfile/encoding/encoder/LongRleEncoder.java | 249 ++--
.../tsfile/encoding/encoder/PlainEncoder.java | 41 +-
.../encoding/encoder/RegularDataEncoder.java | 49 +-
.../iotdb/tsfile/encoding/encoder/RleEncoder.java | 674 +++++----
.../iotdb/tsfile/encoding/encoder/SDTEncoder.java | 66 +-
.../encoding/encoder/SinglePrecisionEncoderV1.java | 24 +-
.../encoding/encoder/SinglePrecisionEncoderV2.java | 108 +-
.../tsfile/encoding/encoder/TSEncodingBuilder.java | 67 +-
.../iotdb/tsfile/exception/NullFieldException.java | 1 -
.../tsfile/exception/cache/CacheException.java | 3 +-
.../CompressionTypeNotSupportedException.java | 4 +-
.../exception/filter/StatisticsClassException.java | 1 -
.../filter/UnSupportFilterDataTypeException.java | 4 +-
.../exception/write/NoMeasurementException.java | 5 +-
.../tsfile/exception/write/PageException.java | 4 +-
.../write/TsFileNotCompleteException.java | 3 +-
.../exception/write/WriteProcessException.java | 4 +-
.../org/apache/iotdb/tsfile/file/MetaMarker.java | 27 +-
.../iotdb/tsfile/file/header/ChunkGroupHeader.java | 24 +-
.../iotdb/tsfile/file/header/ChunkHeader.java | 91 +-
.../iotdb/tsfile/file/header/PageHeader.java | 31 +-
.../tsfile/file/metadata/ChunkGroupMetadata.java | 4 +-
.../iotdb/tsfile/file/metadata/ChunkMetadata.java | 84 +-
.../file/metadata/MetadataIndexConstructor.java | 55 +-
.../tsfile/file/metadata/MetadataIndexEntry.java | 3 +-
.../tsfile/file/metadata/MetadataIndexNode.java | 23 +-
.../tsfile/file/metadata/TimeseriesMetadata.java | 33 +-
.../iotdb/tsfile/file/metadata/TsFileMetadata.java | 28 +-
.../file/metadata/enums/CompressionType.java | 37 +-
.../file/metadata/enums/MetadataIndexNodeType.java | 25 +-
.../tsfile/file/metadata/enums/TSDataType.java | 232 ++-
.../tsfile/file/metadata/enums/TSEncoding.java | 142 +-
.../file/metadata/statistics/BinaryStatistics.java | 21 +-
.../metadata/statistics/BooleanStatistics.java | 29 +-
.../file/metadata/statistics/DoubleStatistics.java | 58 +-
.../file/metadata/statistics/FloatStatistics.java | 55 +-
.../metadata/statistics/IntegerStatistics.java | 56 +-
.../file/metadata/statistics/LongStatistics.java | 54 +-
.../file/metadata/statistics/Statistics.java | 29 +-
.../org/apache/iotdb/tsfile/fileSystem/FSType.java | 3 +-
.../fileInputFactory/FileInputFactory.java | 1 -
.../fileInputFactory/HDFSInputFactory.java | 6 +-
.../fileInputFactory/LocalFSInputFactory.java | 8 +-
.../fileOutputFactory/FileOutputFactory.java | 1 -
.../fileOutputFactory/HDFSOutputFactory.java | 9 +-
.../fileOutputFactory/LocalFSOutputFactory.java | 10 +-
.../tsfile/fileSystem/fsFactory/FSFactory.java | 14 +-
.../tsfile/fileSystem/fsFactory/HDFSFactory.java | 84 +-
.../fileSystem/fsFactory/LocalFSFactory.java | 17 +-
.../apache/iotdb/tsfile/read/ReadOnlyTsFile.java | 14 +-
.../apache/iotdb/tsfile/read/TimeValuePair.java | 4 +-
.../iotdb/tsfile/read/TsFileCheckStatus.java | 1 -
.../iotdb/tsfile/read/TsFileRestorableReader.java | 12 +-
.../iotdb/tsfile/read/TsFileSequenceReader.java | 418 +++---
.../iotdb/tsfile/read/UnClosedTsFileReader.java | 16 +-
.../apache/iotdb/tsfile/read/common/BatchData.java | 23 +-
.../iotdb/tsfile/read/common/BatchDataFactory.java | 4 +-
.../org/apache/iotdb/tsfile/read/common/Chunk.java | 39 +-
.../tsfile/read/common/DescReadBatchData.java | 12 +-
.../tsfile/read/common/DescReadWriteBatchData.java | 45 +-
.../org/apache/iotdb/tsfile/read/common/Field.java | 5 +-
.../org/apache/iotdb/tsfile/read/common/Path.java | 29 +-
.../apache/iotdb/tsfile/read/common/RowRecord.java | 3 +-
.../iotdb/tsfile/read/common/SignalBatchData.java | 6 +-
.../apache/iotdb/tsfile/read/common/TimeRange.java | 55 +-
.../read/controller/CachedChunkLoaderImpl.java | 25 +-
.../iotdb/tsfile/read/controller/IChunkLoader.java | 8 +-
.../read/controller/IChunkMetadataLoader.java | 8 +-
.../tsfile/read/controller/IMetadataQuerier.java | 19 +-
.../read/controller/MetadataQuerierByFileImpl.java | 86 +-
.../tsfile/read/expression/ExpressionType.java | 24 +-
.../tsfile/read/expression/IBinaryExpression.java | 1 -
.../tsfile/read/expression/QueryExpression.java | 18 +-
.../read/expression/impl/BinaryExpression.java | 4 +-
.../read/expression/impl/GlobalTimeExpression.java | 6 +-
.../expression/impl/SingleSeriesExpression.java | 4 +-
.../read/expression/util/ExpressionOptimizer.java | 79 +-
.../iotdb/tsfile/read/filter/GroupByFilter.java | 32 +-
.../iotdb/tsfile/read/filter/TimeFilter.java | 9 +-
.../iotdb/tsfile/read/filter/ValueFilter.java | 8 +-
.../tsfile/read/filter/basic/BinaryFilter.java | 13 +-
.../iotdb/tsfile/read/filter/basic/Filter.java | 25 +-
.../tsfile/read/filter/basic/UnaryFilter.java | 11 +-
.../tsfile/read/filter/factory/FilterFactory.java | 4 +-
.../read/filter/factory/FilterSerializeId.java | 12 +-
.../tsfile/read/filter/factory/FilterType.java | 5 +-
.../tsfile/read/filter/operator/AndFilter.java | 15 +-
.../iotdb/tsfile/read/filter/operator/Eq.java | 7 +-
.../iotdb/tsfile/read/filter/operator/Gt.java | 3 +-
.../iotdb/tsfile/read/filter/operator/GtEq.java | 4 +-
.../iotdb/tsfile/read/filter/operator/In.java | 14 +-
.../iotdb/tsfile/read/filter/operator/Lt.java | 3 +-
.../iotdb/tsfile/read/filter/operator/LtEq.java | 4 +-
.../iotdb/tsfile/read/filter/operator/NotEq.java | 6 +-
.../tsfile/read/filter/operator/NotFilter.java | 16 +-
.../tsfile/read/filter/operator/OrFilter.java | 18 +-
.../query/dataset/DataSetWithTimeGenerator.java | 12 +-
.../query/dataset/DataSetWithoutTimeGenerator.java | 35 +-
.../tsfile/read/query/dataset/EmptyDataSet.java | 3 +-
.../tsfile/read/query/dataset/QueryDataSet.java | 15 +-
.../query/executor/ExecutorWithTimeGenerator.java | 16 +-
.../tsfile/read/query/executor/QueryExecutor.java | 3 +-
.../tsfile/read/query/executor/TsFileExecutor.java | 56 +-
.../read/query/timegenerator/TimeGenerator.java | 5 +-
.../query/timegenerator/TsFileTimeGenerator.java | 14 +-
.../read/query/timegenerator/node/AndNode.java | 2 +-
.../read/query/timegenerator/node/LeafNode.java | 8 +-
.../read/query/timegenerator/node/NodeType.java | 8 +-
.../read/query/timegenerator/node/OrNode.java | 8 +-
.../tsfile/read/reader/BatchDataIterator.java | 3 +-
.../iotdb/tsfile/read/reader/IBatchReader.java | 3 +-
.../iotdb/tsfile/read/reader/IPageReader.java | 3 +-
.../iotdb/tsfile/read/reader/LocalTsFileInput.java | 8 +-
.../iotdb/tsfile/read/reader/TsFileInput.java | 95 +-
.../tsfile/read/reader/chunk/ChunkReader.java | 96 +-
.../read/reader/chunk/ChunkReaderByTimestamp.java | 1 -
.../iotdb/tsfile/read/reader/page/PageReader.java | 45 +-
.../reader/series/AbstractFileSeriesReader.java | 17 +-
.../read/reader/series/EmptyFileSeriesReader.java | 6 +-
.../read/reader/series/FileSeriesReader.java | 14 +-
.../reader/series/FileSeriesReaderByTimestamp.java | 19 +-
.../java/org/apache/iotdb/tsfile/utils/Binary.java | 8 +-
.../org/apache/iotdb/tsfile/utils/BloomFilter.java | 12 +-
.../org/apache/iotdb/tsfile/utils/BytesUtils.java | 80 +-
.../java/org/apache/iotdb/tsfile/utils/Loader.java | 11 +-
.../apache/iotdb/tsfile/utils/Murmur128Hash.java | 31 +-
.../java/org/apache/iotdb/tsfile/utils/Pair.java | 4 +-
.../org/apache/iotdb/tsfile/utils/PublicBAOS.java | 40 +-
.../iotdb/tsfile/utils/RamUsageEstimator.java | 337 ++---
.../tsfile/utils/ReadWriteForEncodingUtils.java | 65 +-
.../iotdb/tsfile/utils/ReadWriteIOUtils.java | 233 +--
.../apache/iotdb/tsfile/utils/StringContainer.java | 66 +-
.../apache/iotdb/tsfile/utils/TsPrimitiveType.java | 12 +-
.../tsfile/v2/file/footer/ChunkGroupFooterV2.java | 11 +-
.../iotdb/tsfile/v2/file/header/ChunkHeaderV2.java | 31 +-
.../iotdb/tsfile/v2/file/header/PageHeaderV2.java | 12 +-
.../tsfile/v2/file/metadata/ChunkMetadataV2.java | 9 +-
.../v2/file/metadata/MetadataIndexEntryV2.java | 7 +-
.../v2/file/metadata/MetadataIndexNodeV2.java | 16 +-
.../v2/file/metadata/TimeseriesMetadataV2.java | 13 +-
.../tsfile/v2/file/metadata/TsFileMetadataV2.java | 16 +-
.../v2/file/metadata/statistics/StatisticsV2.java | 18 +-
.../tsfile/v2/read/TsFileSequenceReaderForV2.java | 232 +--
.../tsfile/v2/read/reader/page/PageReaderV2.java | 33 +-
.../apache/iotdb/tsfile/write/TsFileWriter.java | 57 +-
.../tsfile/write/chunk/ChunkGroupWriterImpl.java | 54 +-
.../iotdb/tsfile/write/chunk/ChunkWriterImpl.java | 135 +-
.../tsfile/write/chunk/IChunkGroupWriter.java | 54 +-
.../iotdb/tsfile/write/chunk/IChunkWriter.java | 80 +-
.../apache/iotdb/tsfile/write/page/PageWriter.java | 111 +-
.../apache/iotdb/tsfile/write/record/TSRecord.java | 30 +-
.../apache/iotdb/tsfile/write/record/Tablet.java | 139 +-
.../write/record/datapoint/BooleanDataPoint.java | 16 +-
.../tsfile/write/record/datapoint/DataPoint.java | 17 +-
.../write/record/datapoint/DoubleDataPoint.java | 16 +-
.../write/record/datapoint/FloatDataPoint.java | 15 +-
.../write/record/datapoint/IntDataPoint.java | 15 +-
.../write/record/datapoint/LongDataPoint.java | 17 +-
.../write/record/datapoint/StringDataPoint.java | 17 +-
.../tsfile/write/schema/MeasurementSchema.java | 115 +-
.../apache/iotdb/tsfile/write/schema/Schema.java | 13 +-
.../tsfile/write/schema/TimeseriesSchema.java | 92 +-
.../write/writer/ForceAppendTsFileWriter.java | 15 +-
.../iotdb/tsfile/write/writer/IDataWriter.java | 4 +-
.../tsfile/write/writer/LocalTsFileOutput.java | 6 +-
.../write/writer/RestorableTsFileIOWriter.java | 71 +-
.../iotdb/tsfile/write/writer/TsFileIOWriter.java | 137 +-
.../iotdb/tsfile/write/writer/TsFileOutput.java | 18 +-
.../apache/iotdb/tsfile/common/LRUCacheTest.java | 18 +-
.../apache/iotdb/tsfile/compress/CompressTest.java | 24 +-
.../org/apache/iotdb/tsfile/compress/GZIPTest.java | 17 +-
.../org/apache/iotdb/tsfile/compress/LZ4Test.java | 15 +-
.../apache/iotdb/tsfile/compress/SnappyTest.java | 25 +-
.../apache/iotdb/tsfile/constant/TestConstant.java | 1 -
.../iotdb/tsfile/encoding/SDTEncoderTest.java | 25 +-
.../tsfile/encoding/bitpacking/IntPackerTest.java | 9 +-
.../tsfile/encoding/bitpacking/LongPackerTest.java | 11 +-
.../tsfile/encoding/decoder/BitmapDecoderTest.java | 19 +-
.../tsfile/encoding/decoder/FloatDecoderTest.java | 40 +-
.../encoding/decoder/GorillaDecoderV1Test.java | 25 +-
.../encoding/decoder/GorillaDecoderV2Test.java | 1186 +++++++--------
.../tsfile/encoding/decoder/IntRleDecoderTest.java | 436 +++---
.../encoding/decoder/LongRleDecoderTest.java | 442 +++---
.../delta/DeltaBinaryEncoderIntegerTest.java | 21 +-
.../decoder/delta/DeltaBinaryEncoderLongTest.java | 28 +-
.../regular/RegularDataEncoderIntegerTest.java | 12 +-
.../regular/RegularDataEncoderLongTest.java | 70 +-
.../iotdb/tsfile/file/header/PageHeaderTest.java | 23 +-
.../file/metadata/MetadataIndexNodeTest.java | 10 +-
.../file/metadata/TimeSeriesMetadataTest.java | 19 +-
.../tsfile/file/metadata/TsFileMetadataTest.java | 17 +-
.../metadata/statistics/DoubleStatisticsTest.java | 6 +-
.../metadata/statistics/FloatStatisticsTest.java | 6 +-
.../metadata/statistics/IntegerStatisticsTest.java | 4 +-
.../metadata/statistics/LongStatisticsTest.java | 8 +-
.../metadata/statistics/StringStatisticsTest.java | 2 +-
.../tsfile/file/metadata/utils/TestHelper.java | 7 +-
.../iotdb/tsfile/file/metadata/utils/Utils.java | 40 +-
.../apache/iotdb/tsfile/read/ExpressionTest.java | 5 +-
.../iotdb/tsfile/read/GetAllDevicesTest.java | 17 +-
.../iotdb/tsfile/read/ReadInPartitionTest.java | 92 +-
.../iotdb/tsfile/read/ReadOnlyTsFileTest.java | 50 +-
.../org/apache/iotdb/tsfile/read/ReadTest.java | 91 +-
.../iotdb/tsfile/read/TimePlainEncodeReadTest.java | 106 +-
.../tsfile/read/TimeSeriesMetadataReadTest.java | 14 +-
.../tsfile/read/TsFileRestorableReaderTest.java | 20 +-
.../tsfile/read/TsFileSequenceReaderTest.java | 31 +-
.../iotdb/tsfile/read/common/BatchDataTest.java | 6 +-
.../apache/iotdb/tsfile/read/common/FieldTest.java | 2 +-
.../apache/iotdb/tsfile/read/common/PathTest.java | 2 +-
.../iotdb/tsfile/read/common/TimeRangeTest.java | 13 +-
.../tsfile/read/controller/ChunkLoaderTest.java | 19 +-
.../controller/IMetadataQuerierByFileImplTest.java | 60 +-
.../tsfile/read/filter/FilterSerializeTest.java | 65 +-
.../tsfile/read/filter/GroupByFilterTest.java | 12 +-
.../read/filter/IExpressionOptimizerTest.java | 129 +-
.../read/filter/MinTimeMaxTimeFilterTest.java | 5 +-
.../iotdb/tsfile/read/filter/OperatorTest.java | 17 +-
.../tsfile/read/filter/StatisticsFilterTest.java | 10 +-
.../read/query/executor/QueryExecutorTest.java | 46 +-
.../tsfile/read/query/timegenerator/NodeTest.java | 43 +-
.../read/query/timegenerator/ReadWriteTest.java | 37 +-
.../query/timegenerator/ReaderByTimestampTest.java | 31 +-
.../timegenerator/TimeGeneratorReadEmptyTest.java | 31 +-
.../timegenerator/TimeGeneratorReadWriteTest.java | 38 +-
.../query/timegenerator/TimeGeneratorTest.java | 24 +-
.../TsFileGeneratorForSeriesReaderByTimestamp.java | 109 +-
.../iotdb/tsfile/read/reader/FakedBatchReader.java | 8 +-
.../tsfile/read/reader/FakedMultiBatchReader.java | 7 +-
.../tsfile/read/reader/FakedTimeGenerator.java | 22 +-
.../iotdb/tsfile/read/reader/PageReaderTest.java | 196 ++-
.../iotdb/tsfile/read/reader/ReaderTest.java | 31 +-
.../apache/iotdb/tsfile/utils/BloomFilterTest.java | 9 +-
.../apache/iotdb/tsfile/utils/BytesUtilsTest.java | 12 +-
.../apache/iotdb/tsfile/utils/FileGenerator.java | 112 +-
.../org/apache/iotdb/tsfile/utils/FileUtils.java | 24 +-
.../apache/iotdb/tsfile/utils/FileUtilsTest.java | 11 +-
.../org/apache/iotdb/tsfile/utils/PairTest.java | 11 +-
.../utils/ReadWriteForEncodingUtilsTest.java | 7 +-
.../iotdb/tsfile/utils/ReadWriteIOUtilsTest.java | 16 +-
.../tsfile/utils/ReadWriteStreamUtilsTest.java | 49 +-
.../tsfile/utils/ReadWriteToBytesUtilsTest.java | 13 +-
.../org/apache/iotdb/tsfile/utils/RecordUtils.java | 13 +-
.../apache/iotdb/tsfile/utils/RecordUtilsTest.java | 39 +-
.../iotdb/tsfile/utils/StringContainerTest.java | 10 +-
.../iotdb/tsfile/utils/TsFileGeneratorForTest.java | 111 +-
.../iotdb/tsfile/utils/TsPrimitiveTypeTest.java | 2 +-
.../tsfile/write/DefaultDeviceTemplateTest.java | 21 +-
.../org/apache/iotdb/tsfile/write/PerfTest.java | 101 +-
.../iotdb/tsfile/write/ReadPageInMemTest.java | 49 +-
...SameMeasurementsWithDifferentDataTypesTest.java | 36 +-
.../iotdb/tsfile/write/TsFileIOWriterTest.java | 15 +-
.../iotdb/tsfile/write/TsFileReadWriteTest.java | 85 +-
.../iotdb/tsfile/write/TsFileWriterTest.java | 113 +-
.../org/apache/iotdb/tsfile/write/WriteTest.java | 99 +-
.../write/schema/converter/SchemaBuilderTest.java | 83 +-
.../write/writer/ForceAppendTsFileWriterTest.java | 54 +-
.../writer/MeasurementSchemaSerializeTest.java | 112 +-
.../iotdb/tsfile/write/writer/PageWriterTest.java | 14 +-
.../write/writer/RestorableTsFileIOWriterTest.java | 288 ++--
.../apache/zeppelin/iotdb/IoTDBInterpreter.java | 115 +-
.../zeppelin/iotdb/IoTDBInterpreterTest.java | 268 ++--
1603 files changed, 72616 insertions(+), 60268 deletions(-)
diff --cc cluster/src/main/java/org/apache/iotdb/cluster/ClientMain.java
index ad4c00c,cabdd8c..6e56fdb
--- a/cluster/src/main/java/org/apache/iotdb/cluster/ClientMain.java
+++ b/cluster/src/main/java/org/apache/iotdb/cluster/ClientMain.java
@@@ -207,7 -203,7 +203,7 @@@ public class ClientMain
queryPorts = parseIntArray(commandLine.getOptionValue(PARAM_QUERY_PORTS));
}
if (queryPorts == null) {
- queryPorts = new int[]{port, port + 1, port + 2};
- queryPorts = new int[] {55560, 55561, 55562};
++ queryPorts = new int[] {port, port + 2, port + 4};
}
for (int queryPort : queryPorts) {
System.out.println("Test port: " + queryPort);
diff --cc cluster/src/main/java/org/apache/iotdb/cluster/ClusterMain.java
index 5fc806c,bd46ae5..d0fa7cc
--- a/cluster/src/main/java/org/apache/iotdb/cluster/ClusterMain.java
+++ b/cluster/src/main/java/org/apache/iotdb/cluster/ClusterMain.java
@@@ -55,6 -43,12 +45,10 @@@ import org.apache.thrift.transport.TTra
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+ import java.io.IOException;
-import java.util.Arrays;
+ import java.util.HashSet;
-import java.util.List;
+ import java.util.Set;
+
public class ClusterMain {
private static final Logger logger = LoggerFactory.getLogger(ClusterMain.class);
@@@ -71,37 -66,30 +65,36 @@@
public static void main(String[] args) {
if (args.length < 1) {
- logger.error("Usage: <-s|-a|-r> "
+ logger.error(
- "Usage: <-s|-a|-r> [-internal_meta_port <internal meta port>] "
- + "[-internal_data_port <internal data port>] "
- + "[-cluster_rpc_port <cluster rpc port>] "
- + "[-seed_nodes <node1:meta_port:data_port:cluster_rpc_port,"
- + "node2:meta_port:data_port:cluster_rpc_port,"
- + "...,noden:meta_port:data_port:cluster_rpc_port>] "
- + "[-sc] "
- + "[-rpc_port <rpc port>]");
++ "Usage: <-s|-a|-r> "
+ + "[-D{} <cluster module configure file>] "
+ + "[-D{} <server module configure file>] "
+ + "-s: start the node as a seed\n"
+ + "-a: start the node as a new node\n"
+ + "-r: remove the node out of the cluster\n",
+ ClusterConstant.CLUSTER_CONF,
- IoTDBConstant.IOTDB_CONF
- );
++ IoTDBConstant.IOTDB_CONF);
+
return;
}
- String mode = args[0];
- if (args.length > 1) {
- String[] params = Arrays.copyOfRange(args, 1, args.length);
- replaceDefaultPrams(params);
- }
+
+ // init server's configuration first, because the cluster configuration may read settings from
+ // the server's configuration.
+ IoTDBDescriptor.getInstance().getConfig().setEnableRPCService(false);
+ IoTDBDescriptor.getInstance().getConfig().setSyncEnable(false);
- //auto create schema is took over by cluster module, so we disable it in the server module.
++ // auto create schema is took over by cluster module, so we disable it in the server module.
+ IoTDBDescriptor.getInstance().getConfig().setAutoCreateSchemaEnabled(false);
// params check
- if (!checkConfig()) {
+ try {
+ ClusterDescriptor.getInstance().replaceHostnameWithIp();
+ } catch (Exception e) {
+ logger.error("replace hostname with ip failed, {}", e.getMessage());
- return ;
+ return;
}
- IoTDBDescriptor.getInstance().getConfig().setSyncEnable(false);
- IoTDBDescriptor.getInstance().getConfig().setAutoCreateSchemaEnabled(false);
+ String mode = args[0];
+
-
logger.info("Running mode {}", mode);
if (MODE_START.equals(mode)) {
try {
@@@ -179,19 -178,78 +183,20 @@@
// assert this node is in seed nodes list
Node localNode = new Node();
- localNode.setIp(IoTDBDescriptor.getInstance().getConfig().getRpcAddress()).setMetaPort(config.getInternalMetaPort())
- .setDataPort(config.getInternalDataPort()).setClientPort(config.getClusterRpcPort());
+ localNode
- .setIp(config.getClusterRpcIp())
++ .setIp(IoTDBDescriptor.getInstance().getConfig().getRpcAddress())
+ .setMetaPort(config.getInternalMetaPort())
+ .setDataPort(config.getInternalDataPort())
+ .setClientPort(config.getClusterRpcPort());
if (!seedNodes.contains(localNode)) {
- String message = String.format(
- "SeedNodes must contains local node in start-server mode. LocalNode: %s ,SeedNodes: %s",
- localNode.toString(), config.getSeedNodeUrls());
+ String message =
+ String.format(
+ "SeedNodes must contains local node in start-server mode. LocalNode: %s ,SeedNodes: %s",
+ localNode.toString(), config.getSeedNodeUrls());
throw new StartupException(metaServer.getMember().getName(), message);
}
}
- private static void replaceDefaultPrams(String[] args) {
- int index;
- String[] clusterParams;
- String[] serverParams = null;
- for (index = 0; index < args.length; index++) {
- // find where -sc is
- if (SERVER_CONF_SEPARATOR.equals(args[index])) {
- break;
- }
- }
- // parameters from 0 to "-sc" are for clusters
- clusterParams = Arrays.copyOfRange(args, 0, index);
-
- if (index < args.length) {
- serverParams = Arrays.copyOfRange(args, index + 1, args.length);
- }
-
- if (clusterParams.length > 0) {
- // replace the cluster default conf params
- ClusterDescriptor.getInstance().replaceProps(clusterParams);
- }
-
- if (serverParams != null && serverParams.length > 0) {
- // replace the server default conf params
- IoTDBDescriptor.getInstance().replaceProps(serverParams);
- }
- }
--
- /** check the configuration is legal or not */
- private static boolean checkConfig() {
- // 0. first replace all hostname with ip
- try {
- ClusterDescriptor.getInstance().replaceHostnameWithIp();
- } catch (Exception e) {
- logger.error("replace hostname with ip failed, {}", e.getMessage());
- return false;
- }
--
- // 1. check the cluster_rpc_ip and seed_nodes consistent or not
- // when clusterRpcIp is 127.0.0.1, the entire cluster must be start locally
- ClusterConfig config = ClusterDescriptor.getInstance().getConfig();
- String localhostIp = "127.0.0.1";
- String configClusterRpcIp = config.getClusterRpcIp();
- List<String> seedNodes = config.getSeedNodeUrls();
- boolean isLocalCluster = localhostIp.equals(configClusterRpcIp);
- for (String seedNodeIP : seedNodes) {
- if ((isLocalCluster && !seedNodeIP.contains(localhostIp))
- || (!isLocalCluster && seedNodeIP.contains(localhostIp))) {
- logger.error(
- "cluster_rpc_ip={} and seed_nodes={} should be consistent, both use local ip or real ip please",
- configClusterRpcIp,
- seedNodes);
- return false;
- }
- }
- return true;
- }
--
private static void doRemoveNode(String[] args) throws IOException {
if (args.length != 3) {
logger.error("Usage: -r <ip> <metaPort>");
diff --cc cluster/src/main/java/org/apache/iotdb/cluster/config/ClusterConfig.java
index c89c55b,efbe4cf..38175a5
--- a/cluster/src/main/java/org/apache/iotdb/cluster/config/ClusterConfig.java
+++ b/cluster/src/main/java/org/apache/iotdb/cluster/config/ClusterConfig.java
@@@ -28,29 -28,24 +28,24 @@@ public class ClusterConfig
static final String CONFIG_NAME = "iotdb-cluster.properties";
- private String clusterRpcIp = "127.0.0.1";
+ private String internalIp = "127.0.0.1";
private int internalMetaPort = 9003;
private int internalDataPort = 40010;
- private int clusterRpcPort = 55560;
+ private int clusterRpcPort = 6667;
- /**
- * each one is a "<IP | domain name>:<meta port>:<data port>:<client port></>" string tuple
- */
- private List<String> seedNodeUrls = Arrays
- .asList(String.format("127.0.0.1:%d:%d:%d", internalMetaPort, internalDataPort, clusterRpcPort));
+ /** each one is a "<IP | domain name>:<meta port>:<data port>:<client port></>" string tuple */
+ private List<String> seedNodeUrls =
+ Arrays.asList(
- "127.0.0.1:9003:40010:55560", "127.0.0.1:9005:40012:55561", "127.0.0.1:9007:40014:55562");
++ String.format("127.0.0.1:%d:%d:%d", internalMetaPort, internalDataPort, clusterRpcPort));
- @ClusterConsistent
- private boolean isRpcThriftCompressionEnabled = false;
+ @ClusterConsistent private boolean isRpcThriftCompressionEnabled = false;
private int maxConcurrentClientNum = 10000;
- @ClusterConsistent
- private int replicationNum = 2;
+ @ClusterConsistent private int replicationNum = 2;
- @ClusterConsistent
- private String clusterName = "default";
+ @ClusterConsistent private String clusterName = "default";
- @ClusterConsistent
- private boolean useAsyncServer = true;
+ @ClusterConsistent private boolean useAsyncServer = true;
private boolean useAsyncApplier = true;
@@@ -186,7 -170,15 +170,7 @@@
public void setUseBatchInLogCatchUp(boolean useBatchInLogCatchUp) {
this.useBatchInLogCatchUp = useBatchInLogCatchUp;
}
-
+
- public String getClusterRpcIp() {
- return clusterRpcIp;
- }
-
- void setClusterRpcIp(String clusterRpcIp) {
- this.clusterRpcIp = clusterRpcIp;
- }
-
public int getInternalMetaPort() {
return internalMetaPort;
}
diff --cc cluster/src/main/java/org/apache/iotdb/cluster/config/ClusterDescriptor.java
index 927a5d2,f301f1f..35f0f42
--- a/cluster/src/main/java/org/apache/iotdb/cluster/config/ClusterDescriptor.java
+++ b/cluster/src/main/java/org/apache/iotdb/cluster/config/ClusterDescriptor.java
@@@ -19,7 -19,20 +19,15 @@@
package org.apache.iotdb.cluster.config;
+ import org.apache.iotdb.cluster.exception.BadSeedUrlFormatException;
+ import org.apache.iotdb.db.conf.IoTDBConstant;
++import org.apache.iotdb.db.conf.IoTDBDescriptor;
+ import org.apache.iotdb.db.exception.query.QueryProcessException;
+
import com.google.common.net.InetAddresses;
-import org.apache.commons.cli.CommandLine;
-import org.apache.commons.cli.CommandLineParser;
-import org.apache.commons.cli.DefaultParser;
-import org.apache.commons.cli.Option;
-import org.apache.commons.cli.Options;
-import org.apache.commons.cli.ParseException;
+ import org.slf4j.Logger;
+ import org.slf4j.LoggerFactory;
+
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
@@@ -102,15 -175,24 +104,14 @@@ public class ClusterDescriptor
}
}
config.setSeedNodeUrls(newSeedUrls);
- logger.debug("after replace, the rpcIP={}, internalIP={} seedUrls={}",
+ logger.debug(
- "after replace, the clusterRpcIP={}, seedUrls={}",
- config.getClusterRpcIp(),
++ "after replace, the rpcIP={}, internalIP={} seedUrls={}",
+ IoTDBDescriptor.getInstance().getConfig().getRpcAddress(),
+ config.getInternalIp(),
config.getSeedNodeUrls());
}
- /**
- * load an property file and set TsfileDBConfig variables.
- */
- private static boolean parseCommandLine(Options options, String[] params) {
- try {
- CommandLineParser parser = new DefaultParser();
- commandLine = parser.parse(options, params);
- } catch (ParseException e) {
- logger.error("parse conf params failed", e);
- return false;
- }
- return true;
- }
-
+ /** load an property file and set TsfileDBConfig variables. */
private void loadProps() {
String url = getPropsUrl();
@@@ -123,22 -205,32 +124,31 @@@
logger.warn("Fail to find config file {}", url, e);
}
}
- config.setClusterRpcIp(properties.getProperty("cluster_rpc_ip", config.getClusterRpcIp()));
+ config.setInternalIp(properties.getProperty("internal_ip", config.getInternalIp()));
- config.setInternalMetaPort(Integer.parseInt(properties.getProperty("internal_meta_port",
- String.valueOf(config.getInternalMetaPort()))));
+ config.setInternalMetaPort(
+ Integer.parseInt(
+ properties.getProperty(
- OPTION_INTERVAL_META_PORT, String.valueOf(config.getInternalMetaPort()))));
++ "internal_meta_port", String.valueOf(config.getInternalMetaPort()))));
- config.setInternalDataPort(Integer.parseInt(properties.getProperty("internal_data_port",
- Integer.toString(config.getInternalDataPort()))));
+ config.setInternalDataPort(
+ Integer.parseInt(
+ properties.getProperty(
- OPTION_INTERVAL_DATA_PORT, Integer.toString(config.getInternalDataPort()))));
++ "internal_data_port", Integer.toString(config.getInternalDataPort()))));
- config.setClusterRpcPort(Integer.parseInt(properties.getProperty("rpc_port",
- Integer.toString(config.getClusterRpcPort()))));
+ config.setClusterRpcPort(
+ Integer.parseInt(
- properties.getProperty(
- OPTION_CLUSTER_RPC_PORT, Integer.toString(config.getClusterRpcPort()))));
++ properties.getProperty("rpc_port", Integer.toString(config.getClusterRpcPort()))));
- config.setMaxConcurrentClientNum(Integer.parseInt(properties.getProperty(
- "max_concurrent_client_num", String.valueOf(config.getMaxConcurrentClientNum()))));
+ config.setMaxConcurrentClientNum(
+ Integer.parseInt(
+ properties.getProperty(
+ "max_concurrent_client_num", String.valueOf(config.getMaxConcurrentClientNum()))));
- config.setReplicationNum(Integer.parseInt(properties.getProperty(
- "default_replica_num", String.valueOf(config.getReplicationNum()))));
+ config.setReplicationNum(
+ Integer.parseInt(
+ properties.getProperty(
+ "default_replica_num", String.valueOf(config.getReplicationNum()))));
config.setClusterName(properties.getProperty("cluster_name", config.getClusterName()));
diff --cc cluster/src/main/java/org/apache/iotdb/cluster/server/ClientServer.java
index 8b66630,df5b30e..ae662bc
--- a/cluster/src/main/java/org/apache/iotdb/cluster/server/ClientServer.java
+++ b/cluster/src/main/java/org/apache/iotdb/cluster/server/ClientServer.java
@@@ -145,25 -143,32 +143,34 @@@ public class ClientServer extends TSSer
} else {
protocolFactory = new TBinaryProtocol.Factory();
}
- serverTransport = new TServerSocket(new InetSocketAddress(IoTDBDescriptor.getInstance().getConfig().getRpcAddress(),
- config.getClusterRpcPort()));
+ serverTransport =
+ new TServerSocket(
- new InetSocketAddress(config.getClusterRpcIp(), config.getClusterRpcPort()));
++ new InetSocketAddress(
++ IoTDBDescriptor.getInstance().getConfig().getRpcAddress(),
++ config.getClusterRpcPort()));
// async service also requires nonblocking server, and HsHaServer is basically more efficient a
// nonblocking server
- int maxConcurrentClientNum = Math.max(CommonUtils.getCpuCores(),
- config.getMaxConcurrentClientNum());
+ int maxConcurrentClientNum =
+ Math.max(CommonUtils.getCpuCores(), config.getMaxConcurrentClientNum());
TThreadPoolServer.Args poolArgs =
- new TThreadPoolServer.Args(serverTransport).maxWorkerThreads(maxConcurrentClientNum)
+ new TThreadPoolServer.Args(serverTransport)
+ .maxWorkerThreads(maxConcurrentClientNum)
.minWorkerThreads(CommonUtils.getCpuCores());
- poolArgs.executorService(new ThreadPoolExecutor(poolArgs.minWorkerThreads,
- poolArgs.maxWorkerThreads, poolArgs.stopTimeoutVal, poolArgs.stopTimeoutUnit,
- new SynchronousQueue<>(), new ThreadFactory() {
- private AtomicLong threadIndex = new AtomicLong(0);
+ poolArgs.executorService(
+ new ThreadPoolExecutor(
+ poolArgs.minWorkerThreads,
+ poolArgs.maxWorkerThreads,
+ poolArgs.stopTimeoutVal,
+ poolArgs.stopTimeoutUnit,
+ new SynchronousQueue<>(),
+ new ThreadFactory() {
+ private AtomicLong threadIndex = new AtomicLong(0);
- @Override
- public Thread newThread(Runnable r) {
- return new Thread(r, "ClusterClient" + threadIndex.incrementAndGet());
- }
- }));
+ @Override
+ public Thread newThread(Runnable r) {
+ return new Thread(r, "ClusterClient" + threadIndex.incrementAndGet());
+ }
+ }));
// ClientServer will do the following processing when the HsHaServer has parsed a request
poolArgs.processor(new Processor<>(this));
poolArgs.protocolFactory(protocolFactory);
diff --cc cluster/src/main/java/org/apache/iotdb/cluster/server/DataClusterServer.java
index ba3b281,630fb8e..c102b2d
--- a/cluster/src/main/java/org/apache/iotdb/cluster/server/DataClusterServer.java
+++ b/cluster/src/main/java/org/apache/iotdb/cluster/server/DataClusterServer.java
@@@ -38,30 -29,30 +29,12 @@@ import org.apache.iotdb.cluster.partiti
import org.apache.iotdb.cluster.partition.PartitionGroup;
import org.apache.iotdb.cluster.partition.PartitionTable;
import org.apache.iotdb.cluster.partition.slot.SlotPartitionTable;
--import org.apache.iotdb.cluster.rpc.thrift.AppendEntriesRequest;
--import org.apache.iotdb.cluster.rpc.thrift.AppendEntryRequest;
--import org.apache.iotdb.cluster.rpc.thrift.ElectionRequest;
--import org.apache.iotdb.cluster.rpc.thrift.ExecutNonQueryReq;
--import org.apache.iotdb.cluster.rpc.thrift.GetAggrResultRequest;
--import org.apache.iotdb.cluster.rpc.thrift.GetAllPathsResult;
--import org.apache.iotdb.cluster.rpc.thrift.GroupByRequest;
--import org.apache.iotdb.cluster.rpc.thrift.HeartBeatRequest;
--import org.apache.iotdb.cluster.rpc.thrift.HeartBeatResponse;
--import org.apache.iotdb.cluster.rpc.thrift.LastQueryRequest;
--import org.apache.iotdb.cluster.rpc.thrift.Node;
--import org.apache.iotdb.cluster.rpc.thrift.PreviousFillRequest;
--import org.apache.iotdb.cluster.rpc.thrift.PullSchemaRequest;
--import org.apache.iotdb.cluster.rpc.thrift.PullSchemaResp;
--import org.apache.iotdb.cluster.rpc.thrift.PullSnapshotRequest;
--import org.apache.iotdb.cluster.rpc.thrift.PullSnapshotResp;
--import org.apache.iotdb.cluster.rpc.thrift.SendSnapshotRequest;
--import org.apache.iotdb.cluster.rpc.thrift.SingleSeriesQueryRequest;
--import org.apache.iotdb.cluster.rpc.thrift.TSDataService;
++import org.apache.iotdb.cluster.rpc.thrift.*;
import org.apache.iotdb.cluster.rpc.thrift.TSDataService.AsyncProcessor;
import org.apache.iotdb.cluster.rpc.thrift.TSDataService.Processor;
- import org.apache.iotdb.cluster.server.monitor.NodeReport.DataMemberReport;
import org.apache.iotdb.cluster.server.member.DataGroupMember;
import org.apache.iotdb.cluster.server.member.MetaGroupMember;
+ import org.apache.iotdb.cluster.server.monitor.NodeReport.DataMemberReport;
import org.apache.iotdb.cluster.server.service.DataAsyncService;
import org.apache.iotdb.cluster.server.service.DataSyncService;
import org.apache.iotdb.service.rpc.thrift.TSStatus;
@@@ -75,8 -67,18 +49,14 @@@ import org.apache.thrift.transport.TTra
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
- public class DataClusterServer extends RaftServer implements TSDataService.AsyncIface,
- TSDataService.Iface {
+ import java.net.InetSocketAddress;
+ import java.nio.ByteBuffer;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
++import java.util.*;
+ import java.util.Map.Entry;
-import java.util.Set;
+ import java.util.concurrent.ConcurrentHashMap;
+
+ public class DataClusterServer extends RaftServer
+ implements TSDataService.AsyncIface, TSDataService.Iface {
private static final Logger logger = LoggerFactory.getLogger(DataClusterServer.class);
@@@ -460,14 -484,13 +462,18 @@@
@Override
TServerTransport getServerSocket() throws TTransportException {
- logger.info("[{}] Cluster node will listen {}:{}", getServerClientName(), config.getInternalIp(),
++ logger.info(
++ "[{}] Cluster node will listen {}:{}",
++ getServerClientName(),
++ config.getInternalIp(),
+ config.getInternalDataPort());
if (ClusterDescriptor.getInstance().getConfig().isUseAsyncServer()) {
- return new TNonblockingServerSocket(new InetSocketAddress(config.getInternalIp(),
- thisNode.getDataPort()), getConnectionTimeoutInMS());
+ return new TNonblockingServerSocket(
- new InetSocketAddress(config.getClusterRpcIp(), thisNode.getDataPort()),
++ new InetSocketAddress(config.getInternalIp(), thisNode.getDataPort()),
+ getConnectionTimeoutInMS());
} else {
- return new TServerSocket(new InetSocketAddress(config.getInternalIp(),
- thisNode.getDataPort()));
+ return new TServerSocket(
- new InetSocketAddress(config.getClusterRpcIp(), thisNode.getDataPort()));
++ new InetSocketAddress(config.getInternalIp(), thisNode.getDataPort()));
}
}
diff --cc cluster/src/main/java/org/apache/iotdb/cluster/server/MetaClusterServer.java
index f5941c0,d047498..48cac64
--- a/cluster/src/main/java/org/apache/iotdb/cluster/server/MetaClusterServer.java
+++ b/cluster/src/main/java/org/apache/iotdb/cluster/server/MetaClusterServer.java
@@@ -26,19 -24,19 +24,7 @@@ import org.apache.iotdb.cluster.excepti
import org.apache.iotdb.cluster.exception.StartUpCheckFailureException;
import org.apache.iotdb.cluster.metadata.CMManager;
import org.apache.iotdb.cluster.metadata.MetaPuller;
--import org.apache.iotdb.cluster.rpc.thrift.AddNodeResponse;
--import org.apache.iotdb.cluster.rpc.thrift.AppendEntriesRequest;
--import org.apache.iotdb.cluster.rpc.thrift.AppendEntryRequest;
--import org.apache.iotdb.cluster.rpc.thrift.CheckStatusResponse;
--import org.apache.iotdb.cluster.rpc.thrift.ElectionRequest;
--import org.apache.iotdb.cluster.rpc.thrift.ExecutNonQueryReq;
--import org.apache.iotdb.cluster.rpc.thrift.HeartBeatRequest;
--import org.apache.iotdb.cluster.rpc.thrift.HeartBeatResponse;
--import org.apache.iotdb.cluster.rpc.thrift.Node;
--import org.apache.iotdb.cluster.rpc.thrift.SendSnapshotRequest;
--import org.apache.iotdb.cluster.rpc.thrift.StartUpStatus;
--import org.apache.iotdb.cluster.rpc.thrift.TNodeStatus;
--import org.apache.iotdb.cluster.rpc.thrift.TSMetaService;
++import org.apache.iotdb.cluster.rpc.thrift.*;
import org.apache.iotdb.cluster.rpc.thrift.TSMetaService.AsyncProcessor;
import org.apache.iotdb.cluster.rpc.thrift.TSMetaService.Processor;
import org.apache.iotdb.cluster.server.heartbeat.MetaHeartbeatServer;
@@@ -59,17 -57,17 +45,20 @@@ import org.apache.thrift.transport.TNon
import org.apache.thrift.transport.TServerSocket;
import org.apache.thrift.transport.TServerTransport;
import org.apache.thrift.transport.TTransportException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+ import java.net.InetSocketAddress;
+ import java.nio.ByteBuffer;
+
/**
* MetaCluster manages the whole cluster's metadata, such as what nodes are in the cluster and the
* data partition. Each node has one MetaClusterServer instance, the single-node IoTDB instance is
* started-up at the same time.
*/
- public class MetaClusterServer extends RaftServer implements TSMetaService.AsyncIface,
- TSMetaService.Iface {
+ public class MetaClusterServer extends RaftServer
+ implements TSMetaService.AsyncIface, TSMetaService.Iface {
+ private static Logger logger = LoggerFactory.getLogger(MetaClusterServer.class);
// each node only contains one MetaGroupMember
private MetaGroupMember member;
@@@ -153,14 -147,13 +138,18 @@@
*/
@Override
TServerTransport getServerSocket() throws TTransportException {
- logger.info("[{}] Cluster node will listen {}:{}", getServerClientName(), config.getInternalIp(),
++ logger.info(
++ "[{}] Cluster node will listen {}:{}",
++ getServerClientName(),
++ config.getInternalIp(),
+ config.getInternalMetaPort());
if (ClusterDescriptor.getInstance().getConfig().isUseAsyncServer()) {
- return new TNonblockingServerSocket(new InetSocketAddress(config.getInternalIp(),
- config.getInternalMetaPort()), getConnectionTimeoutInMS());
+ return new TNonblockingServerSocket(
- new InetSocketAddress(config.getClusterRpcIp(), config.getInternalMetaPort()),
++ new InetSocketAddress(config.getInternalIp(), config.getInternalMetaPort()),
+ getConnectionTimeoutInMS());
} else {
- return new TServerSocket(new InetSocketAddress(config.getInternalIp(),
- config.getInternalMetaPort()));
+ return new TServerSocket(
- new InetSocketAddress(config.getClusterRpcIp(), config.getInternalMetaPort()));
++ new InetSocketAddress(config.getInternalIp(), config.getInternalMetaPort()));
}
}
diff --cc cluster/src/main/java/org/apache/iotdb/cluster/server/RaftServer.java
index 438f1e0,7243c1b..e36264f
--- a/cluster/src/main/java/org/apache/iotdb/cluster/server/RaftServer.java
+++ b/cluster/src/main/java/org/apache/iotdb/cluster/server/RaftServer.java
@@@ -220,8 -229,7 +229,11 @@@ public abstract class RaftServer implem
}
private void establishServer() throws TTransportException {
- logger.info("[{}] Cluster node {} begins to set up with {} mode", getServerClientName(), thisNode,
- ClusterDescriptor.getInstance().getConfig().isUseAsyncServer()? "Async" : "Sync");
- logger.info("Cluster node {} begins to set up", thisNode);
++ logger.info(
++ "[{}] Cluster node {} begins to set up with {} mode",
++ getServerClientName(),
++ thisNode,
++ ClusterDescriptor.getInstance().getConfig().isUseAsyncServer() ? "Async" : "Sync");
if (ClusterDescriptor.getInstance().getConfig().isUseAsyncServer()) {
poolServer = createAsyncServer();
diff --cc cluster/src/main/java/org/apache/iotdb/cluster/server/heartbeat/DataHeartbeatServer.java
index 477c4b3,89fcd15..d38670f
--- a/cluster/src/main/java/org/apache/iotdb/cluster/server/heartbeat/DataHeartbeatServer.java
+++ b/cluster/src/main/java/org/apache/iotdb/cluster/server/heartbeat/DataHeartbeatServer.java
@@@ -61,12 -58,16 +58,16 @@@ public class DataHeartbeatServer extend
@Override
TServerTransport getHeartbeatServerSocket() throws TTransportException {
if (ClusterDescriptor.getInstance().getConfig().isUseAsyncServer()) {
- return new TNonblockingServerSocket(new InetSocketAddress(config.getInternalIp(),
- thisNode.getDataPort() + ClusterUtils.DATA_HEARTBEAT_PORT_OFFSET),
+ return new TNonblockingServerSocket(
+ new InetSocketAddress(
- config.getClusterRpcIp(),
++ config.getInternalIp(),
+ thisNode.getDataPort() + ClusterUtils.DATA_HEARTBEAT_PORT_OFFSET),
getConnectionTimeoutInMS());
} else {
- return new TServerSocket(new InetSocketAddress(config.getInternalIp(),
- thisNode.getDataPort() + ClusterUtils.DATA_HEARTBEAT_PORT_OFFSET));
+ return new TServerSocket(
+ new InetSocketAddress(
- config.getClusterRpcIp(),
++ config.getInternalIp(),
+ thisNode.getDataPort() + ClusterUtils.DATA_HEARTBEAT_PORT_OFFSET));
}
}
diff --cc cluster/src/main/java/org/apache/iotdb/cluster/server/heartbeat/HeartbeatServer.java
index 3341bef,5b61cf1..a140b84
--- a/cluster/src/main/java/org/apache/iotdb/cluster/server/heartbeat/HeartbeatServer.java
+++ b/cluster/src/main/java/org/apache/iotdb/cluster/server/heartbeat/HeartbeatServer.java
@@@ -203,10 -201,10 +201,10 @@@ public abstract class HeartbeatServer
heartbeatPoolServer = getSyncHeartbeatServer();
}
- heartbeatClientService = Executors
- .newSingleThreadExecutor(r -> new Thread(r, getServerClientName()));
+ heartbeatClientService =
+ Executors.newSingleThreadExecutor(r -> new Thread(r, getServerClientName()));
heartbeatClientService.submit(() -> heartbeatPoolServer.serve());
- logger.info("Cluster node's heartbeat {} is up", thisNode);
+ logger.info("[{}] Cluster node's heartbeat {} is up", getServerClientName(), thisNode);
}
}
diff --cc cluster/src/main/java/org/apache/iotdb/cluster/server/heartbeat/MetaHeartbeatServer.java
index 1c3aace,08a1c37..ed99c3d
--- a/cluster/src/main/java/org/apache/iotdb/cluster/server/heartbeat/MetaHeartbeatServer.java
+++ b/cluster/src/main/java/org/apache/iotdb/cluster/server/heartbeat/MetaHeartbeatServer.java
@@@ -32,11 -31,10 +31,13 @@@ import org.apache.thrift.transport.TNon
import org.apache.thrift.transport.TServerSocket;
import org.apache.thrift.transport.TServerTransport;
import org.apache.thrift.transport.TTransportException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+ import java.net.InetSocketAddress;
+
public class MetaHeartbeatServer extends HeartbeatServer {
+ private static Logger logger = LoggerFactory.getLogger(MetaHeartbeatServer.class);
private MetaClusterServer metaClusterServer;
@@@ -64,15 -57,17 +60,22 @@@
@Override
TServerTransport getHeartbeatServerSocket() throws TTransportException {
- logger.info("[{}] Cluster node will listen {}:{}", getServerClientName(), config.getInternalIp(),
++ logger.info(
++ "[{}] Cluster node will listen {}:{}",
++ getServerClientName(),
++ config.getInternalIp(),
+ config.getInternalMetaPort() + ClusterUtils.META_HEARTBEAT_PORT_OFFSET);
if (ClusterDescriptor.getInstance().getConfig().isUseAsyncServer()) {
- return new TNonblockingServerSocket(new InetSocketAddress(config.getInternalIp(),
- config.getInternalMetaPort() + ClusterUtils.META_HEARTBEAT_PORT_OFFSET),
+ return new TNonblockingServerSocket(
+ new InetSocketAddress(
- config.getClusterRpcIp(),
++ config.getInternalIp(),
+ config.getInternalMetaPort() + ClusterUtils.META_HEARTBEAT_PORT_OFFSET),
getConnectionTimeoutInMS());
} else {
- return new TServerSocket(new InetSocketAddress(config.getInternalIp(),
- config.getInternalMetaPort() + ClusterUtils.META_HEARTBEAT_PORT_OFFSET));
+ return new TServerSocket(
+ new InetSocketAddress(
- config.getClusterRpcIp(),
++ config.getInternalIp(),
+ config.getInternalMetaPort() + ClusterUtils.META_HEARTBEAT_PORT_OFFSET));
}
}
diff --cc cluster/src/main/java/org/apache/iotdb/cluster/server/member/MetaGroupMember.java
index aa7ba59,ae42ffa..194ba4c
--- a/cluster/src/main/java/org/apache/iotdb/cluster/server/member/MetaGroupMember.java
+++ b/cluster/src/main/java/org/apache/iotdb/cluster/server/member/MetaGroupMember.java
@@@ -30,13 -30,13 +30,7 @@@ import org.apache.iotdb.cluster.client.
import org.apache.iotdb.cluster.config.ClusterConstant;
import org.apache.iotdb.cluster.config.ClusterDescriptor;
import org.apache.iotdb.cluster.coordinator.Coordinator;
--import org.apache.iotdb.cluster.exception.AddSelfException;
--import org.apache.iotdb.cluster.exception.ConfigInconsistentException;
--import org.apache.iotdb.cluster.exception.EmptyIntervalException;
--import org.apache.iotdb.cluster.exception.LogExecutionException;
--import org.apache.iotdb.cluster.exception.PartitionTableUnavailableException;
--import org.apache.iotdb.cluster.exception.SnapshotInstallationException;
--import org.apache.iotdb.cluster.exception.StartUpCheckFailureException;
++import org.apache.iotdb.cluster.exception.*;
import org.apache.iotdb.cluster.log.Log;
import org.apache.iotdb.cluster.log.LogApplier;
import org.apache.iotdb.cluster.log.applier.MetaLogApplier;
@@@ -50,22 -50,22 +44,9 @@@ import org.apache.iotdb.cluster.partiti
import org.apache.iotdb.cluster.partition.PartitionTable;
import org.apache.iotdb.cluster.partition.slot.SlotPartitionTable;
import org.apache.iotdb.cluster.query.ClusterPlanRouter;
--import org.apache.iotdb.cluster.rpc.thrift.AddNodeResponse;
--import org.apache.iotdb.cluster.rpc.thrift.AppendEntryRequest;
--import org.apache.iotdb.cluster.rpc.thrift.CheckStatusResponse;
--import org.apache.iotdb.cluster.rpc.thrift.HeartBeatRequest;
--import org.apache.iotdb.cluster.rpc.thrift.HeartBeatResponse;
--import org.apache.iotdb.cluster.rpc.thrift.Node;
--import org.apache.iotdb.cluster.rpc.thrift.SendSnapshotRequest;
--import org.apache.iotdb.cluster.rpc.thrift.StartUpStatus;
--import org.apache.iotdb.cluster.rpc.thrift.TSMetaService;
++import org.apache.iotdb.cluster.rpc.thrift.*;
import org.apache.iotdb.cluster.rpc.thrift.TSMetaService.AsyncClient;
--import org.apache.iotdb.cluster.server.ClientServer;
--import org.apache.iotdb.cluster.server.DataClusterServer;
--import org.apache.iotdb.cluster.server.HardLinkCleaner;
--import org.apache.iotdb.cluster.server.NodeCharacter;
--import org.apache.iotdb.cluster.server.RaftServer;
--import org.apache.iotdb.cluster.server.Response;
++import org.apache.iotdb.cluster.server.*;
import org.apache.iotdb.cluster.server.handlers.caller.AppendGroupEntryHandler;
import org.apache.iotdb.cluster.server.handlers.caller.GenericHandler;
import org.apache.iotdb.cluster.server.handlers.caller.NodeStatusHandler;
@@@ -101,35 -102,35 +83,12 @@@ import org.apache.thrift.transport.TTra
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
--import java.io.BufferedInputStream;
--import java.io.BufferedOutputStream;
--import java.io.BufferedReader;
--import java.io.BufferedWriter;
--import java.io.DataInputStream;
--import java.io.DataOutputStream;
--import java.io.File;
--import java.io.FileInputStream;
--import java.io.FileOutputStream;
--import java.io.FileReader;
--import java.io.FileWriter;
--import java.io.IOException;
++import java.io.*;
import java.nio.ByteBuffer;
import java.nio.file.Files;
import java.nio.file.Paths;
--import java.util.ArrayList;
--import java.util.Arrays;
--import java.util.Collection;
--import java.util.HashMap;
--import java.util.HashSet;
--import java.util.List;
--import java.util.Map;
--import java.util.Objects;
--import java.util.Set;
--import java.util.concurrent.ExecutorService;
--import java.util.concurrent.Executors;
--import java.util.concurrent.ScheduledExecutorService;
--import java.util.concurrent.ScheduledThreadPoolExecutor;
--import java.util.concurrent.TimeUnit;
++import java.util.*;
++import java.util.concurrent.*;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.concurrent.atomic.AtomicLong;
@@@ -166,10 -161,8 +119,9 @@@ public class MetaGroupMember extends Ra
* every "REPORT_INTERVAL_SEC" seconds, a reporter thread will print the status of all raft
* members in this node
*/
- private static final int REPORT_INTERVAL_SEC = 100;
- /**
- * how many times is a data record replicated, also the number of nodes in a data group
- */
+ private static final int REPORT_INTERVAL_SEC = 10;
++
+ /** how many times is a data record replicated, also the number of nodes in a data group */
private static final int REPLICATION_NUM =
ClusterDescriptor.getInstance().getConfig().getReplicationNum();
diff --cc cluster/src/main/java/org/apache/iotdb/cluster/server/member/MetaGroupMemberMBean.java
index d032525,1e1d916..5f4cc4d
--- a/cluster/src/main/java/org/apache/iotdb/cluster/server/member/MetaGroupMemberMBean.java
+++ b/cluster/src/main/java/org/apache/iotdb/cluster/server/member/MetaGroupMemberMBean.java
@@@ -17,8 -17,32 +17,6 @@@
* under the License.
*/
-package org.apache.iotdb.cluster.log;
+package org.apache.iotdb.cluster.server.member;
- public interface MetaGroupMemberMBean {
-import org.apache.iotdb.cluster.rpc.thrift.Node;
-
-import org.junit.Test;
-
-import java.nio.ByteBuffer;
-
-import static org.junit.Assert.assertEquals;
-
-public class HardStateTest {
-
- @Test
- public void testHardState() {
- // Not NULL
- HardState state = new HardState();
- state.setCurrentTerm(2);
- state.setVoteFor(new Node("127.0.0.1", 30000, 0, 40000, 55560));
- ByteBuffer buffer = state.serialize();
- HardState newState = HardState.deserialize(buffer);
- assertEquals(state, newState);
--
- // NULL
- state.setVoteFor(null);
- buffer = state.serialize();
- newState = HardState.deserialize(buffer);
- assertEquals(state, newState);
- }
--}
++public interface MetaGroupMemberMBean {}
diff --cc cluster/src/main/java/org/apache/iotdb/cluster/server/member/RaftMemberMBean.java
index 48af171,1e1d916..f59428a
--- a/cluster/src/main/java/org/apache/iotdb/cluster/server/member/RaftMemberMBean.java
+++ b/cluster/src/main/java/org/apache/iotdb/cluster/server/member/RaftMemberMBean.java
@@@ -17,46 -17,32 +17,43 @@@
* under the License.
*/
-package org.apache.iotdb.cluster.log;
+package org.apache.iotdb.cluster.server.member;
- import java.util.List;
- import java.util.Map;
import org.apache.iotdb.cluster.rpc.thrift.Node;
+import org.apache.iotdb.cluster.server.NodeCharacter;
+import org.apache.iotdb.cluster.server.monitor.Peer;
- /**
- * interfaces that the mbean of RaftMember will use
- */
-import org.junit.Test;
++import java.util.List;
++import java.util.Map;
+
-import java.nio.ByteBuffer;
++/** interfaces that the mbean of RaftMember will use */
+public interface RaftMemberMBean {
-import static org.junit.Assert.assertEquals;
+ List<Node> getAllNodes();
-public class HardStateTest {
+ String getName();
- @Test
- public void testHardState() {
- // Not NULL
- HardState state = new HardState();
- state.setCurrentTerm(2);
- state.setVoteFor(new Node("127.0.0.1", 30000, 0, 40000, 55560));
- ByteBuffer buffer = state.serialize();
- HardState newState = HardState.deserialize(buffer);
- assertEquals(state, newState);
+ Map<Node, Peer> getPeerMap();
- // NULL
- state.setVoteFor(null);
- buffer = state.serialize();
- newState = HardState.deserialize(buffer);
- assertEquals(state, newState);
- }
+ int getTerm();
+
+ NodeCharacter getCharacter();
+
+ Node getLeader();
+
+ Node getVoteFor();
+
+ long getLastHeartbeatReceivedTime();
+
+ boolean isReadOnly();
+
+ void stopHeartBeatService();
+
+ void restartHeartBeatService();
+
+ long getLastReportedLogIndex();
+
+ boolean isCatchUpServiceWorking();
+
+ Map<Node, Long> getLastCatchUpResponseTime();
-
-
}
diff --cc cluster/src/main/java/org/apache/iotdb/cluster/server/monitor/NodeReport.java
index 8479dd7,ee1021f..313333f
--- a/cluster/src/main/java/org/apache/iotdb/cluster/server/monitor/NodeReport.java
+++ b/cluster/src/main/java/org/apache/iotdb/cluster/server/monitor/NodeReport.java
@@@ -121,26 -144,49 +144,49 @@@ public class NodeReport
String transportCompressionReport = "";
if (RpcTransportFactory.isUseSnappy()) {
transportCompressionReport =
- ", readBytes=" + readBytes + "/" + readCompressedBytes + "(" + readCompressionRatio +
- ")" +
- ", writeBytes=" + writeBytes + "/" + writeCompressedBytes + "(" + writeCompressionRatio +
- ")";
+ ", readBytes="
+ + readBytes
+ + "/"
+ + readCompressedBytes
+ + "("
+ + readCompressionRatio
+ + ")"
+ + ", writeBytes="
+ + writeBytes
+ + "/"
+ + writeCompressedBytes
+ + "("
+ + writeCompressionRatio
+ + ")";
}
- return "MetaMemberReport {\n" +
- "character=" + character +
- ", Leader=" + leader +
- ", term=" + term +
- ", lastLogTerm=" + lastLogTerm +
- ", lastLogIndex=" + lastLogIndex +
- ", commitIndex=" + commitIndex +
- ", commitTerm=" + commitTerm +
- ", appliedLogIndex=" + maxAppliedLogIndex +
- ", readOnly=" + isReadOnly +
- ", lastHeartbeat=" + (System.currentTimeMillis() - lastHeartbeatReceivedTime) + "ms ago" +
- ", logIncrement=" + (lastLogIndex - prevLastLogIndex) +
- transportCompressionReport +
- ", \n timer: "+ Timer.getReport() +
- '}';
- return "MetaMemberReport{"
++ return "MetaMemberReport {\n"
+ + "character="
+ + character
+ + ", Leader="
+ + leader
+ + ", term="
+ + term
+ + ", lastLogTerm="
+ + lastLogTerm
+ + ", lastLogIndex="
+ + lastLogIndex
+ + ", commitIndex="
+ + commitIndex
+ + ", commitTerm="
+ + commitTerm
+ + ", appliedLogIndex="
+ + maxAppliedLogIndex
+ + ", readOnly="
+ + isReadOnly
+ + ", lastHeartbeat="
+ + (System.currentTimeMillis() - lastHeartbeatReceivedTime)
+ + "ms ago"
+ + ", logIncrement="
+ + (lastLogIndex - prevLastLogIndex)
+ + transportCompressionReport
+ + ", \n timer: "
+ + Timer.getReport()
+ + '}';
}
}
diff --cc cluster/src/main/java/org/apache/iotdb/cluster/utils/ClusterNode.java
index 1e5b15b,b3cc733..2284a93
--- a/cluster/src/main/java/org/apache/iotdb/cluster/utils/ClusterNode.java
+++ b/cluster/src/main/java/org/apache/iotdb/cluster/utils/ClusterNode.java
@@@ -28,12 -29,10 +29,11 @@@ import java.util.Objects
*/
public class ClusterNode extends Node {
- //TODO hxd: maintain the client IP and Port
- public ClusterNode() {
- }
++ // TODO hxd: maintain the client IP and Port
+ public ClusterNode() {}
- public ClusterNode(String ip, int metaPort, int nodeIdentifier, int dataPort, int clientPort) {
- super(ip, metaPort, nodeIdentifier, dataPort, clientPort);
+ public ClusterNode(String ip, int metaPort, int nodeIdentifier, int dataPort) {
+ super(ip, metaPort, nodeIdentifier, dataPort);
}
public ClusterNode(Node other) {
diff --cc cluster/src/main/java/org/apache/iotdb/cluster/utils/ClusterUtils.java
index f9207af,c8d5133..315e730
--- a/cluster/src/main/java/org/apache/iotdb/cluster/utils/ClusterUtils.java
+++ b/cluster/src/main/java/org/apache/iotdb/cluster/utils/ClusterUtils.java
@@@ -283,8 -311,7 +311,8 @@@ public class ClusterUtils
int id = Integer.parseInt(str.substring(idFirstPos, idLastPos));
int dataPort = Integer.parseInt(str.substring(dataPortFirstPos, dataPortLastPos));
int clientPort = Integer.parseInt(str.substring(clientPortFirstPos, clientPortLastPos));
- //TODO hxd: we do not set values to all fields of a Node.
- return new Node(ip, metaPort, id, dataPort, clientPort);
++ // TODO hxd: we do not set values to all fields of a Node.
+ return new Node(ip, metaPort, id, dataPort).setClientPort(clientPort);
}
public static Node parseNode(String nodeUrl) {
diff --cc cluster/src/test/java/org/apache/iotdb/cluster/common/TestPartitionedLogManager.java
index 7eb331b,9d4887a..d026819
--- a/cluster/src/test/java/org/apache/iotdb/cluster/common/TestPartitionedLogManager.java
+++ b/cluster/src/test/java/org/apache/iotdb/cluster/common/TestPartitionedLogManager.java
@@@ -29,19 -28,24 +29,28 @@@ import org.apache.iotdb.cluster.utils.C
public class TestPartitionedLogManager extends PartitionedSnapshotLogManager {
public TestPartitionedLogManager() {
- super(new TestLogApplier(), null,
- new Node("localhost", 30001, 1, 40001).setClientIp("localhost")
- .setClientPort(Constants.RPC_PORT), null, null,
+ super(
+ new TestLogApplier(),
+ null,
- new Node("localhost", 30001, 1, 40001, 55560),
++ new Node("localhost", 30001, 1, 40001)
++ .setClientIp("localhost")
++ .setClientPort(Constants.RPC_PORT),
+ null,
+ null,
null);
}
- public TestPartitionedLogManager(LogApplier logApplier,
- PartitionTable partitionTable,
- Node header,
- SnapshotFactory factory) {
- super(logApplier, partitionTable, header,
- new Node("localhost", 30001, 1, 40001).setClientIp("localhost")
- .setClientPort(Constants.RPC_PORT), factory, null);
+ public TestPartitionedLogManager(
+ LogApplier logApplier, PartitionTable partitionTable, Node header, SnapshotFactory factory) {
+ super(
+ logApplier,
+ partitionTable,
+ header,
- new Node("localhost", 30001, 1, 40001, 55560),
++ new Node("localhost", 30001, 1, 40001)
++ .setClientIp("localhost")
++ .setClientPort(Constants.RPC_PORT),
+ factory,
+ null);
}
@Override
diff --cc cluster/src/test/java/org/apache/iotdb/cluster/integration/BaseSingleNodeTest.java
index 55dbfd6,bdc9897..70fbb66
--- a/cluster/src/test/java/org/apache/iotdb/cluster/integration/BaseSingleNodeTest.java
+++ b/cluster/src/test/java/org/apache/iotdb/cluster/integration/BaseSingleNodeTest.java
@@@ -19,14 -19,12 +19,13 @@@
package org.apache.iotdb.cluster.integration;
- import java.util.Collections;
- import java.util.List;
- import org.apache.iotdb.db.utils.EnvironmentUtils;
import org.apache.iotdb.cluster.config.ClusterDescriptor;
import org.apache.iotdb.cluster.server.MetaClusterServer;
+import org.apache.iotdb.cluster.utils.Constants;
+ import org.apache.iotdb.db.utils.EnvironmentUtils;
import org.apache.iotdb.rpc.IoTDBConnectionException;
import org.apache.iotdb.session.Session;
+
import org.junit.After;
import org.junit.Before;
@@@ -60,8 -61,9 +62,11 @@@ public abstract class BaseSingleNodeTes
replicaNum = ClusterDescriptor.getInstance().getConfig().getReplicationNum();
autoCreateSchema = ClusterDescriptor.getInstance().getConfig().isEnableAutoCreateSchema();
ClusterDescriptor.getInstance().getConfig().setUseAsyncServer(true);
- ClusterDescriptor.getInstance().getConfig().setSeedNodeUrls(Collections.singletonList(
- String.format("127.0.0.1:9003:40011:%d", Constants.RPC_PORT)));
+ ClusterDescriptor.getInstance()
+ .getConfig()
- .setSeedNodeUrls(Collections.singletonList("127.0.0.1:9003:40011:55560"));
++ .setSeedNodeUrls(
++ Collections.singletonList(
++ String.format("127.0.0.1:9003:40011:%d", Constants.RPC_PORT)));
ClusterDescriptor.getInstance().getConfig().setReplicationNum(1);
ClusterDescriptor.getInstance().getConfig().setEnableAutoCreateSchema(true);
}
diff --cc cluster/src/test/java/org/apache/iotdb/cluster/log/HardStateTest.java
index 46e8ce7,1e1d916..598d0df
--- a/cluster/src/test/java/org/apache/iotdb/cluster/log/HardStateTest.java
+++ b/cluster/src/test/java/org/apache/iotdb/cluster/log/HardStateTest.java
@@@ -19,13 -19,14 +19,15 @@@
package org.apache.iotdb.cluster.log;
- import static org.junit.Assert.assertEquals;
-
- import java.nio.ByteBuffer;
import org.apache.iotdb.cluster.rpc.thrift.Node;
+import org.apache.iotdb.cluster.utils.Constants;
+
import org.junit.Test;
+ import java.nio.ByteBuffer;
+
+ import static org.junit.Assert.assertEquals;
+
public class HardStateTest {
@Test
@@@ -33,8 -34,7 +35,10 @@@
// Not NULL
HardState state = new HardState();
state.setCurrentTerm(2);
- state.setVoteFor(new Node("127.0.0.1", 30000, 0, 40000)
- .setClientIp("127.0.0.1").setClientPort(Constants.RPC_PORT));
- state.setVoteFor(new Node("127.0.0.1", 30000, 0, 40000, 55560));
++ state.setVoteFor(
++ new Node("127.0.0.1", 30000, 0, 40000)
++ .setClientIp("127.0.0.1")
++ .setClientPort(Constants.RPC_PORT));
ByteBuffer buffer = state.serialize();
HardState newState = HardState.deserialize(buffer);
assertEquals(state, newState);
diff --cc cluster/src/test/java/org/apache/iotdb/cluster/log/applier/MetaLogApplierTest.java
index 1437d6f,f5df311..b4a3949
--- a/cluster/src/test/java/org/apache/iotdb/cluster/log/applier/MetaLogApplierTest.java
+++ b/cluster/src/test/java/org/apache/iotdb/cluster/log/applier/MetaLogApplierTest.java
@@@ -79,10 -81,8 +82,10 @@@ public class MetaLogApplierTest extend
public void testApplyAddNode()
throws QueryProcessException, StorageGroupNotSetException, StorageEngineException {
nodes.clear();
- //TODO hxd:
-
- Node node = new Node("localhost", 1111, 0, 2222, 55560);
++ // TODO hxd:
+ Node node = new Node("localhost", 1111, 0, 2222);
+ node.setClientIp("localhost");
+ node.setClientPort(Constants.RPC_PORT);
AddNodeLog log = new AddNodeLog();
log.setNewNode(node);
applier.apply(log);
diff --cc cluster/src/test/java/org/apache/iotdb/cluster/log/logtypes/SerializeLogTest.java
index a3d7cde,9557130..963a3ae
--- a/cluster/src/test/java/org/apache/iotdb/cluster/log/logtypes/SerializeLogTest.java
+++ b/cluster/src/test/java/org/apache/iotdb/cluster/log/logtypes/SerializeLogTest.java
@@@ -89,8 -102,7 +103,10 @@@ public class SerializeLogTest
AddNodeLog log = new AddNodeLog();
log.setCurrLogIndex(2);
log.setCurrLogTerm(2);
- log.setNewNode(new Node("apache.iotdb.com", 1234, 1, 4321).setClientIp("apache.iotdb.com")
- .setClientPort(Constants.RPC_PORT));
- log.setNewNode(new Node("apache.iotdb.com", 1234, 1, 4321, 55560));
++ log.setNewNode(
++ new Node("apache.iotdb.com", 1234, 1, 4321)
++ .setClientIp("apache.iotdb.com")
++ .setClientPort(Constants.RPC_PORT));
ByteBuffer byteBuffer = log.serialize();
Log logPrime = LogParser.getINSTANCE().parse(byteBuffer);
assertEquals(log, logPrime);
diff --cc cluster/src/test/java/org/apache/iotdb/cluster/partition/SlotPartitionTableTest.java
index 6b770a1,eb48a2b..8cc3f23
--- a/cluster/src/test/java/org/apache/iotdb/cluster/partition/SlotPartitionTableTest.java
+++ b/cluster/src/test/java/org/apache/iotdb/cluster/partition/SlotPartitionTableTest.java
@@@ -60,31 -39,53 +40,29 @@@ import org.apache.iotdb.db.qp.physical.
import org.apache.iotdb.db.qp.physical.crud.DeletePlan;
import org.apache.iotdb.db.qp.physical.crud.InsertRowPlan;
import org.apache.iotdb.db.qp.physical.crud.InsertTabletPlan;
--import org.apache.iotdb.db.qp.physical.sys.AuthorPlan;
--import org.apache.iotdb.db.qp.physical.sys.CountPlan;
--import org.apache.iotdb.db.qp.physical.sys.CreateTimeSeriesPlan;
--import org.apache.iotdb.db.qp.physical.sys.DataAuthPlan;
--import org.apache.iotdb.db.qp.physical.sys.DeleteStorageGroupPlan;
--import org.apache.iotdb.db.qp.physical.sys.LoadConfigurationPlan;
++import org.apache.iotdb.db.qp.physical.sys.*;
import org.apache.iotdb.db.qp.physical.sys.LoadConfigurationPlan.LoadConfigurationPlanType;
--import org.apache.iotdb.db.qp.physical.sys.OperateFilePlan;
--import org.apache.iotdb.db.qp.physical.sys.SetStorageGroupPlan;
--import org.apache.iotdb.db.qp.physical.sys.SetTTLPlan;
--import org.apache.iotdb.db.qp.physical.sys.ShowChildPathsPlan;
import org.apache.iotdb.db.qp.physical.sys.ShowPlan.ShowContentType;
import org.apache.iotdb.db.service.IoTDB;
+ import org.apache.iotdb.db.utils.EnvironmentUtils;
import org.apache.iotdb.tsfile.file.metadata.enums.CompressionType;
import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
import org.apache.iotdb.tsfile.file.metadata.enums.TSEncoding;
- import org.junit.After;
- import org.junit.Assert;
- import org.junit.Before;
- import org.junit.Ignore;
- import org.junit.Test;
+
-import org.junit.After;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Ignore;
-import org.junit.Test;
++import org.junit.*;
import org.mockito.internal.util.reflection.Whitebox;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+ import java.io.File;
+ import java.io.IOException;
+ import java.nio.ByteBuffer;
+ import java.nio.file.Files;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-import java.util.Random;
++import java.util.*;
+ import java.util.stream.IntStream;
+
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotEquals;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
++import static org.junit.Assert.*;
+
@Ignore // need maintenance
@SuppressWarnings({"java:S2699"})
public class SlotPartitionTableTest {
@@@ -196,15 -202,16 +179,23 @@@
}
private void assertGetHeaderGroup(int start, int last) {
- PartitionGroup group = localTable
- .getHeaderGroup(new Node("localhost", 30000 + start, start, 40000 + start)
- .setClientIp("localhost").setClientPort(Constants.RPC_PORT + start));
+ PartitionGroup group =
+ localTable.getHeaderGroup(
- new Node("localhost", 30000 + start, start, 40000 + start, 55560 + start));
++ new Node("localhost", 30000 + start, start, 40000 + start)
++ .setClientIp("localhost")
++ .setClientPort(Constants.RPC_PORT + start));
assertEquals(replica_size, group.size());
- assertEquals(new Node("localhost", 30000 + start, start, 40000 + start)
- .setClientIp("localhost").setClientPort(Constants.RPC_PORT + start), group.getHeader());
+ assertEquals(
- new Node("localhost", 30000 + start, start, 40000 + start, 55560 + start),
++ new Node("localhost", 30000 + start, start, 40000 + start)
++ .setClientIp("localhost")
++ .setClientPort(Constants.RPC_PORT + start),
+ group.getHeader());
++
assertEquals(
- new Node("localhost", 30000 + last, last, 40000 + last, 55560 + start),
+ new Node("localhost", 30000 + last, last, 40000 + last)
- .setClientIp("localhost").setClientPort(Constants.RPC_PORT + start), group.get(replica_size - 1));
++ .setClientIp("localhost")
++ .setClientPort(Constants.RPC_PORT + start),
+ group.get(replica_size - 1));
}
private void assertPartitionGroup(PartitionGroup group, int... nodeIds) {
@@@ -493,8 -535,7 +519,9 @@@
}
private Node getNode(int i) {
- return new Node("localhost", 30000 + i, i, 40000 + i, 55560 + i);
+ return new Node("localhost", 30000 + i, i, 40000 + i)
- .setClientIp("localhost").setClientPort(Constants.RPC_PORT + i);
++ .setClientIp("localhost")
++ .setClientPort(Constants.RPC_PORT + i);
}
@Test
diff --cc cluster/src/test/java/org/apache/iotdb/cluster/server/handlers/caller/HeartbeatHandlerTest.java
index d5bfea8,bca1a25..b2290d4
--- a/cluster/src/test/java/org/apache/iotdb/cluster/server/handlers/caller/HeartbeatHandlerTest.java
+++ b/cluster/src/test/java/org/apache/iotdb/cluster/server/handlers/caller/HeartbeatHandlerTest.java
@@@ -33,11 -27,18 +27,17 @@@ import org.apache.iotdb.cluster.rpc.thr
import org.apache.iotdb.cluster.rpc.thrift.Node;
import org.apache.iotdb.cluster.server.Response;
import org.apache.iotdb.cluster.server.member.MetaGroupMember;
+import org.apache.iotdb.cluster.utils.Constants;
+ import org.apache.iotdb.db.utils.EnvironmentUtils;
+
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
+ import java.io.IOException;
+
-import static junit.framework.TestCase.assertEquals;
-import static junit.framework.TestCase.assertFalse;
-import static junit.framework.TestCase.assertTrue;
++import static junit.framework.TestCase.*;
+
public class HeartbeatHandlerTest {
private MetaGroupMember metaGroupMember;
@@@ -73,8 -74,7 +73,10 @@@
HeartBeatResponse response = new HeartBeatResponse();
response.setTerm(Response.RESPONSE_AGREE);
response.setLastLogTerm(-2);
- response.setFollower(new Node("192.168.0.6", 9003, 6, 40010).setClientIp("192.168.0.6")
- .setClientPort(Constants.RPC_PORT));
- response.setFollower(new Node("192.168.0.6", 9003, 6, 40010, 55560));
++ response.setFollower(
++ new Node("192.168.0.6", 9003, 6, 40010)
++ .setClientIp("192.168.0.6")
++ .setClientPort(Constants.RPC_PORT));
catchUpFlag = false;
for (int i = 0; i < looseInconsistentNum; i++) {
handler.onComplete(response);
diff --cc cluster/src/test/java/org/apache/iotdb/cluster/server/member/DataGroupMemberTest.java
index 38d466e,53fb40e..cea12ba
--- a/cluster/src/test/java/org/apache/iotdb/cluster/server/member/DataGroupMemberTest.java
+++ b/cluster/src/test/java/org/apache/iotdb/cluster/server/member/DataGroupMemberTest.java
@@@ -324,10 -330,8 +331,14 @@@ public class DataGroupMemberTest extend
testMetaMember.getTerm().set(10);
List<Log> metaLogs = TestUtils.prepareTestLogs(6);
metaLogManager.append(metaLogs);
- Node voteFor = new Node("127.0.0.1", 30000, 0, 40000).setClientIp("127.0.0.1")
- .setClientPort(Constants.RPC_PORT);
- Node elector = new Node("127.0.0.1", 30001, 1, 40001).setClientIp("127.0.0.1")
- .setClientPort(Constants.RPC_PORT + 1);
- Node voteFor = new Node("127.0.0.1", 30000, 0, 40000, 55560);
- Node elector = new Node("127.0.0.1", 30001, 1, 40001, 55561);
++ Node voteFor =
++ new Node("127.0.0.1", 30000, 0, 40000)
++ .setClientIp("127.0.0.1")
++ .setClientPort(Constants.RPC_PORT);
++ Node elector =
++ new Node("127.0.0.1", 30001, 1, 40001)
++ .setClientIp("127.0.0.1")
++ .setClientPort(Constants.RPC_PORT + 1);
// a request with smaller term
ElectionRequest electionRequest = new ElectionRequest();
diff --cc cluster/src/test/java/org/apache/iotdb/cluster/server/member/MetaGroupMemberTest.java
index fdc19ed,3a2cc81..8600233
--- a/cluster/src/test/java/org/apache/iotdb/cluster/server/member/MetaGroupMemberTest.java
+++ b/cluster/src/test/java/org/apache/iotdb/cluster/server/member/MetaGroupMemberTest.java
@@@ -975,8 -1038,7 +1039,10 @@@ public class MetaGroupMemberTest extend
request.setLeaderCommit(0);
request.setPrevLogIndex(-1);
request.setPrevLogTerm(-1);
- request.setLeader(new Node("127.0.0.1", 30000, 0, 40000).setClientIp("127.0.0.1")
- .setClientPort(Constants.RPC_PORT));
- request.setLeader(new Node("127.0.0.1", 30000, 0, 40000, 55560));
++ request.setLeader(
++ new Node("127.0.0.1", 30000, 0, 40000)
++ .setClientIp("127.0.0.1")
++ .setClientPort(Constants.RPC_PORT));
AtomicReference<Long> result = new AtomicReference<>();
GenericHandler<Long> handler = new GenericHandler<>(TestUtils.getNode(0), result);
new MetaAsyncService(testMetaMember).appendEntry(request, handler);
diff --cc server/src/main/java/org/apache/iotdb/db/conf/IoTDBConfig.java
index b1c1c95,0c98992..c8406e3
--- a/server/src/main/java/org/apache/iotdb/db/conf/IoTDBConfig.java
+++ b/server/src/main/java/org/apache/iotdb/db/conf/IoTDBConfig.java
@@@ -823,45 -615,25 +615,31 @@@ public class IoTDBConfig
// time in nanosecond precision when starting up
private long startUpNanosecond = System.nanoTime();
- /**
- * thrift max frame size, the default is 15MB, we change it to 64MB
- */
+ /** thrift max frame size, the default is 15MB, we change it to 64MB */
private int thriftMaxFrameSize = 67108864;
- /**
- * thrift init buffer size, the default is 1KB.
- */
+ /** thrift init buffer size, the default is 1KB. */
private int thriftInitBufferSize = 1024;
- /**
- * time interval in minute for calculating query frequency
- */
+ /** time interval in minute for calculating query frequency */
private int frequencyIntervalInMinute = 1;
- /**
- * time cost(ms) threshold for slow query
- */
+ /** time cost(ms) threshold for slow query */
private long slowQueryThreshold = 5000;
- /**
- * if the debug_state is true, we will print more details about the process of query
- */
+ /** if the debug_state is true, we will print more details about the process of query */
private boolean debugState = false;
+ /**
- * whether enable the rpc service. This parameter has no a corresponding field
- * in the iotdb-engine.properties
++ * whether enable the rpc service. This parameter has no a corresponding field in the
++ * iotdb-engine.properties
+ */
+ private boolean enableRPCService = true;
+
- /**
- * the size of ioTaskQueue
- */
+ /** the size of ioTaskQueue */
private int ioTaskQueueSizeForFlushing = 10;
- /**
- * the number of virtual storage groups per user-defined storage group
- */
+ /** the number of virtual storage groups per user-defined storage group */
private int virtualStorageGroupNum = 1;
public IoTDBConfig() {
@@@ -2284,15 -2051,6 +2057,14 @@@
this.mlogBufferSize = mlogBufferSize;
}
-
+ public boolean isEnableRPCService() {
+ return enableRPCService;
+ }
+
+ public void setEnableRPCService(boolean enableRPCService) {
+ this.enableRPCService = enableRPCService;
+ }
+
public int getIoTaskQueueSizeForFlushing() {
return ioTaskQueueSizeForFlushing;
}
diff --cc server/src/main/java/org/apache/iotdb/db/conf/IoTDBDescriptor.java
index 0abb3f7,a1a4e58..4cde34d
--- a/server/src/main/java/org/apache/iotdb/db/conf/IoTDBDescriptor.java
+++ b/server/src/main/java/org/apache/iotdb/db/conf/IoTDBDescriptor.java
@@@ -36,9 -26,24 +26,21 @@@ import org.apache.iotdb.tsfile.common.c
import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
import org.apache.iotdb.tsfile.file.metadata.enums.TSEncoding;
import org.apache.iotdb.tsfile.fileSystem.FSType;
+
-import org.apache.commons.cli.CommandLine;
-import org.apache.commons.cli.CommandLineParser;
-import org.apache.commons.cli.DefaultParser;
-import org.apache.commons.cli.Option;
-import org.apache.commons.cli.Options;
-import org.apache.commons.cli.ParseException;
++import com.google.common.net.InetAddresses;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+ import java.io.File;
+ import java.io.FileNotFoundException;
+ import java.io.IOException;
+ import java.io.InputStream;
++import java.net.InetAddress;
+ import java.net.MalformedURLException;
+ import java.net.URL;
++import java.net.UnknownHostException;
+ import java.util.Properties;
+
public class IoTDBDescriptor {
private static final Logger logger = LoggerFactory.getLogger(IoTDBDescriptor.class);
@@@ -58,8 -62,38 +59,9 @@@
return conf;
}
- public void replaceProps(String[] params) {
- Options options = new Options();
- final String RPC_PORT = "rpc_port";
- Option rpcPort = new Option(RPC_PORT, RPC_PORT, true, "The jdbc service listens on the port");
- rpcPort.setRequired(false);
- options.addOption(rpcPort);
-
- boolean ok = parseCommandLine(options, params);
- if (!ok) {
- logger.error("replaces properties failed, use default conf params");
- } else {
- if (commandLine.hasOption(RPC_PORT)) {
- conf.setRpcPort(Integer.parseInt(commandLine.getOptionValue(RPC_PORT)));
- logger.debug("replace rpc port with={}", conf.getRpcPort());
- }
- }
- }
-
- private boolean parseCommandLine(Options options, String[] params) {
- try {
- CommandLineParser parser = new DefaultParser();
- commandLine = parser.parse(options, params);
- } catch (ParseException e) {
- logger.error("parse conf params failed, {}", e.toString());
- return false;
- }
- return true;
- }
-
/**
* get props url location
+ *
* @return url object if location exit, otherwise null.
*/
public URL getPropsUrl() {
@@@ -120,62 -152,83 +120,84 @@@
logger.info("Start to read config file {}", url);
Properties properties = new Properties();
properties.load(inputStream);
- conf.setEnableStatMonitor(Boolean
- .parseBoolean(properties.getProperty("enable_stat_monitor",
- Boolean.toString(conf.isEnableStatMonitor()))));
-
- conf.setEnableMonitorSeriesWrite(Boolean
- .parseBoolean(properties.getProperty("enable_monitor_series_write",
- Boolean.toString(conf.isEnableStatMonitor()))));
-
- conf.setEnableMetricService(Boolean.parseBoolean(properties
- .getProperty("enable_metric_service", Boolean.toString(conf.isEnableMetricService()))));
-
- conf.setMetricsPort(Integer.parseInt(properties.getProperty("metrics_port",
- Integer.toString(conf.getMetricsPort()))));
-
- conf.setQueryCacheSizeInMetric(Integer
- .parseInt(properties.getProperty("query_cache_size_in_metric",
- Integer.toString(conf.getQueryCacheSizeInMetric()))
- ));
+ conf.setEnableStatMonitor(
+ Boolean.parseBoolean(
+ properties.getProperty(
+ "enable_stat_monitor", Boolean.toString(conf.isEnableStatMonitor()))));
+
+ conf.setEnableMonitorSeriesWrite(
+ Boolean.parseBoolean(
+ properties.getProperty(
+ "enable_monitor_series_write", Boolean.toString(conf.isEnableStatMonitor()))));
+
+ conf.setEnableMetricService(
+ Boolean.parseBoolean(
+ properties.getProperty(
+ "enable_metric_service", Boolean.toString(conf.isEnableMetricService()))));
+
+ conf.setMetricsPort(
+ Integer.parseInt(
+ properties.getProperty("metrics_port", Integer.toString(conf.getMetricsPort()))));
+
+ conf.setQueryCacheSizeInMetric(
+ Integer.parseInt(
+ properties.getProperty(
+ "query_cache_size_in_metric",
+ Integer.toString(conf.getQueryCacheSizeInMetric()))));
conf.setRpcAddress(properties.getProperty("rpc_address", conf.getRpcAddress()));
+ replaceHostnameWithIP();
conf.setRpcThriftCompressionEnable(
- Boolean.parseBoolean(properties.getProperty("rpc_thrift_compression_enable",
- Boolean.toString(conf.isRpcThriftCompressionEnable()))));
+ Boolean.parseBoolean(
+ properties.getProperty(
+ "rpc_thrift_compression_enable",
+ Boolean.toString(conf.isRpcThriftCompressionEnable()))));
conf.setRpcAdvancedCompressionEnable(
- Boolean.parseBoolean(properties.getProperty("rpc_advanced_compression_enable",
- Boolean.toString(conf.isRpcAdvancedCompressionEnable()))));
+ Boolean.parseBoolean(
+ properties.getProperty(
+ "rpc_advanced_compression_enable",
+ Boolean.toString(conf.isRpcAdvancedCompressionEnable()))));
- conf.setRpcPort(Integer.parseInt(properties.getProperty("rpc_port",
- Integer.toString(conf.getRpcPort()))));
+ conf.setRpcPort(
+ Integer.parseInt(
+ properties.getProperty("rpc_port", Integer.toString(conf.getRpcPort()))));
- conf.setTimestampPrecision(properties.getProperty("timestamp_precision",
- conf.getTimestampPrecision()));
+ conf.setTimestampPrecision(
+ properties.getProperty("timestamp_precision", conf.getTimestampPrecision()));
conf.setBufferedArraysMemoryProportion(
- Double.parseDouble(properties.getProperty("buffered_arrays_memory_proportion",
- Double.toString(conf.getBufferedArraysMemoryProportion()))));
+ Double.parseDouble(
+ properties.getProperty(
+ "buffered_arrays_memory_proportion",
+ Double.toString(conf.getBufferedArraysMemoryProportion()))));
- conf.setFlushProportion(Double.parseDouble(properties.getProperty("flush_proportion",
- Double.toString(conf.getFlushProportion()))));
+ conf.setFlushProportion(
+ Double.parseDouble(
+ properties.getProperty(
+ "flush_proportion", Double.toString(conf.getFlushProportion()))));
- conf.setRejectProportion(Double.parseDouble(properties.getProperty("reject_proportion",
- Double.toString(conf.getRejectProportion()))));
+ conf.setRejectProportion(
+ Double.parseDouble(
+ properties.getProperty(
+ "reject_proportion", Double.toString(conf.getRejectProportion()))));
conf.setStorageGroupSizeReportThreshold(
- Long.parseLong(properties.getProperty("storage_group_report_threshold",
- Long.toString(conf.getStorageGroupSizeReportThreshold()))));
+ Long.parseLong(
+ properties.getProperty(
+ "storage_group_report_threshold",
+ Long.toString(conf.getStorageGroupSizeReportThreshold()))));
conf.setMetaDataCacheEnable(
- Boolean.parseBoolean(properties.getProperty("meta_data_cache_enable",
- Boolean.toString(conf.isMetaDataCacheEnable()))));
+ Boolean.parseBoolean(
+ properties.getProperty(
+ "meta_data_cache_enable", Boolean.toString(conf.isMetaDataCacheEnable()))));
- conf.setEnableLastCache(Boolean.parseBoolean(properties.getProperty("enable_last_cache",
- Boolean.toString(conf.isLastCacheEnabled()))));
+ conf.setEnableLastCache(
+ Boolean.parseBoolean(
+ properties.getProperty(
+ "enable_last_cache", Boolean.toString(conf.isLastCacheEnabled()))));
initMemoryAllocate(properties);
@@@ -603,34 -799,26 +768,36 @@@
}
}
+ // to keep consistent with the cluster module.
+ private void replaceHostnameWithIP() throws UnknownHostException {
+ boolean isInvalidRpcIp = InetAddresses.isInetAddress(conf.getRpcAddress());
+ if (!isInvalidRpcIp) {
+ InetAddress address = InetAddress.getByName(getConfig().getRpcAddress());
+ getConfig().setRpcAddress(address.getHostAddress());
+ }
+ logger.debug("after replace, the rpc_address={},", conf.getRpcAddress());
+ }
+
-
-
private void loadWALProps(Properties properties) {
- conf.setEnableWal(Boolean.parseBoolean(properties.getProperty("enable_wal",
- Boolean.toString(conf.isEnableWal()))));
-
- conf.setFlushWalThreshold(Integer
- .parseInt(properties.getProperty("flush_wal_threshold",
- Integer.toString(conf.getFlushWalThreshold()))));
-
- conf.setForceWalPeriodInMs(Long
- .parseLong(properties.getProperty("force_wal_period_in_ms",
- Long.toString(conf.getForceWalPeriodInMs()))));
-
- conf.setEnableDiscardOutOfOrderData(Boolean.parseBoolean(
- properties.getProperty("enable_discard_out_of_order_data",
- Boolean.toString(conf.isEnableDiscardOutOfOrderData()))));
-
+ conf.setEnableWal(
+ Boolean.parseBoolean(
+ properties.getProperty("enable_wal", Boolean.toString(conf.isEnableWal()))));
+
+ conf.setFlushWalThreshold(
+ Integer.parseInt(
+ properties.getProperty(
+ "flush_wal_threshold", Integer.toString(conf.getFlushWalThreshold()))));
+
+ conf.setForceWalPeriodInMs(
+ Long.parseLong(
+ properties.getProperty(
+ "force_wal_period_in_ms", Long.toString(conf.getForceWalPeriodInMs()))));
+
+ conf.setEnableDiscardOutOfOrderData(
+ Boolean.parseBoolean(
+ properties.getProperty(
+ "enable_discard_out_of_order_data",
+ Boolean.toString(conf.isEnableDiscardOutOfOrderData()))));
}
private void loadAutoCreateSchemaProps(Properties properties) {
diff --cc server/src/main/java/org/apache/iotdb/db/service/IoTDB.java
index 2357dbb,c2368c4..2ce9ce2
--- a/server/src/main/java/org/apache/iotdb/db/service/IoTDB.java
+++ b/server/src/main/java/org/apache/iotdb/db/service/IoTDB.java
@@@ -112,11 -117,7 +114,11 @@@ public class IoTDB implements IoTDBMBea
registerManager.register(UDFClassLoaderManager.getInstance());
registerManager.register(UDFRegistrationService.getInstance());
- //in cluster mode, RPC service is not enabled.
- registerManager.register(RPCService.getInstance());
++ // in cluster mode, RPC service is not enabled.
+ if (IoTDBDescriptor.getInstance().getConfig().isEnableRPCService()) {
+ registerManager.register(RPCService.getInstance());
+ }
+
if (IoTDBDescriptor.getInstance().getConfig().isEnableMetricService()) {
registerManager.register(MetricsService.getInstance());
}
diff --cc server/src/main/java/org/apache/iotdb/db/service/thrift/ThriftService.java
index 92963c0,d975743..7bfb266
--- a/server/src/main/java/org/apache/iotdb/db/service/thrift/ThriftService.java
+++ b/server/src/main/java/org/apache/iotdb/db/service/thrift/ThriftService.java
@@@ -43,11 -45,6 +45,11 @@@ public abstract class ThriftService imp
private CountDownLatch stopLatch;
- //whether enable the service. By default it is true.
- //If we just want to create an IoTDB instance without RPC service, set this false before call
- //IoTDB.active()
++ // whether enable the service. By default it is true.
++ // If we just want to create an IoTDB instance without RPC service, set this false before call
++ // IoTDB.active()
+ private boolean enable = true;
+
public String getRPCServiceStatus() {
if (thriftServiceThread == null) {
logger.debug("Start latch is null when getting status");
@@@ -96,13 -95,10 +100,14 @@@
@SuppressWarnings("squid:S2276")
public void startService() throws StartupException {
+ if (!enable) {
- logger.info("{}: {} is disabled", IoTDBConstant.GLOBAL_DB_NAME,
- this.getID().getName());
- return ;
++ logger.info("{}: {} is disabled", IoTDBConstant.GLOBAL_DB_NAME, this.getID().getName());
++ return;
+ }
if (STATUS_UP.equals(getRPCServiceStatus())) {
- logger.info("{}: {} has been already running now", IoTDBConstant.GLOBAL_DB_NAME,
+ logger.info(
+ "{}: {} has been already running now",
+ IoTDBConstant.GLOBAL_DB_NAME,
this.getID().getName());
return;
}