You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ch...@apache.org on 2021/02/25 08:06:34 UTC
[iotdb] 02/02: merge master
This is an automated email from the ASF dual-hosted git repository.
chaow pushed a commit to branch feature/metric2021
in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit 4b26410817c08d7a8924fd7fd856cc679ce2e7d4
Merge: e4c562a a2b704d
Author: chaow <xu...@gmail.com>
AuthorDate: Thu Feb 25 15:41:17 2021 +0800
merge master
.github/workflows/client.yml | 4 +-
.github/workflows/{main-mac.yml => main-unix.yml} | 10 +-
.github/workflows/main-win.yml | 2 +-
.../{main-linux.yml => sonar-coveralls.yml} | 20 +-
README.md | 2 +
.../java/org/apache/iotdb/cli/AbstractCliIT.java | 2 +-
.../org/apache/iotdb/cli/StartClientScriptIT.java | 4 +-
client-cpp/pom.xml | 156 ++++----
client-cpp/src/assembly/client-cpp.xml | 1 +
cluster/src/assembly/cluster.xml | 8 +-
.../java/org/apache/iotdb/cluster/ClientMain.java | 2 +-
.../iotdb/cluster/client/DataClientProvider.java | 7 +-
.../iotdb/cluster/coordinator/Coordinator.java | 42 +-
.../cluster/log/applier/AsyncDataLogApplier.java | 8 +
.../iotdb/cluster/log/applier/BaseApplier.java | 3 +
.../iotdb/cluster/log/applier/DataLogApplier.java | 11 +
.../cluster/log/logtypes/PhysicalPlanLog.java | 2 +-
.../cluster/log/snapshot/MetaSimpleSnapshot.java | 3 +-
.../apache/iotdb/cluster/metadata/CMManager.java | 168 +++++---
.../apache/iotdb/cluster/metadata/MetaPuller.java | 26 +-
.../iotdb/cluster/query/ClusterPlanExecutor.java | 57 +--
.../iotdb/cluster/query/ClusterPlanRouter.java | 35 +-
.../cluster/query/aggregate/ClusterAggregator.java | 16 +-
.../query/groupby/RemoteGroupByExecutor.java | 37 +-
.../query/last/ClusterLastQueryExecutor.java | 32 +-
.../cluster/query/reader/ClusterReaderFactory.java | 16 +-
.../iotdb/cluster/query/reader/DataSourceInfo.java | 3 +-
.../reader/RemoteSeriesReaderByTimestamp.java | 16 +-
.../query/reader/RemoteSimpleSeriesReader.java | 14 +-
.../apache/iotdb/cluster/server/ClientServer.java | 14 +-
.../iotdb/cluster/server/StoppedMemberManager.java | 2 +-
.../cluster/server/member/DataGroupMember.java | 12 +-
.../apache/iotdb/cluster/server/monitor/Timer.java | 2 +-
.../cluster/utils/nodetool/function/Host.java | 2 +-
.../cluster/client/DataClientProviderTest.java | 3 +
.../iotdb/cluster/common/TestLogManager.java | 4 +-
.../iotdb/cluster/log/CommitLogCallbackTest.java | 4 +-
.../cluster/log/applier/MetaLogApplierTest.java | 11 +-
.../cluster/log/manage/RaftLogManagerTest.java | 3 +-
.../cluster/log/snapshot/DataSnapshotTest.java | 2 +-
.../iotdb/cluster/query/LoadConfigurationTest.java | 4 +-
.../query/reader/RemoteSimpleSeriesReaderTest.java | 2 +-
.../caller/AppendGroupEntryHandlerTest.java | 3 +-
.../handlers/caller/ElectionHandlerTest.java | 2 +-
compile-tools/thrift/pom.xml | 432 +++++++--------------
compile-tools/thrift/src/assembly/compiler.xml | 37 --
compile-tools/thrift/src/assembly/cpp.xml | 51 ---
compile-tools/thrift/src/assembly/python.xml | 38 --
distribution/pom.xml | 31 +-
.../src/assembly/{distribution.xml => all.xml} | 57 +--
distribution/src/assembly/cli.xml | 54 +++
distribution/src/assembly/client-cpp.xml | 38 ++
.../src/assembly/{distribution.xml => cluster.xml} | 64 ++-
distribution/src/assembly/common-files.xml | 48 +++
distribution/src/assembly/grafana.xml | 48 +++
.../src/assembly/{distribution.xml => server.xml} | 49 +--
docker/src/main/Dockerfile | 2 +-
docs/UserGuide/Comparison/TSDB-Comparison.md | 107 +++--
.../DML Data Manipulation Language.md | 38 +-
.../Operation Manual/UDF User Defined Function.md | 6 +-
docs/zh/SystemDesign/DataQuery/AggregationQuery.md | 2 +-
.../DML Data Manipulation Language.md | 36 +-
.../Operation Manual/UDF User Defined Function.md | 6 +-
docs/zh/UserGuide/Server/Config Manual.md | 30 +-
example/client-cpp-example/pom.xml | 214 +++++-----
.../iotdb/flink/FlinkTsFileStreamSource.java | 3 +-
.../iotdb/hadoop/tsfile/TSFMRReadExample.java | 3 +-
.../iotdb/hadoop/tsfile/TSMRWriteExample.java | 3 +-
.../apache/iotdb/hadoop/tsfile/TsFileHelper.java | 3 +-
.../main/java/org/apache/iotdb/SessionExample.java | 5 +-
.../java/org/apache/iotdb/SessionPoolExample.java | 2 +-
.../iotdb/tsfile/TsFileWriteWithTSRecord.java | 2 +-
.../java/org/apache/iotdb/flink/IoTDBSink.java | 2 +-
.../iotdb/flink/IoTDBSinkBatchInsertTest.java | 2 +-
.../iotdb/flink/IoTDBSinkBatchTimerTest.java | 4 +-
.../iotdb/flink/tsfile/RowTSRecordConverter.java | 7 +-
.../flink/tsfile/RowTsFileConnectorTestBase.java | 2 +-
.../flink/tsfile/RowTsFileInputFormatITCase.java | 2 +-
.../web/grafana/dao/impl/BasicDaoImplTest.java | 4 +-
.../apache/iotdb/hadoop/fileSystem/HDFSFile.java | 23 +-
.../apache/iotdb/hadoop/fileSystem/HDFSInput.java | 10 +-
.../apache/iotdb/hadoop/fileSystem/HDFSOutput.java | 4 +-
.../iotdb/hadoop/tsfile/TSFRecordReader.java | 4 +-
.../iotdb/hadoop/tsfile/TSFRecordWriter.java | 2 +-
.../apache/iotdb/hadoop/tsfile/TSFHadoopTest.java | 4 +-
.../iotdb/hadoop/tsfile/TSFInputSplitTest.java | 2 +-
.../iotdb/hadoop/tsfile/TsFileTestHelper.java | 3 +-
.../org/apache/iotdb/hive/TSFHiveOutputFormat.java | 2 +-
.../org/apache/iotdb/hive/TSFHiveRecordReader.java | 2 +-
.../org/apache/iotdb/hive/TsFileDeserializer.java | 2 +-
.../java/org/apache/iotdb/hive/TsFileSerDe.java | 4 +-
.../org/apache/iotdb/hive/TsFileTestHelper.java | 3 +-
.../org/apache/iotdb/jdbc/IoTDBConnection.java | 2 +-
.../org/apache/iotdb/jdbc/IoTDBDataSource.java | 17 +-
.../apache/iotdb/jdbc/IoTDBDataSourceFactory.java | 10 +-
.../apache/iotdb/jdbc/IoTDBDatabaseMetadata.java | 8 +-
.../java/org/apache/iotdb/jdbc/IoTDBDriver.java | 4 +-
.../apache/iotdb/jdbc/IoTDBPreparedStatement.java | 24 +-
.../java/org/apache/iotdb/jdbc/IoTDBStatement.java | 2 +-
.../test/java/org/apache/iotdb/jdbc/BatchTest.java | 2 +-
.../org/apache/iotdb/jdbc/IoTDBConnectionTest.java | 6 +-
.../apache/iotdb/jdbc/IoTDBResultMetadataTest.java | 4 +-
.../org/apache/iotdb/jdbc/IoTDBStatementTest.java | 2 +-
.../test/java/org/apache/iotdb/jdbc/UtilsTest.java | 4 +-
pom.xml | 29 +-
.../iotdb/db/auth/authorizer/OpenIdAuthorizer.java | 8 +-
.../org/apache/iotdb/db/conf/IoTDBDescriptor.java | 2 +-
.../org/apache/iotdb/db/engine/StorageEngine.java | 9 +-
.../db/engine/compaction/TsFileManagement.java | 6 +
.../level/LevelCompactionTsFileManagement.java | 3 +-
.../iotdb/db/engine/merge/manage/MergeManager.java | 4 +-
.../io/LocalTextModificationAccessor.java | 2 +-
.../engine/storagegroup/StorageGroupProcessor.java | 33 +-
.../storagegroup/virtualSg/VirtualPartitioner.java | 4 +-
.../virtualSg/VirtualStorageGroupManager.java | 4 +-
.../query/UnSupportedFillTypeException.java | 2 +-
.../org/apache/iotdb/db/metadata/MManager.java | 66 ++--
.../java/org/apache/iotdb/db/metadata/MTree.java | 128 +++---
.../org/apache/iotdb/db/metadata/MetaUtils.java | 37 ++
.../org/apache/iotdb/db/metadata/mnode/MNode.java | 49 ++-
.../apache/iotdb/db/metrics/server/JettyUtil.java | 6 +-
.../iotdb/db/metrics/server/QueryServlet.java | 7 +-
.../apache/iotdb/db/metrics/ui/MetricsPage.java | 2 +-
.../apache/iotdb/db/qp/executor/IPlanExecutor.java | 8 +
.../apache/iotdb/db/qp/executor/PlanExecutor.java | 76 ++--
.../org/apache/iotdb/db/qp/logical/Operator.java | 3 +-
.../apache/iotdb/db/qp/physical/PhysicalPlan.java | 8 +-
.../iotdb/db/qp/physical/crud/AggregationPlan.java | 35 ++
.../iotdb/db/qp/physical/crud/InsertRowPlan.java | 10 +-
.../physical/crud/InsertRowsOfOneDevicePlan.java | 4 +-
.../iotdb/db/qp/physical/crud/InsertRowsPlan.java | 219 +++++++++++
.../iotdb/db/qp/physical/sys/AuthorPlan.java | 2 +-
.../qp/physical/sys/CreateMultiTimeSeriesPlan.java | 14 +
.../iotdb/db/qp/physical/sys/DataAuthPlan.java | 2 +-
.../db/qp/physical/sys/DeleteTimeSeriesPlan.java | 22 ++
.../apache/iotdb/db/qp/physical/sys/ShowPlan.java | 2 +-
.../apache/iotdb/db/qp/sql/IoTDBSqlVisitor.java | 2 +-
.../iotdb/db/qp/strategy/PhysicalGenerator.java | 11 +
.../qp/strategy/optimizer/ConcatPathOptimizer.java | 11 -
.../db/query/aggregation/impl/AvgAggrResult.java | 17 +
.../db/query/aggregation/impl/CountAggrResult.java | 2 +-
.../query/aggregation/impl/MaxValueAggrResult.java | 4 +-
.../query/aggregation/impl/MinValueAggrResult.java | 7 +-
.../iotdb/db/query/dataset/SingleDataSet.java | 5 +-
.../query/dataset/groupby/GroupByTimeDataSet.java | 8 +-
.../db/query/executor/AggregationExecutor.java | 12 +-
.../db/query/reader/chunk/DiskChunkLoader.java | 2 +-
.../db/query/reader/chunk/MemChunkLoader.java | 4 +-
.../db/query/reader/chunk/MemChunkReader.java | 2 +-
.../chunk/metadata/MemChunkMetadataLoader.java | 3 +-
.../query/reader/series/SeriesAggregateReader.java | 2 +-
.../iotdb/db/query/reader/series/SeriesReader.java | 20 +-
.../UDFInputSeriesDataTypeNotValidException.java | 4 +-
.../db/query/udf/core/executor/UDTFExecutor.java | 2 +-
.../udf/service/TemporaryQueryDataFileService.java | 7 +-
.../query/udf/service/UDFRegistrationService.java | 9 +-
.../org/apache/iotdb/db/service/JMXService.java | 3 +-
.../org/apache/iotdb/db/service/MQTTService.java | 3 +-
.../apache/iotdb/db/service/MetricsService.java | 4 +-
.../org/apache/iotdb/db/service/RPCService.java | 3 +-
.../org/apache/iotdb/db/service/TSServiceImpl.java | 100 +++--
.../org/apache/iotdb/db/service/UpgradeSevice.java | 3 +-
.../iotdb/db/sync/receiver/SyncServerManager.java | 3 +-
.../db/sync/receiver/transfer/SyncServiceImpl.java | 9 +-
.../apache/iotdb/db/tools/TsFileSketchTool.java | 6 +-
.../db/tools/watermark/WatermarkDetector.java | 2 +-
.../java/org/apache/iotdb/db/utils/AuthUtils.java | 2 +-
.../iotdb/db/utils/EncodingInferenceUtils.java | 2 +-
.../org/apache/iotdb/db/utils/FilePathUtils.java | 155 ++++----
.../java/org/apache/iotdb/db/utils/FileUtils.java | 3 +-
.../org/apache/iotdb/db/utils/SchemaUtils.java | 6 +-
.../db/auth/authorizer/OpenIdAuthorizerTest.java | 2 +-
.../db/auth/role/LocalFileRoleAccessorTest.java | 2 +-
.../db/auth/role/LocalFileRoleManagerTest.java | 2 +-
.../db/auth/user/LocalFileUserAccessorTest.java | 2 +-
.../IoTDBDefaultThreadExceptionHandlerTest.java | 4 +-
.../db/concurrent/IoTDBThreadPoolFactoryTest.java | 8 +-
.../org/apache/iotdb/db/constant/TestConstant.java | 3 +-
.../db/engine/memtable/MemTableFlushTaskTest.java | 3 +-
.../db/engine/memtable/MemtableBenchmark.java | 3 +-
.../db/engine/memtable/PrimitiveMemTableTest.java | 4 +-
.../iotdb/db/engine/merge/MergeTaskTest.java | 3 +-
.../engine/modification/DeletionFileNodeTest.java | 3 +-
.../io/LocalTextModificationAccessorTest.java | 2 +-
.../storagegroup/StorageGroupProcessorTest.java | 3 +-
.../iotdb/db/engine/storagegroup/TTLTest.java | 4 +-
.../engine/storagegroup/TsFileProcessorTest.java | 2 +-
.../virtualSg/HashVirtualPartitionerTest.java | 2 +-
.../db/integration/IoTDBAutoCreateSchemaIT.java | 106 +++++
.../iotdb/db/integration/IoTDBCheckConfigIT.java | 2 +-
.../iotdb/db/integration/IoTDBClearCacheIT.java | 3 +-
.../apache/iotdb/db/integration/IoTDBCloseIT.java | 3 +-
.../iotdb/db/integration/IoTDBCompleteIT.java | 20 +-
.../iotdb/db/integration/IoTDBCompressTypeIT.java | 2 +-
.../db/integration/IoTDBCreateSnapshotIT.java | 2 +-
.../db/integration/IoTDBCreateTimeseriesIT.java | 157 ++++++++
.../apache/iotdb/db/integration/IoTDBDaemonIT.java | 14 +-
.../db/integration/IoTDBDeleteStorageGroupIT.java | 2 +-
.../db/integration/IoTDBDeleteTimeseriesIT.java | 2 +-
.../db/integration/IoTDBEngineTimeGeneratorIT.java | 3 +-
.../apache/iotdb/db/integration/IoTDBFillIT.java | 21 +-
.../db/integration/IoTDBFloatPrecisionIT.java | 5 +-
.../db/integration/IoTDBFlushQueryMergeIT.java | 6 +-
.../iotdb/db/integration/IoTDBLargeDataIT.java | 12 +-
.../apache/iotdb/db/integration/IoTDBLastIT.java | 4 +-
.../iotdb/db/integration/IoTDBLimitSlimitIT.java | 11 +-
.../iotdb/db/integration/IoTDBMergeTest.java | 2 +-
.../iotdb/db/integration/IoTDBMetadataFetchIT.java | 2 +-
.../iotdb/db/integration/IoTDBMultiDeviceIT.java | 3 +-
.../iotdb/db/integration/IoTDBMultiSeriesIT.java | 8 +-
.../db/integration/IoTDBMultiStatementsIT.java | 3 +-
.../iotdb/db/integration/IoTDBNumberPathIT.java | 21 +-
.../iotdb/db/integration/IoTDBQueryDemoIT.java | 2 +-
.../iotdb/db/integration/IoTDBQuotedPathIT.java | 2 +-
.../iotdb/db/integration/IoTDBRecoverIT.java | 4 +-
.../db/integration/IoTDBRecoverUnclosedIT.java | 4 +-
.../db/integration/IoTDBRemovePartitionIT.java | 7 +-
.../IoTDBSameMeasurementsDifferentTypesIT.java | 3 +-
.../iotdb/db/integration/IoTDBSeriesReaderIT.java | 41 ++
.../iotdb/db/integration/IoTDBSimpleQueryIT.java | 2 +-
.../iotdb/db/integration/IoTDBTagAlterIT.java | 2 +-
.../apache/iotdb/db/integration/IoTDBTagIT.java | 2 +-
.../iotdb/db/integration/IoTDBVersionIT.java | 2 +-
.../aggregation/IoTDBAggregationByLevelIT.java | 86 ++--
.../aggregation/IoTDBAggregationIT.java | 10 +-
.../aggregation/IoTDBAggregationLargeDataIT.java | 7 +-
.../db/integration/auth/IoTDBAuthorizationIT.java | 2 +-
.../iotdb/db/metadata/MManagerBasicTest.java | 68 +++-
.../org/apache/iotdb/db/metadata/MTreeTest.java | 29 +-
.../apache/iotdb/db/metadata/MetaUtilsTest.java | 35 ++
.../apache/iotdb/db/metadata/PartialPathTest.java | 2 +-
.../apache/iotdb/db/metadata/mnode/MNodeTest.java | 71 ++++
.../iotdb/db/qp/logical/IndexLogicalPlanTest.java | 5 +-
.../db/qp/physical/PhysicalPlanSerializeTest.java | 140 +++----
.../iotdb/db/qp/physical/SerializationTest.java | 4 +-
.../iotdb/db/qp/sql/IoTDBsqlVisitorTest.java | 4 +-
.../iotdb/db/query/control/TracingManagerTest.java | 5 +-
.../reader/series/SeriesAggregateReaderTest.java | 6 +-
.../reader/series/SeriesReaderByTimestampTest.java | 6 +-
.../db/query/reader/series/SeriesReaderTest.java | 6 +-
.../query/reader/series/SeriesReaderTestUtil.java | 6 +-
.../org/apache/iotdb/db/script/EnvScriptIT.java | 6 +-
.../db/sync/receiver/load/FileLoaderTest.java | 8 +-
.../recover/SyncReceiverLogAnalyzerTest.java | 7 +-
.../receiver/recover/SyncReceiverLoggerTest.java | 6 +-
.../db/sync/sender/manage/SyncFileManagerTest.java | 6 +-
.../db/sync/sender/transfer/SyncClientTest.java | 6 +-
.../apache/iotdb/db/tools/IoTDBWatermarkTest.java | 7 +-
.../org/apache/iotdb/db/tools/MLogParserTest.java | 2 +-
.../apache/iotdb/db/utils/FilePathUtilsTest.java | 3 +-
.../org/apache/iotdb/db/utils/SchemaUtilsTest.java | 2 +-
.../db/utils/datastructure/PrecisionTest.java | 9 +-
.../apache/iotdb/db/writelog/PerformanceTest.java | 5 +-
.../iotdb/db/writelog/WriteLogNodeManagerTest.java | 2 +-
.../apache/iotdb/db/writelog/WriteLogNodeTest.java | 2 +-
.../iotdb/db/writelog/recover/LogReplayerTest.java | 3 +-
.../java/org/apache/iotdb/rpc/IoTDBRpcDataSet.java | 2 +-
.../apache/iotdb/session/IoTDBSessionSimpleIT.java | 20 +
.../apache/iotdb/session/SessionCacheLeaderUT.java | 33 +-
.../public/img/contributor-avatar/xww.jpg | Bin 0 -> 64538 bytes
.../public/img/contributor-avatar/yrzh.jpg | Bin 0 -> 99556 bytes
site/src/main/.vuepress/theme/components/Page.vue | 35 +-
.../theme/global-components/Contributor.vue | 14 +
.../apache/iotdb/spark/db/EnvironmentUtils.java | 2 +-
.../spark/tsfile/qp/common/BasicOperator.java | 4 +-
.../tsfile/qp/optimizer/RemoveNotOptimizer.java | 20 +-
.../apache/iotdb/tsfile/compress/ICompressor.java | 6 +-
.../iotdb/tsfile/compress/IUnCompressor.java | 6 +-
.../tsfile/encoding/decoder/BitmapDecoder.java | 21 +-
.../tsfile/encoding/decoder/LongRleDecoder.java | 3 +-
.../tsfile/encoding/decoder/PlainDecoder.java | 3 +-
.../encoding/encoder/RegularDataEncoder.java | 8 +-
.../encoding/encoder/SinglePrecisionEncoderV1.java | 3 +-
.../iotdb/tsfile/read/UnClosedTsFileReader.java | 4 +-
.../read/expression/impl/GlobalTimeExpression.java | 2 +-
.../query/dataset/DataSetWithoutTimeGenerator.java | 2 +-
.../tsfile/read/reader/BatchDataIterator.java | 4 +-
.../iotdb/tsfile/read/reader/LocalTsFileInput.java | 2 +-
.../org/apache/iotdb/tsfile/utils/PublicBAOS.java | 4 +
.../iotdb/tsfile/utils/RamUsageEstimator.java | 2 +-
.../apache/iotdb/tsfile/write/TsFileWriter.java | 2 +-
.../tsfile/write/chunk/ChunkGroupWriterImpl.java | 6 +-
.../write/record/datapoint/BooleanDataPoint.java | 4 +-
.../write/record/datapoint/DoubleDataPoint.java | 4 +-
.../write/record/datapoint/FloatDataPoint.java | 4 +-
.../write/record/datapoint/IntDataPoint.java | 4 +-
.../write/record/datapoint/LongDataPoint.java | 4 +-
.../write/record/datapoint/StringDataPoint.java | 4 +-
.../iotdb/tsfile/encoding/SDTEncoderTest.java | 12 +-
.../tsfile/encoding/bitpacking/IntPackerTest.java | 2 +-
.../tsfile/encoding/bitpacking/LongPackerTest.java | 2 +-
.../tsfile/encoding/decoder/BitmapDecoderTest.java | 4 +-
.../tsfile/encoding/decoder/FloatDecoderTest.java | 4 +-
.../encoding/decoder/GorillaDecoderV1Test.java | 4 +-
.../tsfile/encoding/decoder/IntRleDecoderTest.java | 4 +-
.../encoding/decoder/LongRleDecoderTest.java | 4 +-
.../delta/DeltaBinaryEncoderIntegerTest.java | 10 +-
.../decoder/delta/DeltaBinaryEncoderLongTest.java | 10 +-
.../regular/RegularDataEncoderIntegerTest.java | 15 +-
.../regular/RegularDataEncoderLongTest.java | 15 +-
.../file/metadata/TimeSeriesMetadataTest.java | 2 +-
.../tsfile/file/metadata/TsFileMetadataTest.java | 2 +-
.../iotdb/tsfile/read/TimePlainEncodeReadTest.java | 3 +-
.../tsfile/read/TimeSeriesMetadataReadTest.java | 2 +-
.../tsfile/read/filter/GroupByFilterTest.java | 2 +-
.../read/query/executor/QueryExecutorTest.java | 3 +-
.../query/timegenerator/ReaderByTimestampTest.java | 3 +-
.../TsFileGeneratorForSeriesReaderByTimestamp.java | 8 +-
.../tsfile/read/reader/FakedMultiBatchReader.java | 4 +-
.../apache/iotdb/tsfile/utils/BytesUtilsTest.java | 8 +-
.../org/apache/iotdb/tsfile/utils/FileUtils.java | 2 +-
.../tsfile/utils/ReadWriteStreamUtilsTest.java | 4 +-
.../tsfile/utils/ReadWriteToBytesUtilsTest.java | 2 +-
.../apache/iotdb/tsfile/utils/RecordUtilsTest.java | 3 +-
.../org/apache/iotdb/tsfile/write/PerfTest.java | 2 +-
.../iotdb/tsfile/write/ReadPageInMemTest.java | 2 +-
.../iotdb/tsfile/write/TsFileReadWriteTest.java | 4 +-
.../iotdb/tsfile/write/TsFileWriterTest.java | 2 +-
.../org/apache/iotdb/tsfile/write/WriteTest.java | 4 +-
319 files changed, 2992 insertions(+), 2094 deletions(-)
diff --cc pom.xml
index e2ee6db,9e30952..b68e0ef
--- a/pom.xml
+++ b/pom.xml
@@@ -100,7 -100,8 +100,9 @@@
<module>cross-tests</module>
<module>zeppelin-interpreter</module>
<module>client-py</module>
+ <module>metrics</module>
+ <module>compile-tools</module>
+ <module>client-cpp</module>
</modules>
<!-- Properties Management -->
<properties>
diff --cc server/src/main/java/org/apache/iotdb/db/qp/executor/PlanExecutor.java
index f55532d,85fce24..4a0fd88
--- a/server/src/main/java/org/apache/iotdb/db/qp/executor/PlanExecutor.java
+++ b/server/src/main/java/org/apache/iotdb/db/qp/executor/PlanExecutor.java
@@@ -1101,8 -1099,28 +1102,29 @@@ public class PlanExecutor implements IP
}
@Override
+ public void insert(InsertRowsPlan plan) throws QueryProcessException {
+ boolean allSuccess = true;
+ for (int i = 0; i < plan.getInsertRowPlanList().size(); i++) {
+ if (plan.getResults().containsKey(i)) {
+ allSuccess = false;
+ continue;
+ }
+ try {
+ insert(plan.getInsertRowPlanList().get(i));
+ plan.getResults().put(i, RpcUtils.getStatus(TSStatusCode.SUCCESS_STATUS));
+ } catch (QueryProcessException e) {
+ plan.getResults().put(i, RpcUtils.getStatus(e.getErrorCode(), e.getMessage()));
+ allSuccess = false;
+ }
+ if (!allSuccess) {
+ throw new BatchProcessException(plan.getResults().values().toArray(new TSStatus[0]));
+ }
+ }
+ }
+
+ @Override
public void insert(InsertRowPlan insertRowPlan) throws QueryProcessException {
+ long startTime = System.currentTimeMillis();
try {
insertRowPlan.setMeasurementMNodes(
new MeasurementMNode[insertRowPlan.getMeasurements().length]);
diff --cc server/src/main/java/org/apache/iotdb/db/service/TSServiceImpl.java
index 3a02261,60feccf..9559bfa
--- a/server/src/main/java/org/apache/iotdb/db/service/TSServiceImpl.java
+++ b/server/src/main/java/org/apache/iotdb/db/service/TSServiceImpl.java
@@@ -1182,35 -1154,46 +1177,58 @@@ public class TSServiceImpl implements T
req.getMeasurementsList().get(i).toArray(new String[0]),
req.valuesList.get(i));
TSStatus status = checkAuthority(plan, req.getSessionId());
- if (status == null) {
- status = executeNonQueryPlan(plan);
- isAllSuccessful =
- ((status.getCode() == TSStatusCode.SUCCESS_STATUS.getStatusCode())
- && isAllSuccessful);
+ if (status != null) {
+ insertRowsPlan.getResults().put(i, status);
+ allSuccess = false;
}
- statusList.add(status);
+ insertRowsPlan.addOneInsertRowPlan(plan, i);
} catch (Exception e) {
- isAllSuccessful = false;
- statusList.add(
- onNPEOrUnexpectedException(e, "inserting records", TSStatusCode.INTERNAL_SERVER_ERROR));
+ allSuccess = false;
+ insertRowsPlan
+ .getResults()
+ .put(
+ i,
+ onNPEOrUnexpectedException(
+ e, "inserting records", TSStatusCode.INTERNAL_SERVER_ERROR));
}
}
-
+ long startTime = System.currentTimeMillis();
+ TSStatus tsStatus = executeNonQueryPlan(insertRowsPlan);
+
+ IoTDB.serverMetricManager.timer(
+ System.currentTimeMillis() - startTime,
+ TimeUnit.MILLISECONDS,
+ "insert_records_latency",
+ "sg",
+ "root",
+ "user",
+ sessionIdUsernameMap.get(req.getSessionId()),
+ "host",
+ config.getRpcAddress());
+
- return isAllSuccessful
- ? RpcUtils.getStatus(TSStatusCode.SUCCESS_STATUS)
- : RpcUtils.getStatus(statusList);
+ return judgeFinalTsStatus(
+ allSuccess, tsStatus, insertRowsPlan.getResults(), req.deviceIds.size());
+ }
+
+ private TSStatus judgeFinalTsStatus(
+ boolean allSuccess,
+ TSStatus executeTsStatus,
+ Map<Integer, TSStatus> checkTsStatus,
+ int totalRowCount) {
+
+ if (allSuccess) {
+ return executeTsStatus;
+ }
+
+ if (executeTsStatus.subStatus == null) {
+ TSStatus[] tmpSubTsStatus = new TSStatus[totalRowCount];
+ Arrays.fill(tmpSubTsStatus, RpcUtils.SUCCESS_STATUS);
+ executeTsStatus.subStatus = Arrays.asList(tmpSubTsStatus);
+ }
+ for (Entry<Integer, TSStatus> entry : checkTsStatus.entrySet()) {
+ executeTsStatus.subStatus.set(entry.getKey(), entry.getValue());
+ }
+ return RpcUtils.getStatus(executeTsStatus.subStatus);
}
@Override