This is an automated email from the ASF dual-hosted git repository. lta pushed a commit to branch reimpl_sync in repository https://gitbox.apache.org/repos/asf/incubator-iotdb.git
commit 7fe4a072d776d6acb6c62151653da2223a56440c Merge: eeb1e3c 18ae6c7 Author: lta <[email protected]> AuthorDate: Fri Aug 30 10:46:17 2019 +0800 merge master README.md | 237 ++------- RELEASE_NOTES.md | 4 +- client/pom.xml | 1 - .../src/assembly/resources/sbin/start-client.bat | 2 +- client/src/assembly/resources/sbin/start-client.sh | 2 +- client/src/assembly/resources/tools/export-csv.bat | 2 +- client/src/assembly/resources/tools/export-csv.sh | 2 +- client/src/assembly/resources/tools/import-csv.bat | 2 +- client/src/assembly/resources/tools/import-csv.sh | 2 +- .../iotdb/{cli => }/client/AbstractClient.java | 207 ++++---- .../org/apache/iotdb/{cli => }/client/Client.java | 10 +- .../apache/iotdb/{cli => }/client/WinClient.java | 6 +- .../{cli => }/exception/ArgsErrorException.java | 2 +- .../iotdb/{cli => }/tool/AbstractCsvTool.java | 4 +- .../org/apache/iotdb/{cli => }/tool/ExportCsv.java | 6 +- .../org/apache/iotdb/{cli => }/tool/ImportCsv.java | 6 +- .../iotdb/{cli => }/client/AbstractClientIT.java | 62 ++- .../iotdb/{cli => }/client/AbstractScript.java | 2 +- .../{cli => }/client/StartClientScriptIT.java | 2 +- .../iotdb/{cli => }/tool/ExportCsvTestIT.java | 4 +- .../iotdb/{cli => }/tool/ImportCsvTestIT.java | 4 +- docs/Development.md | 4 +- docs/Documentation-CHN/QuickStart.md | 8 +- .../UserGuide/1-Overview/3-Scenario.md | 4 +- .../UserGuide/6-JDBC API/2-Status Code.md | 64 +++ .../UserGuide/7-Session API/1-Session API.md | 105 ++++ .../{7-TsFile => 8-TsFile}/1-Installation.md | 2 +- .../UserGuide/{7-TsFile => 8-TsFile}/2-Usage.md | 2 +- .../{7-TsFile => 8-TsFile}/3-Hierarchy.md | 2 +- .../{8-System Tools => 9-System Tools}/1-Sync.md | 2 +- .../2-Memory Estimation Tool.md | 2 +- .../UserGuide/{8-Tools-Cli.md => 9-Tools-Cli.md} | 28 +- .../{8-Tools-Grafana.md => 9-Tools-Grafana.md} | 0 .../{8-Tools-Hadoop.md => 9-Tools-Hadoop.md} | 0 .../{8-Tools-spark.md => 9-Tools-spark.md} | 0 docs/Documentation/Frequently asked questions.md | 14 +- docs/Documentation/QuickStart.md | 307 +++--------- docs/Documentation/UserGuide/0-Content.md | 7 +- .../UserGuide/1-Overview/3-Scenario.md | 4 +- .../UserGuide/3-Operation Manual/3-Data Import.md | 2 +- .../4-Deployment and Management/1-Deployment.md | 4 +- .../6-Data Management.md | 42 +- .../7-Build and use IoTDB by Dockerfile.md | 6 +- .../UserGuide/6-JDBC API/1-JDBC API.md | 4 +- .../UserGuide/6-JDBC API/2-Status Code.md | 64 +++ .../UserGuide/7-Session API/1-Session API.md | 115 +++++ .../{7-TsFile => 8-TsFile}/1-Installation.md | 2 +- .../UserGuide/{7-TsFile => 8-TsFile}/2-Usage.md | 26 +- .../{7-TsFile => 8-TsFile}/3-Hierarchy.md | 146 ++++-- .../{8-System Tools => 9-System Tools}/1-Sync.md | 2 +- .../2-Memory Estimation Tool.md | 2 +- .../UserGuide/{8-Tools-Cli.md => 9-Tools-Cli.md} | 22 +- .../{8-Tools-Grafana.md => 9-Tools-Grafana.md} | 0 .../{8-Tools-Hadoop.md => 9-Tools-Hadoop.md} | 0 .../{8-Tools-spark.md => 9-Tools-spark.md} | 0 example/{tsfile => jdbc}/pom.xml | 26 +- .../main/java/org/apache/iotdb/JDBCExample.java | 76 +++ .../org/apache/iotdb}/PrepareStatementDemo.java | 40 +- example/pom.xml | 2 + .../iotdb/{example => rocketmq}/Constant.java | 2 +- .../{example => rocketmq}/RocketMQConsumer.java | 2 +- .../{example => rocketmq}/RocketMQProducer.java | 2 +- .../apache/iotdb/{example => rocketmq}/Utils.java | 2 +- example/{tsfile => session}/pom.xml | 26 +- .../main/java/org/apache/iotdb/SessionExample.java | 70 +++ example/tsfile/pom.xml | 9 - example/tsfile/readme.md | 2 +- .../iotdb/tsfile/TsFileWriteWithRowBatch.java | 11 +- .../iotdb/tsfile/hadoop/TSFRecordWriter.java | 6 +- .../org/apache/iotdb/jdbc/IoTDBConnection.java | 96 +--- .../apache/iotdb/jdbc/IoTDBDatabaseMetadata.java | 32 +- .../jdbc/IoTDBPreparedInsertionStatement.java | 7 +- .../apache/iotdb/jdbc/IoTDBPreparedStatement.java | 1 + .../org/apache/iotdb/jdbc/IoTDBQueryResultSet.java | 22 +- .../org/apache/iotdb/jdbc/IoTDBSQLException.java | 4 + .../java/org/apache/iotdb/jdbc/IoTDBStatement.java | 50 +- .../src/main/java/org/apache/iotdb/jdbc/Utils.java | 25 +- .../test/java/org/apache/iotdb/jdbc/BatchTest.java | 15 +- .../org/apache/iotdb/jdbc/IoTDBConnectionTest.java | 15 +- .../iotdb/jdbc/IoTDBDatabaseMetadataTest.java | 36 +- .../iotdb/jdbc/IoTDBPreparedStatementTest.java | 15 +- .../apache/iotdb/jdbc/IoTDBQueryResultSetTest.java | 109 ++-- .../org/apache/iotdb/jdbc/IoTDBStatementTest.java | 22 +- .../test/java/org/apache/iotdb/jdbc/UtilsTest.java | 19 +- .../org/apache/iotdb/jdbc/demo/MetadataDemo.java | 36 -- .../org/apache/iotdb/jdbc/demo/StatementDemo.java | 68 --- pom.xml | 25 +- .../resources/conf/iotdb-engine.properties | 49 +- .../tools/print-tsfile-resource-files.bat | 59 ++- .../resources/tools/print-tsfile-resource-files.sh | 48 +- .../org/apache/iotdb/db/sql/parse/TSParser.g | 2 +- .../java/org/apache/iotdb/db/conf/IoTDBConfig.java | 152 +++++- .../org/apache/iotdb/db/conf/IoTDBConstant.java | 2 +- .../org/apache/iotdb/db/conf/IoTDBDescriptor.java | 36 +- .../iotdb/db/cost/statistic/Measurement.java | 2 +- .../apache/iotdb/db/cost/statistic/Operation.java | 3 +- .../org/apache/iotdb/db/engine/StorageEngine.java | 58 ++- .../iotdb/db/engine/cache/DeviceMetaDataCache.java | 20 +- .../iotdb/db/engine/cache/TsFileMetaDataCache.java | 27 +- .../iotdb/db/engine/cache/TsFileMetadataUtils.java | 17 +- .../apache/iotdb/db/engine/flush/FlushManager.java | 2 +- .../iotdb/db/engine/flush/MemTableFlushTask.java | 13 +- .../iotdb/db/engine/memtable/AbstractMemTable.java | 21 +- .../apache/iotdb/db/engine/memtable/IMemTable.java | 7 +- .../db/engine/memtable/IWritableMemChunk.java | 15 +- .../iotdb/db/engine/memtable/WritableMemChunk.java | 86 +++- .../iotdb/db/engine/merge/manage/MergeContext.java | 90 ++++ .../iotdb/db/engine/merge/manage/MergeManager.java | 127 +++++ .../db/engine/merge/manage/MergeResource.java | 262 ++++++++++ .../apache/iotdb/db/engine/merge/package-info.java | 11 +- .../iotdb/db/engine/merge/recover/LogAnalyzer.java | 300 +++++++++++ .../iotdb/db/engine/merge/recover/MergeLogger.java | 132 +++++ .../merge/selector/IFileQueryMemMeasurement.java} | 22 +- .../engine/merge/selector/IMergeFileSelector.java | 18 +- .../engine/merge/selector/IMergePathSelector.java | 16 +- .../merge/selector/MaxFileMergeFileSelector.java | 303 ++++++++++++ .../merge/selector/MaxSeriesMergeFileSelector.java | 108 ++++ .../engine/merge/selector/MergeFileStrategy.java | 15 +- .../engine/merge/selector/NaivePathSelector.java | 42 +- .../iotdb/db/engine/merge/task/MergeCallback.java | 27 +- .../iotdb/db/engine/merge/task/MergeFileTask.java | 238 +++++++++ .../db/engine/merge/task/MergeMultiChunkTask.java | 440 +++++++++++++++++ .../iotdb/db/engine/merge/task/MergeTask.java | 172 +++++++ .../db/engine/merge/task/RecoverMergeTask.java | 268 ++++++++++ .../db/engine/modification/ModificationFile.java | 7 + .../engine/storagegroup/StorageGroupProcessor.java | 408 ++++++++++++--- .../db/engine/storagegroup/TsFileProcessor.java | 51 +- .../db/engine/storagegroup/TsFileResource.java | 63 ++- .../MergeException.java} | 22 +- .../java/org/apache/iotdb/db/metadata/MGraph.java | 2 - .../db/qp/executor/IQueryProcessExecutor.java | 7 + .../iotdb/db/qp/executor/QueryProcessExecutor.java | 37 +- .../org/apache/iotdb/db/qp/logical/Operator.java | 2 +- .../iotdb/db/qp/logical/sys/MetadataOperator.java | 8 +- .../apache/iotdb/db/qp/physical/PhysicalPlan.java | 7 +- .../iotdb/db/qp/physical/crud/BatchInsertPlan.java | 276 +++++++++++ .../iotdb/db/qp/physical/sys/MetadataPlan.java | 48 +- .../iotdb/db/qp/strategy/LogicalGenerator.java | 6 +- .../iotdb/db/qp/strategy/PhysicalGenerator.java | 6 - .../iotdb/db/query/control/FileReaderManager.java | 77 +-- .../iotdb/db/query/control/JobFileManager.java | 35 +- .../db/query/control/QueryResourceManager.java | 122 +---- .../groupby/GroupByWithValueFilterDataSet.java | 3 - .../groupby/GroupByWithoutValueFilterDataSet.java | 1 - .../db/query/executor/AggregateEngineExecutor.java | 21 +- .../iotdb/db/query/executor/EngineExecutor.java | 7 - .../iotdb/db/query/executor/EngineQueryRouter.java | 8 +- .../db/query/executor/FillEngineExecutor.java | 1 - .../apache/iotdb/db/query/reader/IPointReader.java | 1 + ...ChunkReader.java => CachedDiskChunkReader.java} | 42 +- .../query/reader/chunkRelated/DiskChunkReader.java | 1 + .../fileRelated/UnSealedTsFileIterateReader.java | 6 +- .../UnSealedTsFileReaderByTimestamp.java | 6 +- .../CachedUnseqResourceMergeReader.java | 37 +- .../resourceRelated/SeqResourceIterateReader.java | 9 +- .../SeqResourceReaderByTimestamp.java | 8 +- .../resourceRelated/UnseqResourceMergeReader.java | 22 +- .../UnseqResourceReaderByTimestamp.java | 4 +- .../universal/CachedPriorityMergeReader.java | 95 ++++ .../reader/universal/PriorityMergeReader.java | 109 ++-- .../org/apache/iotdb/db/rescon/MemTablePool.java | 1 + .../java/org/apache/iotdb/db/service/IoTDB.java | 6 +- .../org/apache/iotdb/db/service/JDBCService.java | 3 +- .../org/apache/iotdb/db/service/ServiceType.java | 3 +- .../org/apache/iotdb/db/service/TSServiceImpl.java | 414 +++++++++------- .../iotdb/db/tools/TsFileResourcePrinter.java | 64 +++ .../java/org/apache/iotdb/db/utils/MemUtils.java | 30 +- .../java/org/apache/iotdb/db/utils/MergeUtils.java | 306 ++++++++++++ .../apache/iotdb/db/utils/QueryDataSetUtils.java | 86 ++++ .../{FileSchemaUtils.java => SchemaUtils.java} | 20 +- .../apache/iotdb/db/utils/TimeValuePairUtils.java | 100 +++- .../org/apache/iotdb/db/utils/TsPrimitiveType.java | 54 ++ .../iotdb/db/utils/datastructure/BinaryTVList.java | 31 ++ .../db/utils/datastructure/BooleanTVList.java | 31 ++ .../iotdb/db/utils/datastructure/DoubleTVList.java | 31 ++ .../iotdb/db/utils/datastructure/FloatTVList.java | 31 ++ .../iotdb/db/utils/datastructure/IntTVList.java | 31 ++ .../iotdb/db/utils/datastructure/LongTVList.java | 31 ++ .../iotdb/db/utils/datastructure/TVList.java | 38 ++ .../writelog/manager/MultiFileLogNodeManager.java | 2 +- .../iotdb/db/writelog/recover/LogReplayer.java | 23 +- .../writelog/recover/TsFileRecoverPerformer.java | 118 +++-- .../db/cost/statistic/PerformanceStatTest.java | 2 +- .../db/engine/memtable/MemTableFlushTaskTest.java | 2 +- .../db/engine/memtable/MemTableTestUtils.java | 10 +- .../engine/merge/MaxFileMergeFileSelectorTest.java | 85 ++++ .../merge/MaxSeriesMergeFileSelectorTest.java | 103 ++++ .../apache/iotdb/db/engine/merge/MergeLogTest.java | 82 +++ .../iotdb/db/engine/merge/MergePerfTest.java | 105 ++++ .../iotdb/db/engine/merge/MergeTaskTest.java | 233 +++++++++ .../apache/iotdb/db/engine/merge/MergeTest.java | 169 +++++++ .../engine/modification/DeletionFileNodeTest.java | 2 - .../db/engine/modification/DeletionQueryTest.java | 4 +- .../storagegroup/StorageGroupProcessorTest.java | 134 ++++- .../engine/storagegroup/TsFileProcessorTest.java | 10 +- .../apache/iotdb/db/integration/IOTDBFillIT.java | 202 ++++---- .../iotdb/db/integration/IOTDBGroupByIT.java | 309 +++++------- .../iotdb/db/integration/IoTDBAggregationIT.java | 478 ++++++++---------- .../integration/IoTDBAggregationLargeDataIT.java | 435 ++++++---------- .../integration/IoTDBAggregationSmallDataIT.java | 549 +++++++++------------ .../iotdb/db/integration/IoTDBCompleteIT.java | 15 +- .../apache/iotdb/db/integration/IoTDBDaemonIT.java | 216 ++++---- .../iotdb/db/integration/IoTDBDeletionIT.java | 198 ++++---- .../db/integration/IoTDBEngineTimeGeneratorIT.java | 14 +- .../db/integration/IoTDBFloatPrecisionIT.java | 110 ++--- .../db/integration/IoTDBFlushQueryMergeTest.java | 44 +- .../iotdb/db/integration/IoTDBLargeDataIT.java | 167 +++---- .../iotdb/db/integration/IoTDBLimitSlimitIT.java | 73 ++- .../iotdb/db/integration/IoTDBMergeTest.java | 97 ++++ .../iotdb/db/integration/IoTDBMetadataFetchIT.java | 208 ++++---- .../iotdb/db/integration/IoTDBMultiSeriesIT.java | 167 +++---- .../iotdb/db/integration/IoTDBPreparedStmtIT.java | 58 +-- .../db/integration/IoTDBSequenceDataQueryIT.java | 13 +- .../iotdb/db/integration/IoTDBSeriesReaderIT.java | 19 +- .../iotdb/db/integration/IoTDBTimeZoneIT.java | 30 +- .../iotdb/db/integration/IoTDBVersionIT.java | 13 +- .../apache/iotdb/db/qp/utils/MemIntQpExecutor.java | 6 + .../db/query/control/FileReaderManagerTest.java | 33 +- .../fileRelated/UnSealedTsFileReaderTest.java | 6 +- .../resourceRelated/SeqResourceReaderTest.java | 6 +- .../resourceRelated/UnseqResourceReaderTest.java | 8 +- .../iotdb/db/sync/sender/SingleClientSyncTest.java | 2 +- .../apache/iotdb/db/utils/EnvironmentUtils.java | 2 +- .../iotdb/db/writelog/IoTDBLogFileSizeTest.java | 59 +-- .../iotdb/db/writelog/recover/LogReplayerTest.java | 25 +- .../db/writelog/recover/SeqTsFileRecoverTest.java | 38 +- .../writelog/recover/UnseqTsFileRecoverTest.java | 40 +- .../2-Usage.md => service-rpc/rpc-changelist.md | 4 +- .../org/apache/iotdb/rpc/IoTDBRPCException.java | 12 +- .../main/java/org/apache/iotdb/rpc/RpcUtils.java | 43 ++ .../org/apache/iotdb/rpc/SynchronizedHandler.java | 54 ++ .../java/org/apache/iotdb/rpc/TSStatusType.java | 55 +++ service-rpc/src/main/thrift/rpc.thrift | 92 ++-- {example/tsfile => session}/pom.xml | 37 +- .../main/java/org/apache/iotdb/session/Config.java | 16 +- .../iotdb/session/IoTDBSessionException.java | 17 +- .../java/org/apache/iotdb/session/Session.java | 201 ++++++++ .../org/apache/iotdb/session/SessionUtils.java | 90 ++++ .../apache/iotdb/tsfile/io/TsFileOutputFormat.java | 10 +- .../apache/iotdb/tsfile/io/TsFileRecordWriter.java | 6 +- .../scala/org/apache/iotdb/tsfile/Converter.scala | 4 +- .../org/apache/iotdb/tsfile/HDFSInputTest.java | 4 +- .../2-Usage.md => tsfile/format-changelist.md | 4 +- .../iotdb/tsfile/common/conf/TSFileConfig.java | 4 +- .../iotdb/tsfile/encoding/common/EndianType.java | 2 +- .../iotdb/tsfile/encoding/decoder/Decoder.java | 6 +- .../encoding/decoder/DeltaBinaryDecoder.java | 1 + .../tsfile/encoding/decoder/FloatDecoder.java | 4 +- .../tsfile/encoding/decoder/PlainDecoder.java | 41 +- .../encoding/encoder/DeltaBinaryEncoder.java | 9 +- .../tsfile/encoding/encoder/FloatEncoder.java | 4 +- .../tsfile/encoding/encoder/PlainEncoder.java | 39 +- .../tsfile/encoding/encoder/TSEncodingBuilder.java | 6 +- .../write/TsFileNotCompleteException.java | 21 +- .../tsfile/file/metadata/ChunkGroupMetaData.java | 2 +- .../iotdb/tsfile/file/metadata/ChunkMetaData.java | 2 +- .../iotdb/tsfile/file/metadata/TsDigest.java | 171 +++---- .../iotdb/tsfile/file/metadata/TsFileMetaData.java | 31 ++ .../file/metadata/statistics/BinaryStatistics.java | 70 ++- .../metadata/statistics/BooleanStatistics.java | 79 ++- .../file/metadata/statistics/DoubleStatistics.java | 70 ++- .../file/metadata/statistics/FloatStatistics.java | 68 ++- .../metadata/statistics/IntegerStatistics.java | 72 +-- .../file/metadata/statistics/LongStatistics.java | 61 ++- .../file/metadata/statistics/Statistics.java | 20 +- .../apache/iotdb/tsfile/read/ReadOnlyTsFile.java | 8 +- .../iotdb/tsfile/read/TsFileSequenceReader.java | 101 +++- .../apache/iotdb/tsfile/read/common/BatchData.java | 1 + .../org/apache/iotdb/tsfile/read/common/Chunk.java | 8 +- .../org/apache/iotdb/tsfile/read/common/Path.java | 2 +- .../tsfile/read/controller/ChunkLoaderImpl.java | 10 +- .../{ChunkLoader.java => IChunkLoader.java} | 6 +- ...{MetadataQuerier.java => IMetadataQuerier.java} | 7 +- .../read/controller/MetadataQuerierByFileImpl.java | 34 +- .../iotdb/tsfile/read/filter/DigestForFilter.java | 14 + .../iotdb/tsfile/read/filter/operator/Eq.java | 3 + .../iotdb/tsfile/read/filter/operator/Gt.java | 3 + .../iotdb/tsfile/read/filter/operator/GtEq.java | 3 + .../iotdb/tsfile/read/filter/operator/Lt.java | 3 + .../iotdb/tsfile/read/filter/operator/LtEq.java | 3 + .../iotdb/tsfile/read/filter/operator/NotEq.java | 3 + .../query/executor/ExecutorWithTimeGenerator.java | 10 +- .../tsfile/read/query/executor/TsFileExecutor.java | 10 +- .../query/timegenerator/TimeGeneratorImpl.java | 12 +- .../tsfile/read/reader/chunk/ChunkReader.java | 3 + .../iotdb/tsfile/read/reader/page/PageReader.java | 3 +- .../read/reader/series/FileSeriesReader.java | 6 +- .../reader/series/FileSeriesReaderByTimestamp.java | 6 +- .../reader/series/FileSeriesReaderWithFilter.java | 20 +- .../series/FileSeriesReaderWithoutFilter.java | 4 +- .../org/apache/iotdb/tsfile/utils/BytesUtils.java | 14 +- .../apache/iotdb/tsfile/write/TsFileWriter.java | 16 +- .../iotdb/tsfile/write/chunk/ChunkBuffer.java | 15 +- .../tsfile/write/chunk/ChunkGroupWriterImpl.java | 2 +- .../iotdb/tsfile/write/chunk/ChunkWriterImpl.java | 11 +- .../iotdb/tsfile/write/chunk/IChunkWriter.java | 3 + .../apache/iotdb/tsfile/write/record/RowBatch.java | 47 ++ .../apache/iotdb/tsfile/write/record/TSRecord.java | 2 - .../tsfile/write/schema/MeasurementSchema.java | 7 +- .../write/schema/{FileSchema.java => Schema.java} | 35 +- .../iotdb/tsfile/write/schema/SchemaBuilder.java | 18 +- .../tsfile/write/writer/DefaultTsFileOutput.java | 21 +- .../write/writer/ForceAppendTsFileWriter.java | 86 ++++ .../write/writer/RestorableTsFileIOWriter.java | 13 +- .../iotdb/tsfile/write/writer/TsFileIOWriter.java | 131 ++++- .../tsfile/encoding/decoder/IntRleDecoderTest.java | 10 +- .../encoding/decoder/LongRleDecoderTest.java | 6 +- .../file/metadata/ChunkGroupMetaDataTest.java | 8 +- .../tsfile/file/metadata/ChunkMetaDataTest.java | 11 +- .../metadata/statistics/BooleanStatisticsTest.java | 38 +- .../metadata/statistics/DoubleStatisticsTest.java | 37 +- .../metadata/statistics/FloatStatisticsTest.java | 23 +- .../metadata/statistics/IntegerStatisticsTest.java | 7 +- .../metadata/statistics/LongStatisticsTest.java | 24 +- .../metadata/statistics/StringStatisticsTest.java | 13 +- .../tsfile/file/metadata/utils/TestHelper.java | 44 +- .../iotdb/tsfile/file/metadata/utils/Utils.java | 46 +- .../iotdb/tsfile/read/ReadInPartitionTest.java | 2 +- ...st.java => IMetadataQuerierByFileImplTest.java} | 2 +- .../iotdb/tsfile/read/filter/DigestFilterTest.java | 17 +- .../read/query/executor/QueryExecutorTest.java | 4 +- .../query/timegenerator/TimeGeneratorTest.java | 4 +- .../TsFileGeneratorForSeriesReaderByTimestamp.java | 11 +- .../iotdb/tsfile/read/reader/PageReaderTest.java | 4 +- .../apache/iotdb/tsfile/utils/FileGenerator.java | 11 +- .../org/apache/iotdb/tsfile/utils/RecordUtils.java | 4 +- .../apache/iotdb/tsfile/utils/RecordUtilsTest.java | 27 +- .../iotdb/tsfile/utils/TsFileGeneratorForTest.java | 6 +- .../org/apache/iotdb/tsfile/write/PerfTest.java | 23 +- .../iotdb/tsfile/write/ReadPageInMemTest.java | 23 +- .../iotdb/tsfile/write/TsFileIOWriterTest.java | 8 +- .../iotdb/tsfile/write/TsFileReadWriteTest.java | 10 +- .../org/apache/iotdb/tsfile/write/WriteTest.java | 6 +- .../write/schema/converter/SchemaBuilderTest.java | 8 +- .../iotdb/tsfile/write/series/PageWriterTest.java | 6 +- 335 files changed, 10845 insertions(+), 4978 deletions(-) diff --cc server/src/test/java/org/apache/iotdb/db/sync/sender/SingleClientSyncTest.java index 4a258a5,23525f3..4340670 --- a/server/src/test/java/org/apache/iotdb/db/sync/sender/SingleClientSyncTest.java +++ b/server/src/test/java/org/apache/iotdb/db/sync/sender/SingleClientSyncTest.java @@@ -1,596 -1,559 +1,596 @@@ -/** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.iotdb.db.sync.sender; - -import static org.junit.Assert.fail; - -import java.io.File; -import java.io.IOException; -import java.sql.Connection; -import java.sql.DriverManager; -import java.sql.ResultSet; -import java.sql.SQLException; -import java.sql.Statement; -import java.util.HashSet; -import java.util.Set; -import org.apache.iotdb.db.conf.IoTDBConfig; -import org.apache.iotdb.db.conf.IoTDBDescriptor; -import org.apache.iotdb.db.exception.StartupException; -import org.apache.iotdb.db.exception.SyncConnectionException; -import org.apache.iotdb.db.integration.Constant; -import org.apache.iotdb.db.service.IoTDB; -import org.apache.iotdb.db.sync.conf.Constans; -import org.apache.iotdb.db.sync.conf.SyncSenderConfig; -import org.apache.iotdb.db.sync.conf.SyncSenderDescriptor; -import org.apache.iotdb.db.utils.EnvironmentUtils; -import org.apache.iotdb.jdbc.Config; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * The test is to run a complete sync function Before you run the test, make sure receiver has been - * cleaned up and inited. - */ -public class SingleClientSyncTest { - - SyncSenderImpl fileSenderImpl = SyncSenderImpl.getInstance(); - private IoTDBConfig conf = IoTDBDescriptor.getInstance().getConfig(); - private String serverIpTest = "192.168.130.7"; - private SyncSenderConfig config = SyncSenderDescriptor.getInstance().getConfig(); - private Set<String> dataSender = new HashSet<>(); - private Set<String> dataReceiver = new HashSet<>(); - private boolean success = true; - private IoTDB deamon; - private static final String[] sqls1 = new String[]{"SET STORAGE GROUP TO root.vehicle", - "SET STORAGE GROUP TO root.test", - "CREATE TIMESERIES root.vehicle.d0.s0 WITH DATATYPE=INT32, ENCODING=RLE", - "CREATE TIMESERIES root.vehicle.d0.s1 WITH DATATYPE=TEXT, ENCODING=PLAIN", - "CREATE TIMESERIES root.vehicle.d1.s2 WITH DATATYPE=FLOAT, ENCODING=RLE", - "CREATE TIMESERIES root.vehicle.d1.s3 WITH DATATYPE=BOOLEAN, ENCODING=PLAIN", - "CREATE TIMESERIES root.test.d0.s0 WITH DATATYPE=INT32, ENCODING=RLE", - "CREATE TIMESERIES root.test.d0.s1 WITH DATATYPE=TEXT, ENCODING=PLAIN", - "CREATE TIMESERIES root.test.d1.g0.s0 WITH DATATYPE=INT32, ENCODING=RLE", - "insert into root.vehicle.d0(timestamp,s0) values(10,100)", - "insert into root.vehicle.d0(timestamp,s0,s1) values(12,101,'102')", - "insert into root.vehicle.d0(timestamp,s1) values(19,'103')", - "insert into root.vehicle.d1(timestamp,s2) values(11,104.0)", - "insert into root.vehicle.d1(timestamp,s2,s3) values(15,105.0,true)", - "insert into root.vehicle.d1(timestamp,s3) values(17,false)", - "insert into root.vehicle.d0(timestamp,s0) values(20,1000)", - "insert into root.vehicle.d0(timestamp,s0,s1) values(22,1001,'1002')", - "insert into root.vehicle.d0(timestamp,s1) values(29,'1003')", - "insert into root.vehicle.d1(timestamp,s2) values(21,1004.0)", - "insert into root.vehicle.d1(timestamp,s2,s3) values(25,1005.0,true)", - "insert into root.vehicle.d1(timestamp,s3) values(27,true)", - "insert into root.test.d0(timestamp,s0) values(10,106)", - "insert into root.test.d0(timestamp,s0,s1) values(14,107,'108')", - "insert into root.test.d0(timestamp,s1) values(16,'109')", - "insert into root.test.d1.g0(timestamp,s0) values(1,110)", - "insert into root.test.d0(timestamp,s0) values(30,1006)", - "insert into root.test.d0(timestamp,s0,s1) values(34,1007,'1008')", - "insert into root.test.d0(timestamp,s1) values(36,'1090')", - "insert into root.test.d1.g0(timestamp,s0) values(10,1100)", "merge", "flush",}; - private static final String[] sqls2 = new String[]{ - "insert into root.vehicle.d0(timestamp,s0) values(6,120)", - "insert into root.vehicle.d0(timestamp,s0,s1) values(38,121,'122')", - "insert into root.vehicle.d0(timestamp,s1) values(9,'123')", - "insert into root.vehicle.d0(timestamp,s0) values(16,128)", - "insert into root.vehicle.d0(timestamp,s0,s1) values(18,189,'198')", - "insert into root.vehicle.d0(timestamp,s1) values(99,'1234')", - "insert into root.vehicle.d1(timestamp,s2) values(14,1024.0)", - "insert into root.vehicle.d1(timestamp,s2,s3) values(29,1205.0,true)", - "insert into root.vehicle.d1(timestamp,s3) values(33,true)", - "insert into root.test.d0(timestamp,s0) values(15,126)", - "insert into root.test.d0(timestamp,s0,s1) values(8,127,'128')", - "insert into root.test.d0(timestamp,s1) values(20,'129')", - "insert into root.test.d1.g0(timestamp,s0) values(14,430)", - "insert into root.test.d0(timestamp,s0) values(150,426)", - "insert into root.test.d0(timestamp,s0,s1) values(80,427,'528')", - "insert into root.test.d0(timestamp,s1) values(2,'1209')", - "insert into root.test.d1.g0(timestamp,s0) values(4,330)", "merge", "flush",}; - private static final String[] sqls3 = new String[]{"SET STORAGE GROUP TO root.iotdb", - "SET STORAGE GROUP TO root.flush", - "CREATE TIMESERIES root.iotdb.d0.s0 WITH DATATYPE=INT32, ENCODING=RLE", - "CREATE TIMESERIES root.iotdb.d0.s1 WITH DATATYPE=TEXT, ENCODING=PLAIN", - "CREATE TIMESERIES root.iotdb.d1.s2 WITH DATATYPE=FLOAT, ENCODING=RLE", - "CREATE TIMESERIES root.iotdb.d1.s3 WITH DATATYPE=BOOLEAN, ENCODING=PLAIN", - "CREATE TIMESERIES root.flush.d0.s0 WITH DATATYPE=INT32, ENCODING=RLE", - "CREATE TIMESERIES root.flush.d0.s1 WITH DATATYPE=TEXT, ENCODING=PLAIN", - "CREATE TIMESERIES root.flush.d1.g0.s0 WITH DATATYPE=INT32, ENCODING=RLE", - "insert into root.iotdb.d0(timestamp,s0) values(3,100)", - "insert into root.iotdb.d0(timestamp,s0,s1) values(22,101,'102')", - "insert into root.iotdb.d0(timestamp,s1) values(24,'103')", - "insert into root.iotdb.d1(timestamp,s2) values(21,104.0)", - "insert into root.iotdb.d1(timestamp,s2,s3) values(25,105.0,true)", - "insert into root.iotdb.d1(timestamp,s3) values(27,false)", - "insert into root.iotdb.d0(timestamp,s0) values(30,1000)", - "insert into root.iotdb.d0(timestamp,s0,s1) values(202,101,'102')", - "insert into root.iotdb.d0(timestamp,s1) values(44,'103')", - "insert into root.iotdb.d1(timestamp,s2) values(1,404.0)", - "insert into root.iotdb.d1(timestamp,s2,s3) values(250,10.0,true)", - "insert into root.iotdb.d1(timestamp,s3) values(207,false)", - "insert into root.flush.d0(timestamp,s0) values(20,106)", - "insert into root.flush.d0(timestamp,s0,s1) values(14,107,'108')", - "insert into root.flush.d1.g0(timestamp,s0) values(1,110)", - "insert into root.flush.d0(timestamp,s0) values(200,1006)", - "insert into root.flush.d0(timestamp,s0,s1) values(1004,1007,'1080')", - "insert into root.flush.d1.g0(timestamp,s0) values(1000,910)", - "insert into root.vehicle.d0(timestamp,s0) values(209,130)", - "insert into root.vehicle.d0(timestamp,s0,s1) values(206,131,'132')", - "insert into root.vehicle.d0(timestamp,s1) values(70,'33')", - "insert into root.vehicle.d1(timestamp,s2) values(204,14.0)", - "insert into root.vehicle.d1(timestamp,s2,s3) values(29,135.0,false)", - "insert into root.vehicle.d1(timestamp,s3) values(14,false)", - "insert into root.test.d0(timestamp,s0) values(19,136)", - "insert into root.test.d0(timestamp,s0,s1) values(7,137,'138')", - "insert into root.test.d0(timestamp,s1) values(30,'139')", - "insert into root.test.d1.g0(timestamp,s0) values(4,150)", - "insert into root.test.d0(timestamp,s0) values(1900,1316)", - "insert into root.test.d0(timestamp,s0,s1) values(700,1307,'1038')", - "insert into root.test.d0(timestamp,s1) values(3000,'1309')", - "insert into root.test.d1.g0(timestamp,s0) values(400,1050)", "merge", "flush",}; - private boolean testFlag = Constant.testFlag; - private static final String SYNC_CLIENT = Constans.SYNC_CLIENT; - private static final Logger logger = LoggerFactory.getLogger(SingleClientSyncTest.class); - - public static void main(String[] args) throws Exception { - SingleClientSyncTest singleClientPostBackTest = new SingleClientSyncTest(); - singleClientPostBackTest.setUp(); - singleClientPostBackTest.testPostback(); - singleClientPostBackTest.tearDown(); - System.exit(0); - } - - public void setConfig() { - config.setUuidPath( - config.getDataDirectory() + SYNC_CLIENT + File.separator + Constans.UUID_FILE_NAME); - config.setLastFileInfo( - config.getDataDirectory() + SYNC_CLIENT + File.separator + Constans.LAST_LOCAL_FILE_NAME); - String[] sequenceFileDirectory = config.getSeqFileDirectory(); - String[] snapshots = new String[config.getSeqFileDirectory().length]; - for (int i = 0; i < config.getSeqFileDirectory().length; i++) { - sequenceFileDirectory[i] = new File(sequenceFileDirectory[i]).getAbsolutePath(); - if (!sequenceFileDirectory[i].endsWith(File.separator)) { - sequenceFileDirectory[i] = sequenceFileDirectory[i] + File.separator; - } - snapshots[i] = - sequenceFileDirectory[i] + SYNC_CLIENT + File.separator + Constans.DATA_SNAPSHOT_NAME - + File.separator; - } - config.setSnapshotPaths(snapshots); - config.setSeqFileDirectory(sequenceFileDirectory); - config.setServerIp(serverIpTest); - fileSenderImpl.setConfig(config); - } - - public void setUp() throws StartupException, IOException { - if (testFlag) { - EnvironmentUtils.closeStatMonitor(); - deamon = IoTDB.getInstance(); - deamon.active(); - EnvironmentUtils.envSetUp(); - } - setConfig(); - } - - public void tearDown() throws Exception { - if (testFlag) { - deamon.stop(); - EnvironmentUtils.cleanEnv(); - } - if (success) { - logger.debug("Test succeed!"); - } else { - logger.debug("Test failed!"); - } - } - - public void testPostback() throws IOException, SyncConnectionException, ClassNotFoundException, SQLException, InterruptedException { - if (testFlag) { - // the first time to sync - logger.debug("It's the first time to sync!"); - try { - Class.forName(Config.JDBC_DRIVER_NAME); - try (Connection connection = DriverManager - .getConnection(Config.IOTDB_URL_PREFIX + "127.0.0.1:6667/", "root", - "root"); - Statement statement = connection.createStatement()) { - for (String sql : sqls1) { - statement.execute(sql); - } - } - } catch (SQLException | ClassNotFoundException e) { - fail(e.getMessage()); - } - - fileSenderImpl.sync(); - - // Compare data of sender and receiver - dataSender.clear(); - try { - Class.forName(Config.JDBC_DRIVER_NAME); - try (Connection connection = DriverManager - .getConnection(Config.IOTDB_URL_PREFIX + "127.0.0.1:6667/", "root", - "root"); - Statement statement = connection.createStatement()) { - boolean hasResultSet = statement.execute("select * from root.vehicle"); - if (hasResultSet) { - ResultSet res = statement.getResultSet(); - while (res.next()) { - dataSender.add(res.getString("Time") + res.getString("root.vehicle.d0.s0") - + res.getString("root.vehicle.d0.s1") + res.getString("root.vehicle.d1.s2") - + res.getString("root.vehicle.d1.s3")); - logger.debug(res.getString("Time") + " | " + res.getString("root.vehicle.d0.s0") - + res.getString("root.vehicle.d0.s1") + res.getString("root.vehicle.d1.s2") - + res.getString("root.vehicle.d1.s3")); - } - } - hasResultSet = statement.execute("select * from root.test"); - if (hasResultSet) { - ResultSet res = statement.getResultSet(); - while (res.next()) { - dataSender.add(res.getString("Time") + res.getString("root.test.d0.s0") - + res.getString("root.test.d0.s1") + res.getString("root.test.d1.g0.s0")); - logger.debug(res.getString("Time") + " | " + res.getString("root.test.d0.s0") - + res.getString("root.test.d0.s1") + res.getString("root.test.d1.g0.s0")); - } - } - } catch (Exception e) { - logger.error("", e); - } - } catch (ClassNotFoundException e) { - fail(e.getMessage()); - Thread.currentThread().interrupt(); - } - - dataReceiver.clear(); - try { - Class.forName(Config.JDBC_DRIVER_NAME); - try (Connection connection = DriverManager - .getConnection(String.format("jdbc:iotdb://%s:6667/", serverIpTest), "root", - "root"); - Statement statement = connection.createStatement()) { - - boolean hasResultSet = statement.execute("select * from root.vehicle"); - if (hasResultSet) { - ResultSet res = statement.getResultSet(); - while (res.next()) { - dataReceiver.add(res.getString("Time") + res.getString("root.vehicle.d0.s0") - + res.getString("root.vehicle.d0.s1") + res.getString("root.vehicle.d1.s2") - + res.getString("root.vehicle.d1.s3")); - logger.debug(res.getString("Time") + " | " + res.getString("root.vehicle.d0.s0") - + res.getString("root.vehicle.d0.s1") + res.getString("root.vehicle.d1.s2") - + res.getString("root.vehicle.d1.s3")); - } - } - - hasResultSet = statement.execute("select * from root.test"); - if (hasResultSet) { - ResultSet res = statement.getResultSet(); - while (res.next()) { - dataReceiver.add(res.getString("Time") + res.getString("root.test.d0.s0") - + res.getString("root.test.d0.s1") + res.getString("root.test.d1.g0.s0")); - logger.debug(res.getString("Time") + " | " + res.getString("root.test.d0.s0") - + res.getString("root.test.d0.s1") + res.getString("root.test.d1.g0.s0")); - } - } - } catch (Exception e) { - logger.error("", e); - } - } catch (ClassNotFoundException e) { - fail(e.getMessage()); - Thread.currentThread().interrupt(); - } - logger.debug(String.valueOf(dataSender.size())); - logger.debug(String.valueOf(dataReceiver.size())); - logger.debug(dataSender.toString()); - logger.debug(dataReceiver.toString()); - if (!(dataSender.size() == dataReceiver.size() && dataSender.containsAll(dataReceiver))) { - success = false; - return; - } - - // the second time to sync - logger.debug("It's the second time to sync!"); - try { - Class.forName(Config.JDBC_DRIVER_NAME); - try (Connection connection = DriverManager - .getConnection(Config.IOTDB_URL_PREFIX + "127.0.0.1:6667/", "root", - "root"); - Statement statement = connection.createStatement()) { - for (String sql : sqls2) { - statement.execute(sql); - } - } catch (Exception e) { - logger.error("", e); - } - } catch (ClassNotFoundException e) { - fail(e.getMessage()); - Thread.currentThread().interrupt(); - } - - fileSenderImpl.sync(); - - // Compare data of sender and receiver - dataSender.clear(); - try { - Class.forName(Config.JDBC_DRIVER_NAME); - try (Connection connection = DriverManager - .getConnection(Config.IOTDB_URL_PREFIX + "127.0.0.1:6667/", "root", - "root"); - Statement statement = connection.createStatement()) { - boolean hasResultSet = statement.execute("select * from root.vehicle"); - if (hasResultSet) { - ResultSet res = statement.getResultSet(); - while (res.next()) { - dataSender.add(res.getString("Time") + res.getString("root.vehicle.d0.s0") - + res.getString("root.vehicle.d0.s1") + res.getString("root.vehicle.d1.s2") - + res.getString("root.vehicle.d1.s3")); - logger.debug(res.getString("Time") + " | " + res.getString("root.vehicle.d0.s0") - + res.getString("root.vehicle.d0.s1") + res.getString("root.vehicle.d1.s2") - + res.getString("root.vehicle.d1.s3")); - } - } - hasResultSet = statement.execute("select * from root.test"); - if (hasResultSet) { - ResultSet res = statement.getResultSet(); - while (res.next()) { - dataSender.add(res.getString("Time") + res.getString("root.test.d0.s0") - + res.getString("root.test.d0.s1") + res.getString("root.test.d1.g0.s0")); - logger.debug(res.getString("Time") + " | " + res.getString("root.test.d0.s0") - + res.getString("root.test.d0.s1") + res.getString("root.test.d1.g0.s0")); - } - } - } catch (Exception e) { - logger.error("", e); - } - } catch (ClassNotFoundException e) { - fail(e.getMessage()); - Thread.currentThread().interrupt(); - } - - dataReceiver.clear(); - { - Class.forName(Config.JDBC_DRIVER_NAME); - try (Connection connection = DriverManager - .getConnection(String.format("jdbc:iotdb://%s:6667/", serverIpTest), "root", - "root")) { - Statement statement = connection.createStatement(); - boolean hasResultSet = statement.execute("select * from root.vehicle"); - if (hasResultSet) { - ResultSet res = statement.getResultSet(); - while (res.next()) { - dataReceiver.add(res.getString("Time") + res.getString("root.vehicle.d0.s0") - + res.getString("root.vehicle.d0.s1") + res.getString("root.vehicle.d1.s2") - + res.getString("root.vehicle.d1.s3")); - logger.debug(res.getString("Time") + " | " + res.getString("root.vehicle.d0.s0") - + res.getString("root.vehicle.d0.s1") + res.getString("root.vehicle.d1.s2") - + res.getString("root.vehicle.d1.s3")); - } - } - hasResultSet = statement.execute("select * from root.test"); - if (hasResultSet) { - ResultSet res = statement.getResultSet(); - while (res.next()) { - dataReceiver.add(res.getString("Time") + res.getString("root.test.d0.s0") - + res.getString("root.test.d0.s1") + res.getString("root.test.d1.g0.s0")); - logger.debug(res.getString("Time") + " | " + res.getString("root.test.d0.s0") - + res.getString("root.test.d0.s1") + res.getString("root.test.d1.g0.s0")); - } - } - statement.close(); - } catch (Exception e) { - logger.error("", e); - } - } - logger.debug(String.valueOf(dataSender.size())); - logger.debug(String.valueOf(dataReceiver.size())); - logger.debug(dataSender.toString()); - logger.debug(dataReceiver.toString()); - if (!(dataSender.size() == dataReceiver.size() && dataSender.containsAll(dataReceiver))) { - success = false; - return; - } - - // the third time to sync - logger.debug("It's the third time to sync!"); - try { - Class.forName(Config.JDBC_DRIVER_NAME); - try (Connection connection = DriverManager - .getConnection(Config.IOTDB_URL_PREFIX + "127.0.0.1:6667/", "root", - "root"); - Statement statement = connection.createStatement()) { - for (String sql : sqls3) { - statement.execute(sql); - } - } catch (Exception e) { - logger.error("", e); - } - } catch (ClassNotFoundException e) { - fail(e.getMessage()); - Thread.currentThread().interrupt(); - } - - fileSenderImpl.sync(); - - // Compare data of sender and receiver - dataSender.clear(); - try { - Class.forName(Config.JDBC_DRIVER_NAME); - try (Connection connection = DriverManager - .getConnection(String.format("jdbc:iotdb://%s:6667/", serverIpTest), "root", - "root"); - Statement statement = connection.createStatement()) { - boolean hasResultSet = statement.execute("select * from root.vehicle"); - if (hasResultSet) { - ResultSet res = statement.getResultSet(); - while (res.next()) { - dataSender.add(res.getString("Time") + res.getString("root.vehicle.d0.s0") - + res.getString("root.vehicle.d0.s1") + res.getString("root.vehicle.d1.s2") - + res.getString("root.vehicle.d1.s3")); - logger.debug(res.getString("Time") + " | " + res.getString("root.vehicle.d0.s0") - + res.getString("root.vehicle.d0.s1") + res.getString("root.vehicle.d1.s2") - + res.getString("root.vehicle.d1.s3")); - } - } - hasResultSet = statement.execute("select * from root.test"); - if (hasResultSet) { - ResultSet res = statement.getResultSet(); - while (res.next()) { - dataSender.add(res.getString("Time") + res.getString("root.test.d0.s0") - + res.getString("root.test.d0.s1") + res.getString("root.test.d1.g0.s0")); - logger.debug(res.getString("Time") + " | " + res.getString("root.test.d0.s0") - + res.getString("root.test.d0.s1") + res.getString("root.test.d1.g0.s0")); - } - } - hasResultSet = statement.execute("select * from root.flush"); - if (hasResultSet) { - ResultSet res = statement.getResultSet(); - while (res.next()) { - dataSender.add(res.getString("Time") + res.getString("root.flush.d0.s0") - + res.getString("root.flush.d0.s1") + res.getString("root.flush.d1.g0.s0")); - logger.debug(res.getString("Time") + " | " + res.getString("root.flush.d0.s0") - + res.getString("root.flush.d0.s1") + res.getString("root.flush.d1.g0.s0")); - } - } - hasResultSet = statement.execute("select * from root.iotdb"); - if (hasResultSet) { - ResultSet res = statement.getResultSet(); - while (res.next()) { - dataSender.add(res.getString("Time") + res.getString("root.iotdb.d0.s0") - + res.getString("root.iotdb.d0.s1") + res.getString("root.iotdb.d1.s2") - + res.getString("root.iotdb.d1.s3")); - logger.debug(res.getString("Time") + res.getString("root.iotdb.d0.s0") - + res.getString("root.iotdb.d0.s1") + res.getString("root.iotdb.d1.s2") - + res.getString("root.iotdb.d1.s3")); - } - } - } catch (Exception e) { - logger.error("", e); - } - } catch (ClassNotFoundException e) { - fail(e.getMessage()); - Thread.currentThread().interrupt(); - } - - dataReceiver.clear(); - try { - Class.forName(Config.JDBC_DRIVER_NAME); - try (Connection connection = DriverManager - .getConnection("jdbc:iotdb://192.168.130.8:6667/", "root", "root")) { - Statement statement = connection.createStatement(); - boolean hasResultSet = statement.execute("select * from root.vehicle"); - if (hasResultSet) { - ResultSet res = statement.getResultSet(); - while (res.next()) { - dataReceiver.add(res.getString("Time") + res.getString("root.vehicle.d0.s0") - + res.getString("root.vehicle.d0.s1") + res.getString("root.vehicle.d1.s2") - + res.getString("root.vehicle.d1.s3")); - logger.debug(res.getString("Time") + " | " + res.getString("root.vehicle.d0.s0") - + res.getString("root.vehicle.d0.s1") + res.getString("root.vehicle.d1.s2") - + res.getString("root.vehicle.d1.s3")); - } - } - hasResultSet = statement.execute("select * from root.test"); - if (hasResultSet) { - ResultSet res = statement.getResultSet(); - while (res.next()) { - dataReceiver.add(res.getString("Time") + res.getString("root.test.d0.s0") - + res.getString("root.test.d0.s1") + res.getString("root.test.d1.g0.s0")); - logger.debug(res.getString("Time") + " | " + res.getString("root.test.d0.s0") - + res.getString("root.test.d0.s1") + res.getString("root.test.d1.g0.s0")); - } - } - hasResultSet = statement.execute("select * from root.flush"); - if (hasResultSet) { - ResultSet res = statement.getResultSet(); - while (res.next()) { - dataReceiver.add(res.getString("Time") + res.getString("root.flush.d0.s0") - + res.getString("root.flush.d0.s1") + res.getString("root.flush.d1.g0.s0")); - logger.debug(res.getString("Time") + " | " + res.getString("root.flush.d0.s0") - + res.getString("root.flush.d0.s1") + res.getString("root.flush.d1.g0.s0")); - } - } - hasResultSet = statement.execute("select * from root.iotdb"); - if (hasResultSet) { - ResultSet res = statement.getResultSet(); - while (res.next()) { - dataReceiver.add(res.getString("Time") + res.getString("root.iotdb.d0.s0") - + res.getString("root.iotdb.d0.s1") + res.getString("root.iotdb.d1.s2") - + res.getString("root.iotdb.d1.s3")); - logger.debug(res.getString("Time") + res.getString("root.iotdb.d0.s0") - + res.getString("root.iotdb.d0.s1") + res.getString("root.iotdb.d1.s2") - + res.getString("root.iotdb.d1.s3")); - } - } - statement.close(); - } catch (Exception e) { - logger.error("", e); - } - } catch (ClassNotFoundException e) { - fail(e.getMessage()); - Thread.currentThread().interrupt(); - } - logger.debug(String.valueOf(dataSender.size())); - logger.debug(String.valueOf(dataReceiver.size())); - logger.debug(String.valueOf(dataSender)); - logger.debug(String.valueOf(dataReceiver)); - if (!(dataSender.size() == dataReceiver.size() && dataSender.containsAll(dataReceiver))) { - success = false; - } - } - } -} +///** +// * Licensed to the Apache Software Foundation (ASF) under one +// * or more contributor license agreements. See the NOTICE file +// * distributed with this work for additional information +// * regarding copyright ownership. The ASF licenses this file +// * to you under the Apache License, Version 2.0 (the +// * "License"); you may not use this file except in compliance +// * with the License. You may obtain a copy of the License at +// * +// * http://www.apache.org/licenses/LICENSE-2.0 +// * +// * Unless required by applicable law or agreed to in writing, +// * software distributed under the License is distributed on an +// * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// * KIND, either express or implied. See the License for the +// * specific language governing permissions and limitations +// * under the License. +// */ +//package org.apache.iotdb.db.sync.sender; +// +//import static org.junit.Assert.fail; +// +//import java.io.File; +//import java.io.IOException; +//import java.sql.Connection; +//import java.sql.DriverManager; +//import java.sql.ResultSet; +//import java.sql.SQLException; +//import java.sql.Statement; +//import java.util.HashSet; +//import java.util.Set; +//import org.apache.iotdb.db.conf.IoTDBConfig; +//import org.apache.iotdb.db.conf.IoTDBDescriptor; +//import org.apache.iotdb.db.exception.StartupException; +//import org.apache.iotdb.db.exception.SyncConnectionException; +//import org.apache.iotdb.db.integration.Constant; +//import org.apache.iotdb.db.service.IoTDB; +//import org.apache.iotdb.db.sync.sender.conf.Constans; +//import org.apache.iotdb.db.sync.sender.conf.SyncSenderConfig; +//import org.apache.iotdb.db.sync.sender.conf.SyncSenderDescriptor; +//import org.apache.iotdb.db.sync.sender.transfer.DataTransferManager; +//import org.apache.iotdb.db.utils.EnvironmentUtils; +//import org.apache.iotdb.jdbc.Config; +//import org.slf4j.Logger; +//import org.slf4j.LoggerFactory; +// +///** +// * The test is to run a complete sync function Before you run the test, make sure receiver has been +// * cleaned up and inited. +// */ +//public class SingleClientSyncTest { +// +// DataTransferManager fileSenderImpl = DataTransferManager.getInstance(); +// private IoTDBConfig conf = IoTDBDescriptor.getInstance().getConfig(); +// private String serverIpTest = "192.168.130.7"; +// private SyncSenderConfig config = SyncSenderDescriptor.getInstance().getConfig(); +// private Set<String> dataSender = new HashSet<>(); +// private Set<String> dataReceiver = new HashSet<>(); +// private boolean success = true; +// private IoTDB deamon; +// private static final String[] sqls1 = new String[]{"SET STORAGE GROUP TO root.vehicle", +// "SET STORAGE GROUP TO root.test", +// "CREATE TIMESERIES root.vehicle.d0.s0 WITH DATATYPE=INT32, ENCODING=RLE", +// "CREATE TIMESERIES root.vehicle.d0.s1 WITH DATATYPE=TEXT, ENCODING=PLAIN", +// "CREATE TIMESERIES root.vehicle.d1.s2 WITH DATATYPE=FLOAT, ENCODING=RLE", +// "CREATE TIMESERIES root.vehicle.d1.s3 WITH DATATYPE=BOOLEAN, ENCODING=PLAIN", +// "CREATE TIMESERIES root.test.d0.s0 WITH DATATYPE=INT32, ENCODING=RLE", +// "CREATE TIMESERIES root.test.d0.s1 WITH DATATYPE=TEXT, ENCODING=PLAIN", +// "CREATE TIMESERIES root.test.d1.g0.s0 WITH DATATYPE=INT32, ENCODING=RLE", +// "insert into root.vehicle.d0(timestamp,s0) values(10,100)", +// "insert into root.vehicle.d0(timestamp,s0,s1) values(12,101,'102')", +// "insert into root.vehicle.d0(timestamp,s1) values(19,'103')", +// "insert into root.vehicle.d1(timestamp,s2) values(11,104.0)", +// "insert into root.vehicle.d1(timestamp,s2,s3) values(15,105.0,true)", +// "insert into root.vehicle.d1(timestamp,s3) values(17,false)", +// "insert into root.vehicle.d0(timestamp,s0) values(20,1000)", +// "insert into root.vehicle.d0(timestamp,s0,s1) values(22,1001,'1002')", +// "insert into root.vehicle.d0(timestamp,s1) values(29,'1003')", +// "insert into root.vehicle.d1(timestamp,s2) values(21,1004.0)", +// "insert into root.vehicle.d1(timestamp,s2,s3) values(25,1005.0,true)", +// "insert into root.vehicle.d1(timestamp,s3) values(27,true)", +// "insert into root.test.d0(timestamp,s0) values(10,106)", +// "insert into root.test.d0(timestamp,s0,s1) values(14,107,'108')", +// "insert into root.test.d0(timestamp,s1) values(16,'109')", +// "insert into root.test.d1.g0(timestamp,s0) values(1,110)", +// "insert into root.test.d0(timestamp,s0) values(30,1006)", +// "insert into root.test.d0(timestamp,s0,s1) values(34,1007,'1008')", +// "insert into root.test.d0(timestamp,s1) values(36,'1090')", +// "insert into root.test.d1.g0(timestamp,s0) values(10,1100)", "merge", "flush",}; +// private static final String[] sqls2 = new String[]{ +// "insert into root.vehicle.d0(timestamp,s0) values(6,120)", +// "insert into root.vehicle.d0(timestamp,s0,s1) values(38,121,'122')", +// "insert into root.vehicle.d0(timestamp,s1) values(9,'123')", +// "insert into root.vehicle.d0(timestamp,s0) values(16,128)", +// "insert into root.vehicle.d0(timestamp,s0,s1) values(18,189,'198')", +// "insert into root.vehicle.d0(timestamp,s1) values(99,'1234')", +// "insert into root.vehicle.d1(timestamp,s2) values(14,1024.0)", +// "insert into root.vehicle.d1(timestamp,s2,s3) values(29,1205.0,true)", +// "insert into root.vehicle.d1(timestamp,s3) values(33,true)", +// "insert into root.test.d0(timestamp,s0) values(15,126)", +// "insert into root.test.d0(timestamp,s0,s1) values(8,127,'128')", +// "insert into root.test.d0(timestamp,s1) values(20,'129')", +// "insert into root.test.d1.g0(timestamp,s0) values(14,430)", +// "insert into root.test.d0(timestamp,s0) values(150,426)", +// "insert into root.test.d0(timestamp,s0,s1) values(80,427,'528')", +// "insert into root.test.d0(timestamp,s1) values(2,'1209')", +// "insert into root.test.d1.g0(timestamp,s0) values(4,330)", "merge", "flush",}; +// private static final String[] sqls3 = new String[]{"SET STORAGE GROUP TO root.iotdb", +// "SET STORAGE GROUP TO root.flush", +// "CREATE TIMESERIES root.iotdb.d0.s0 WITH DATATYPE=INT32, ENCODING=RLE", +// "CREATE TIMESERIES root.iotdb.d0.s1 WITH DATATYPE=TEXT, ENCODING=PLAIN", +// "CREATE TIMESERIES root.iotdb.d1.s2 WITH DATATYPE=FLOAT, ENCODING=RLE", +// "CREATE TIMESERIES root.iotdb.d1.s3 WITH DATATYPE=BOOLEAN, ENCODING=PLAIN", +// "CREATE TIMESERIES root.flush.d0.s0 WITH DATATYPE=INT32, ENCODING=RLE", +// "CREATE TIMESERIES root.flush.d0.s1 WITH DATATYPE=TEXT, ENCODING=PLAIN", +// "CREATE TIMESERIES root.flush.d1.g0.s0 WITH DATATYPE=INT32, ENCODING=RLE", +// "insert into root.iotdb.d0(timestamp,s0) values(3,100)", +// "insert into root.iotdb.d0(timestamp,s0,s1) values(22,101,'102')", +// "insert into root.iotdb.d0(timestamp,s1) values(24,'103')", +// "insert into root.iotdb.d1(timestamp,s2) values(21,104.0)", +// "insert into root.iotdb.d1(timestamp,s2,s3) values(25,105.0,true)", +// "insert into root.iotdb.d1(timestamp,s3) values(27,false)", +// "insert into root.iotdb.d0(timestamp,s0) values(30,1000)", +// "insert into root.iotdb.d0(timestamp,s0,s1) values(202,101,'102')", +// "insert into root.iotdb.d0(timestamp,s1) values(44,'103')", +// "insert into root.iotdb.d1(timestamp,s2) values(1,404.0)", +// "insert into root.iotdb.d1(timestamp,s2,s3) values(250,10.0,true)", +// "insert into root.iotdb.d1(timestamp,s3) values(207,false)", +// "insert into root.flush.d0(timestamp,s0) values(20,106)", +// "insert into root.flush.d0(timestamp,s0,s1) values(14,107,'108')", +// "insert into root.flush.d1.g0(timestamp,s0) values(1,110)", +// "insert into root.flush.d0(timestamp,s0) values(200,1006)", +// "insert into root.flush.d0(timestamp,s0,s1) values(1004,1007,'1080')", +// "insert into root.flush.d1.g0(timestamp,s0) values(1000,910)", +// "insert into root.vehicle.d0(timestamp,s0) values(209,130)", +// "insert into root.vehicle.d0(timestamp,s0,s1) values(206,131,'132')", +// "insert into root.vehicle.d0(timestamp,s1) values(70,'33')", +// "insert into root.vehicle.d1(timestamp,s2) values(204,14.0)", +// "insert into root.vehicle.d1(timestamp,s2,s3) values(29,135.0,false)", +// "insert into root.vehicle.d1(timestamp,s3) values(14,false)", +// "insert into root.test.d0(timestamp,s0) values(19,136)", +// "insert into root.test.d0(timestamp,s0,s1) values(7,137,'138')", +// "insert into root.test.d0(timestamp,s1) values(30,'139')", +// "insert into root.test.d1.g0(timestamp,s0) values(4,150)", +// "insert into root.test.d0(timestamp,s0) values(1900,1316)", +// "insert into root.test.d0(timestamp,s0,s1) values(700,1307,'1038')", +// "insert into root.test.d0(timestamp,s1) values(3000,'1309')", +// "insert into root.test.d1.g0(timestamp,s0) values(400,1050)", "merge", "flush",}; +// private boolean testFlag = Constant.testFlag; +// private static final String SYNC_CLIENT = Constans.SYNC_SENDER; +// private static final Logger logger = LoggerFactory.getLogger(SingleClientSyncTest.class); +// +// public static void main(String[] args) throws Exception { +// SingleClientSyncTest singleClientPostBackTest = new SingleClientSyncTest(); +// singleClientPostBackTest.setUp(); +// singleClientPostBackTest.testPostback(); +// singleClientPostBackTest.tearDown(); +// System.exit(0); +// } +// +// public void setConfig() { +// config.setSenderFolderPath( +// config.getDataDirectory() + SYNC_CLIENT + File.separator + Constans.UUID_FILE_NAME); +// config.setLastFileInfo( +// config.getDataDirectory() + SYNC_CLIENT + File.separator + Constans.LAST_LOCAL_FILE_NAME); +// String[] sequenceFileDirectory = config.getSeqFileDirectory(); +// String[] snapshots = new String[config.getSeqFileDirectory().length]; +// for (int i = 0; i < config.getSeqFileDirectory().length; i++) { +// sequenceFileDirectory[i] = new File(sequenceFileDirectory[i]).getAbsolutePath(); +// if (!sequenceFileDirectory[i].endsWith(File.separator)) { +// sequenceFileDirectory[i] = sequenceFileDirectory[i] + File.separator; +// } +// snapshots[i] = +// sequenceFileDirectory[i] + SYNC_CLIENT + File.separator + Constans.DATA_SNAPSHOT_NAME +// + File.separator; +// } +// config.setSnapshotPaths(snapshots); +// config.setSeqFileDirectory(sequenceFileDirectory); +// config.setServerIp(serverIpTest); +// fileSenderImpl.setConfig(config); +// } +// +// public void setUp() throws StartupException, IOException { +// if (testFlag) { +// EnvironmentUtils.closeStatMonitor(); +// deamon = IoTDB.getInstance(); +// deamon.active(); +// EnvironmentUtils.envSetUp(); +// } +// setConfig(); +// } +// +// public void tearDown() throws Exception { +// if (testFlag) { +// deamon.stop(); +// EnvironmentUtils.cleanEnv(); +// } +// if (success) { +// logger.debug("Test succeed!"); +// } else { +// logger.debug("Test failed!"); +// } +// } +// +// public void testPostback() throws IOException, SyncConnectionException, ClassNotFoundException, SQLException, InterruptedException { +// if (testFlag) { +// // the first time to sync +// logger.debug("It's the first time to sync!"); +// try { +// Class.forName(Config.JDBC_DRIVER_NAME); +// try (Connection connection = DriverManager +// .getConnection(Config.IOTDB_URL_PREFIX + "127.0.0.1:6667/", "root", +// "root")) { +// Statement statement = connection.createStatement(); +// for (String sql : sqls1) { +// statement.execute(sql); +// } +// statement.close(); +// } +// } catch (SQLException | ClassNotFoundException e) { +// fail(e.getMessage()); +// } +// +// fileSenderImpl.sync(); +// +// // Compare data of sender and receiver +// dataSender.clear(); +// try { +// Class.forName(Config.JDBC_DRIVER_NAME); +// try (Connection connection = DriverManager +// .getConnection(Config.IOTDB_URL_PREFIX + "127.0.0.1:6667/", "root", +// "root")) { +// Statement statement = connection.createStatement(); +// boolean hasResultSet = statement.execute("select * from root.vehicle"); +// if (hasResultSet) { +// ResultSet res = statement.getResultSet(); +// while (res.next()) { +// dataSender.add(res.getString("Time") + res.getString("root.vehicle.d0.s0") +// + res.getString("root.vehicle.d0.s1") + res.getString("root.vehicle.d1.s2") +// + res.getString("root.vehicle.d1.s3")); +// logger.debug(res.getString("Time") + " | " + res.getString("root.vehicle.d0.s0") +// + res.getString("root.vehicle.d0.s1") + res.getString("root.vehicle.d1.s2") +// + res.getString("root.vehicle.d1.s3")); +// } +// } +// hasResultSet = statement.execute("select * from root.test"); +// if (hasResultSet) { +// ResultSet res = statement.getResultSet(); +// while (res.next()) { +// dataSender.add(res.getString("Time") + res.getString("root.test.d0.s0") +// + res.getString("root.test.d0.s1") + res.getString("root.test.d1.g0.s0")); +// logger.debug(res.getString("Time") + " | " + res.getString("root.test.d0.s0") +// + res.getString("root.test.d0.s1") + res.getString("root.test.d1.g0.s0")); +// } +// } +// statement.close(); +// } catch (Exception e) { +// logger.error("", e); +// } +// } catch (ClassNotFoundException e) { +// fail(e.getMessage()); +// Thread.currentThread().interrupt(); +// } +// +// dataReceiver.clear(); +// try { +// Class.forName(Config.JDBC_DRIVER_NAME); +// Connection connection = null; +// try { +// connection = DriverManager +// .getConnection(String.format("jdbc:iotdb://%s:6667/", serverIpTest), "root", +// "root"); +// Statement statement = connection.createStatement(); +// boolean hasResultSet = statement.execute("select * from root.vehicle"); +// if (hasResultSet) { +// ResultSet res = statement.getResultSet(); +// while (res.next()) { +// dataReceiver.add(res.getString("Time") + res.getString("root.vehicle.d0.s0") +// + res.getString("root.vehicle.d0.s1") + res.getString("root.vehicle.d1.s2") +// + res.getString("root.vehicle.d1.s3")); +// logger.debug(res.getString("Time") + " | " + res.getString("root.vehicle.d0.s0") +// + res.getString("root.vehicle.d0.s1") + res.getString("root.vehicle.d1.s2") +// + res.getString("root.vehicle.d1.s3")); +// } +// } +// +// hasResultSet = statement.execute("select * from root.test"); +// if (hasResultSet) { +// ResultSet res = statement.getResultSet(); +// while (res.next()) { +// dataReceiver.add(res.getString("Time") + res.getString("root.test.d0.s0") +// + res.getString("root.test.d0.s1") + res.getString("root.test.d1.g0.s0")); +// logger.debug(res.getString("Time") + " | " + res.getString("root.test.d0.s0") +// + res.getString("root.test.d0.s1") + res.getString("root.test.d1.g0.s0")); +// } +// } +// statement.close(); +// } catch (Exception e) { +// logger.error("", e); +// } finally { +// if (connection != null) { +// connection.close(); +// } +// } +// } catch (ClassNotFoundException | SQLException e) { +// fail(e.getMessage()); +// Thread.currentThread().interrupt(); +// } +// logger.debug(String.valueOf(dataSender.size())); +// logger.debug(String.valueOf(dataReceiver.size())); +// logger.debug(dataSender.toString()); +// logger.debug(dataReceiver.toString()); +// if (!(dataSender.size() == dataReceiver.size() && dataSender.containsAll(dataReceiver))) { +// success = false; +// return; +// } +// +// // the second time to sync +// logger.debug("It's the second time to sync!"); +// try { +// Class.forName(Config.JDBC_DRIVER_NAME); +// Connection connection = null; +// try { +// connection = DriverManager +// .getConnection(Config.IOTDB_URL_PREFIX + "127.0.0.1:6667/", "root", +// "root"); +// Statement statement = connection.createStatement(); +// for (String sql : sqls2) { +// statement.execute(sql); +// } +// statement.close(); +// } catch (Exception e) { +// logger.error("", e); +// } finally { +// if (connection != null) { +// connection.close(); +// } +// } +// } catch (ClassNotFoundException | SQLException e) { +// fail(e.getMessage()); +// Thread.currentThread().interrupt(); +// } +// +// fileSenderImpl.sync(); +// +// // Compare data of sender and receiver +// dataSender.clear(); +// try { +// Class.forName(Config.JDBC_DRIVER_NAME); +// Connection connection = null; +// try { +// connection = DriverManager +// .getConnection(Config.IOTDB_URL_PREFIX + "127.0.0.1:6667/", "root", +// "root"); +// Statement statement = connection.createStatement(); +// boolean hasResultSet = statement.execute("select * from root.vehicle"); +// if (hasResultSet) { +// ResultSet res = statement.getResultSet(); +// while (res.next()) { +// dataSender.add(res.getString("Time") + res.getString("root.vehicle.d0.s0") +// + res.getString("root.vehicle.d0.s1") + res.getString("root.vehicle.d1.s2") +// + res.getString("root.vehicle.d1.s3")); +// logger.debug(res.getString("Time") + " | " + res.getString("root.vehicle.d0.s0") +// + res.getString("root.vehicle.d0.s1") + res.getString("root.vehicle.d1.s2") +// + res.getString("root.vehicle.d1.s3")); +// } +// } +// hasResultSet = statement.execute("select * from root.test"); +// if (hasResultSet) { +// ResultSet res = statement.getResultSet(); +// while (res.next()) { +// dataSender.add(res.getString("Time") + res.getString("root.test.d0.s0") +// + res.getString("root.test.d0.s1") + res.getString("root.test.d1.g0.s0")); +// logger.debug(res.getString("Time") + " | " + res.getString("root.test.d0.s0") +// + res.getString("root.test.d0.s1") + res.getString("root.test.d1.g0.s0")); +// } +// } +// statement.close(); +// } catch (Exception e) { +// logger.error("", e); +// } finally { +// if (connection != null) { +// connection.close(); +// } +// } +// } catch (ClassNotFoundException | SQLException e) { +// fail(e.getMessage()); +// Thread.currentThread().interrupt(); +// } +// +// dataReceiver.clear(); +// { +// Class.forName(Config.JDBC_DRIVER_NAME); +// Connection connection = null; +// try { +// connection = DriverManager +// .getConnection(String.format("jdbc:iotdb://%s:6667/", serverIpTest), "root", +// "root"); +// Statement statement = connection.createStatement(); +// boolean hasResultSet = statement.execute("select * from root.vehicle"); +// if (hasResultSet) { +// ResultSet res = statement.getResultSet(); +// while (res.next()) { +// dataReceiver.add(res.getString("Time") + res.getString("root.vehicle.d0.s0") +// + res.getString("root.vehicle.d0.s1") + res.getString("root.vehicle.d1.s2") +// + res.getString("root.vehicle.d1.s3")); +// logger.debug(res.getString("Time") + " | " + res.getString("root.vehicle.d0.s0") +// + res.getString("root.vehicle.d0.s1") + res.getString("root.vehicle.d1.s2") +// + res.getString("root.vehicle.d1.s3")); +// } +// } +// hasResultSet = statement.execute("select * from root.test"); +// if (hasResultSet) { +// ResultSet res = statement.getResultSet(); +// while (res.next()) { +// dataReceiver.add(res.getString("Time") + res.getString("root.test.d0.s0") +// + res.getString("root.test.d0.s1") + res.getString("root.test.d1.g0.s0")); +// logger.debug(res.getString("Time") + " | " + res.getString("root.test.d0.s0") +// + res.getString("root.test.d0.s1") + res.getString("root.test.d1.g0.s0")); +// } +// } +// statement.close(); +// } catch (Exception e) { +// logger.error("", e); +// } finally { +// if (connection != null) { +// connection.close(); +// } +// } +// } +// logger.debug(String.valueOf(dataSender.size())); +// logger.debug(String.valueOf(dataReceiver.size())); +// logger.debug(dataSender.toString()); +// logger.debug(dataReceiver.toString()); +// if (!(dataSender.size() == dataReceiver.size() && dataSender.containsAll(dataReceiver))) { +// success = false; +// return; +// } +// +// // the third time to sync +// logger.debug("It's the third time to sync!"); +// try { +// Class.forName(Config.JDBC_DRIVER_NAME); +// try (Connection connection = DriverManager +// .getConnection(Config.IOTDB_URL_PREFIX + "127.0.0.1:6667/", "root", +// "root")) { +// Statement statement = connection.createStatement(); +// for (String sql : sqls3) { +// statement.execute(sql); +// } +// statement.close(); +// } catch (Exception e) { +// logger.error("", e); +// } +// } catch (ClassNotFoundException e) { +// fail(e.getMessage()); +// Thread.currentThread().interrupt(); +// } +// +// fileSenderImpl.sync(); +// +// // Compare data of sender and receiver +// dataSender.clear(); +// try { +// Class.forName(Config.JDBC_DRIVER_NAME); +// try (Connection connection = DriverManager +// .getConnection(String.format("jdbc:iotdb://%s:6667/", serverIpTest), "root", +// "root")) { +// Statement statement = connection.createStatement(); +// boolean hasResultSet = statement.execute("select * from root.vehicle"); +// if (hasResultSet) { +// ResultSet res = statement.getResultSet(); +// while (res.next()) { +// dataSender.add(res.getString("Time") + res.getString("root.vehicle.d0.s0") +// + res.getString("root.vehicle.d0.s1") + res.getString("root.vehicle.d1.s2") +// + res.getString("root.vehicle.d1.s3")); +// logger.debug(res.getString("Time") + " | " + res.getString("root.vehicle.d0.s0") +// + res.getString("root.vehicle.d0.s1") + res.getString("root.vehicle.d1.s2") +// + res.getString("root.vehicle.d1.s3")); +// } +// } +// hasResultSet = statement.execute("select * from root.test"); +// if (hasResultSet) { +// ResultSet res = statement.getResultSet(); +// while (res.next()) { +// dataSender.add(res.getString("Time") + res.getString("root.test.d0.s0") +// + res.getString("root.test.d0.s1") + res.getString("root.test.d1.g0.s0")); +// logger.debug(res.getString("Time") + " | " + res.getString("root.test.d0.s0") +// + res.getString("root.test.d0.s1") + res.getString("root.test.d1.g0.s0")); +// } +// } +// hasResultSet = statement.execute("select * from root.flush"); +// if (hasResultSet) { +// ResultSet res = statement.getResultSet(); +// while (res.next()) { +// dataSender.add(res.getString("Time") + res.getString("root.flush.d0.s0") +// + res.getString("root.flush.d0.s1") + res.getString("root.flush.d1.g0.s0")); +// logger.debug(res.getString("Time") + " | " + res.getString("root.flush.d0.s0") +// + res.getString("root.flush.d0.s1") + res.getString("root.flush.d1.g0.s0")); +// } +// } +// hasResultSet = statement.execute("select * from root.iotdb"); +// if (hasResultSet) { +// ResultSet res = statement.getResultSet(); +// while (res.next()) { +// dataSender.add(res.getString("Time") + res.getString("root.iotdb.d0.s0") +// + res.getString("root.iotdb.d0.s1") + res.getString("root.iotdb.d1.s2") +// + res.getString("root.iotdb.d1.s3")); +// logger.debug(res.getString("Time") + res.getString("root.iotdb.d0.s0") +// + res.getString("root.iotdb.d0.s1") + res.getString("root.iotdb.d1.s2") +// + res.getString("root.iotdb.d1.s3")); +// } +// } +// statement.close(); +// } catch (Exception e) { +// logger.error("", e); +// } +// } catch (ClassNotFoundException e) { +// fail(e.getMessage()); +// Thread.currentThread().interrupt(); +// } +// +// dataReceiver.clear(); +// try { +// Class.forName(Config.JDBC_DRIVER_NAME); +// Connection connection = null; +// try { +// connection = DriverManager +// .getConnection("jdbc:iotdb://192.168.130.8:6667/", "root", "root"); +// Statement statement = connection.createStatement(); +// boolean hasResultSet = statement.execute("select * from root.vehicle"); +// if (hasResultSet) { +// ResultSet res = statement.getResultSet(); +// while (res.next()) { +// dataReceiver.add(res.getString("Time") + res.getString("root.vehicle.d0.s0") +// + res.getString("root.vehicle.d0.s1") + res.getString("root.vehicle.d1.s2") +// + res.getString("root.vehicle.d1.s3")); +// logger.debug(res.getString("Time") + " | " + res.getString("root.vehicle.d0.s0") +// + res.getString("root.vehicle.d0.s1") + res.getString("root.vehicle.d1.s2") +// + res.getString("root.vehicle.d1.s3")); +// } +// } +// hasResultSet = statement.execute("select * from root.test"); +// if (hasResultSet) { +// ResultSet res = statement.getResultSet(); +// while (res.next()) { +// dataReceiver.add(res.getString("Time") + res.getString("root.test.d0.s0") +// + res.getString("root.test.d0.s1") + res.getString("root.test.d1.g0.s0")); +// logger.debug(res.getString("Time") + " | " + res.getString("root.test.d0.s0") +// + res.getString("root.test.d0.s1") + res.getString("root.test.d1.g0.s0")); +// } +// } +// hasResultSet = statement.execute("select * from root.flush"); +// if (hasResultSet) { +// ResultSet res = statement.getResultSet(); +// while (res.next()) { +// dataReceiver.add(res.getString("Time") + res.getString("root.flush.d0.s0") +// + res.getString("root.flush.d0.s1") + res.getString("root.flush.d1.g0.s0")); +// logger.debug(res.getString("Time") + " | " + res.getString("root.flush.d0.s0") +// + res.getString("root.flush.d0.s1") + res.getString("root.flush.d1.g0.s0")); +// } +// } +// hasResultSet = statement.execute("select * from root.iotdb"); +// if (hasResultSet) { +// ResultSet res = statement.getResultSet(); +// while (res.next()) { +// dataReceiver.add(res.getString("Time") + res.getString("root.iotdb.d0.s0") +// + res.getString("root.iotdb.d0.s1") + res.getString("root.iotdb.d1.s2") +// + res.getString("root.iotdb.d1.s3")); +// logger.debug(res.getString("Time") + res.getString("root.iotdb.d0.s0") +// + res.getString("root.iotdb.d0.s1") + res.getString("root.iotdb.d1.s2") +// + res.getString("root.iotdb.d1.s3")); +// } +// } +// statement.close(); +// } catch (Exception e) { +// logger.error("", e); +// } finally { +// if (connection != null) { +// connection.close(); +// } +// } +// } catch (ClassNotFoundException | SQLException e) { +// fail(e.getMessage()); +// Thread.currentThread().interrupt(); +// } +// logger.debug(String.valueOf(dataSender.size())); +// logger.debug(String.valueOf(dataReceiver.size())); +// logger.debug(String.valueOf(dataSender)); +// logger.debug(String.valueOf(dataReceiver)); +// if (!(dataSender.size() == dataReceiver.size() && dataSender.containsAll(dataReceiver))) { +// success = false; +// } +// } +// } - //} ++//}
