You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ge...@apache.org on 2020/07/14 08:45:14 UTC
[incubator-iotdb] 01/01: Merge branch 'master' into optimize_path
This is an automated email from the ASF dual-hosted git repository.
geniuspig pushed a commit to branch optimize_path
in repository https://gitbox.apache.org/repos/asf/incubator-iotdb.git
commit 2f0c07dfd2ccd30f90ede7665324e90511d22fec
Merge: 0e5b4f9 d8777ed
Author: zhutianci <zh...@gmail.com>
AuthorDate: Tue Jul 14 16:44:48 2020 +0800
Merge branch 'master' into optimize_path
LICENSE-binary | 72 +++++++--
cli/pom.xml | 1 +
cli/src/assembly/resources/sbin/start-cli.sh | 2 +-
.../java/org/apache/iotdb/cli/AbstractCli.java | 10 ++
distribution/pom.xml | 1 +
docs/SystemDesign/DataQuery/QueryFundamentals.md | 43 +++++-
docs/SystemDesign/SchemaManager/SchemaManager.md | 45 ++++++
.../Concept/Data Model and Terminology.md | 4 +-
.../DML Data Manipulation Language.md | 28 +++-
docs/UserGuide/Operation Manual/SQL Reference.md | 23 ++-
.../System Tools/Performance Tracing Tool.md | 61 ++++++++
.../zh/SystemDesign/DataQuery/QueryFundamentals.md | 38 ++++-
.../zh/SystemDesign/SchemaManager/SchemaManager.md | 41 ++++++
.../Concept/Data Model and Terminology.md | 6 +-
.../DML Data Manipulation Language.md | 25 +++-
.../zh/UserGuide/Operation Manual/SQL Reference.md | 27 +++-
.../System Tools/Performance Tracing Tool.md | 61 ++++++++
.../main/java/org/apache/iotdb/SessionExample.java | 2 +-
hadoop/pom.xml | 5 +-
.../apache/iotdb/hadoop/tsfile/TSFInputFormat.java | 23 ++-
.../iotdb/hadoop/tsfile/TSFRecordReader.java | 27 ++--
.../iotdb/hadoop/tsfile/TSFRecordWriter.java | 3 +-
hive-connector/pom.xml | 7 +-
.../org/apache/iotdb/hive/TSFHiveInputFormat.java | 11 +-
.../java/org/apache/iotdb/hive/TsFileSerDe.java | 18 ++-
jdbc/pom.xml | 4 +-
licenses/EDL License 1.0 | 11 --
pom.xml | 19 +--
server/pom.xml | 11 ++
.../resources/conf/iotdb-engine.properties | 11 +-
.../iotdb/db/auth/authorizer/BasicAuthorizer.java | 2 +-
.../java/org/apache/iotdb/db/conf/IoTDBConfig.java | 21 +--
.../org/apache/iotdb/db/conf/IoTDBConfigCheck.java | 35 +++--
.../org/apache/iotdb/db/conf/IoTDBDescriptor.java | 21 ++-
.../db/conf/directories/DirectoryManager.java | 2 +-
.../org/apache/iotdb/db/engine/StorageEngine.java | 23 ++-
.../apache/iotdb/db/engine/cache/ChunkCache.java | 8 +-
.../iotdb/db/engine/memtable/AbstractMemTable.java | 23 +--
.../apache/iotdb/db/engine/memtable/IMemTable.java | 5 +-
.../db/engine/memtable/IWritableMemChunk.java | 10 +-
.../iotdb/db/engine/memtable/WritableMemChunk.java | 9 +-
.../db/engine/merge/task/MergeMultiChunkTask.java | 3 +-
.../iotdb/db/engine/modification/Deletion.java | 47 ++++--
.../io/LocalTextModificationAccessor.java | 20 ++-
.../engine/storagegroup/StorageGroupProcessor.java | 146 +++++++++++--------
.../db/engine/storagegroup/TsFileProcessor.java | 3 +-
.../db/engine/storagegroup/TsFileResource.java | 10 +-
.../version/SimpleFileVersionController.java | 10 +-
.../iotdb/db/exception/query/PathException.java | 38 -----
.../db/exception/runtime/SQLParserException.java | 7 +-
.../org/apache/iotdb/db/metadata/MManager.java | 109 +++++++++++---
.../java/org/apache/iotdb/db/metadata/MTree.java | 80 ++++++----
.../iotdb/db/metadata/mnode/StorageGroupMNode.java | 1 -
.../apache/iotdb/db/monitor/MonitorConstants.java | 2 +-
.../org/apache/iotdb/db/monitor/StatMonitor.java | 2 +-
.../apache/iotdb/db/qp/constant/SQLConstant.java | 4 +-
.../apache/iotdb/db/qp/executor/IPlanExecutor.java | 5 +-
.../apache/iotdb/db/qp/executor/PlanExecutor.java | 162 ++++++++++-----------
.../db/qp/logical/crud/DeleteDataOperator.java | 18 ++-
.../iotdb/db/qp/physical/crud/DeletePlan.java | 49 +++++--
.../iotdb/db/qp/physical/crud/InsertPlan.java | 12 ++
.../iotdb/db/qp/physical/crud/InsertRowPlan.java | 39 +++--
.../db/qp/physical/crud/InsertTabletPlan.java | 123 +++++++---------
.../db/qp/physical/sys/ShowTimeSeriesPlan.java | 18 +++
.../iotdb/db/qp/strategy/LogicalGenerator.java | 59 ++++++--
.../iotdb/db/qp/strategy/PhysicalGenerator.java | 2 +-
.../iotdb/db/query/control/TracingManager.java | 4 +-
.../db/query/dataset/ShowTimeseriesDataSet.java | 80 ++++++++++
.../query/dataset/groupby/GroupByFillDataSet.java | 2 +-
.../iotdb/db/query/executor/LastQueryExecutor.java | 26 +++-
.../iotdb/db/query/executor/QueryRouter.java | 7 +-
.../db/query/executor/RawDataQueryExecutor.java | 12 +-
.../java/org/apache/iotdb/db/service/Monitor.java | 4 +-
.../org/apache/iotdb/db/service/MonitorMBean.java | 2 +-
.../org/apache/iotdb/db/service/TSServiceImpl.java | 79 +++++++---
.../iotdb/db/tools/memestimation/MemEstTool.java | 8 +-
.../org/apache/iotdb/db/utils/CommonUtils.java | 32 ++--
.../org/apache/iotdb/db/utils/OpenFileNumUtil.java | 2 +-
.../java/org/apache/iotdb/db/utils/QueryUtils.java | 160 ++++++++++++++++----
.../org/apache/iotdb/db/utils/SchemaUtils.java | 7 +-
.../org/apache/iotdb/db/utils/SerializeUtils.java | 24 ++-
.../apache/iotdb/db/utils/TypeInferenceUtils.java | 4 +-
.../iotdb/db/utils/datastructure/TVList.java | 35 +++--
.../iotdb/db/writelog/recover/LogReplayer.java | 8 +-
.../db/engine/cache/ChunkMetadataCacheTest.java | 13 +-
.../iotdb/db/engine/merge/MergeTaskTest.java | 2 +-
.../engine/modification/DeletionFileNodeTest.java | 51 ++++---
.../db/engine/modification/DeletionQueryTest.java | 82 ++++++-----
.../engine/modification/ModificationFileTest.java | 8 +-
.../storagegroup/StorageGroupProcessorTest.java | 36 +++--
.../iotdb/db/engine/storagegroup/TTLTest.java | 19 ++-
.../iotdb/db/integration/IoTDBDeletionIT.java | 37 +++++
.../apache/iotdb/db/integration/IoTDBLastIT.java | 52 +++++++
.../iotdb/db/integration/IoTDBMultiSeriesIT.java | 2 +
.../iotdb/db/integration/IoTDBRestartIT.java | 7 +
.../iotdb/db/integration/IoTDBSimpleQueryIT.java | 151 +++++++++++++++++++
.../iotdb/db/metadata/MManagerBasicTest.java | 3 +-
.../iotdb/db/qp/plan/LogicalPlanSmallTest.java | 93 ++++++++++++
.../apache/iotdb/db/qp/plan/PhysicalPlanTest.java | 11 ++
.../apache/iotdb/db/qp/plan/SerializationTest.java | 88 +++++++++++
.../query/executor/GroupByEngineDataSetTest.java | 9 +-
.../reader/series/SeriesAggregateReaderTest.java | 3 +-
.../reader/series/SeriesReaderByTimestampTest.java | 3 +-
.../db/query/reader/series/SeriesReaderTest.java | 3 +-
.../query/reader/series/SeriesReaderTestUtil.java | 5 +-
.../org/apache/iotdb/db/tools/WalCheckerTest.java | 2 +-
.../apache/iotdb/db/utils/EnvironmentUtils.java | 7 +-
.../apache/iotdb/db/writelog/PerformanceTest.java | 4 +-
.../iotdb/db/writelog/WriteLogNodeManagerTest.java | 2 +-
.../apache/iotdb/db/writelog/WriteLogNodeTest.java | 14 +-
.../iotdb/db/writelog/io/LogWriterReaderTest.java | 2 +-
.../db/writelog/io/MultiFileLogReaderTest.java | 2 +-
.../iotdb/db/writelog/recover/LogReplayerTest.java | 6 +-
service-rpc/pom.xml | 3 +-
session/pom.xml | 2 +-
.../java/org/apache/iotdb/session/Session.java | 19 ++-
site/iotdb-doap.rdf | 80 ++++++++++
site/src/main/.vuepress/config.js | 10 +-
site/src/main/.vuepress/theme/styles/index.styl | 4 +-
.../apache/iotdb/spark/db/EnvironmentUtils.java | 5 +-
thrift/pom.xml | 3 +-
thrift/rpc-changelist.md | 4 +-
thrift/src/main/thrift/cluster.thrift | 34 ++++-
thrift/src/main/thrift/rpc.thrift | 3 +-
tsfile/pom.xml | 8 +-
.../apache/iotdb/tsfile/compress/ICompressor.java | 47 +++++-
.../iotdb/tsfile/compress/IUnCompressor.java | 106 ++++++++++++--
.../iotdb/tsfile/file/metadata/ChunkMetadata.java | 46 ++++--
.../file/metadata/enums/CompressionType.java | 10 +-
.../iotdb/tsfile/read/TsFileSequenceReader.java | 2 +-
.../org/apache/iotdb/tsfile/read/common/Chunk.java | 17 ++-
.../apache/iotdb/tsfile/read/common/TimeRange.java | 51 ++++++-
.../read/controller/CachedChunkLoaderImpl.java | 2 +-
.../iotdb/tsfile/read/filter/TimeFilter.java | 2 +-
.../tsfile/read/reader/chunk/ChunkReader.java | 29 ++--
.../read/reader/chunk/ChunkReaderByTimestamp.java | 4 +-
.../iotdb/tsfile/read/reader/page/PageReader.java | 41 ++++--
.../iotdb/tsfile/utils/ReadWriteIOUtils.java | 12 +-
.../tsfile/v1/file/metadata/ChunkMetadataV1.java | 11 +-
.../tsfile/v1/read/TsFileSequenceReaderForV1.java | 2 +-
.../tsfile/write/schema/MeasurementSchema.java | 3 +
...easurementSchema.java => TimeseriesSchema.java} | 108 +++++---------
.../apache/iotdb/tsfile/compress/CompressTest.java | 32 +++-
.../compress/{SnappyTest.java => LZ4Test.java} | 41 ++----
.../apache/iotdb/tsfile/compress/SnappyTest.java | 21 ++-
.../iotdb/tsfile/read/common/TimeRangeTest.java | 70 +++++++++
.../iotdb/tsfile/read/reader/PageReaderTest.java | 55 +++++++
147 files changed, 2858 insertions(+), 1010 deletions(-)
diff --cc server/src/main/java/org/apache/iotdb/db/metadata/MTree.java
index e132c07,431c35b..a474e17
--- a/server/src/main/java/org/apache/iotdb/db/metadata/MTree.java
+++ b/server/src/main/java/org/apache/iotdb/db/metadata/MTree.java
@@@ -849,45 -697,14 +850,44 @@@ public class MTree implements Serializa
}
/**
+ * Get all time series schema under the given nodes
+ *
+ * <p>result: [name, alias, storage group, dataType, encoding, compression, offset]
+ */
+ List<String[]> getAllMeasurementSchemaByNodes(ShowTimeSeriesPlan plan) throws MetadataException {
+ List<String[]> res;
+ List<String> nodes = plan.getPath().getNodes();
+ if (nodes.size() == 0 || !nodes.get(0).equals(root.getName())) {
+ throw new IllegalPathException(plan.getPath().getFullPath());
+ }
+ limit.set(plan.getLimit());
+ offset.set(plan.getOffset());
+ curOffset.set(-1);
+ count.set(0);
+ if (offset.get() != 0 || limit.get() != 0) {
+ res = new LinkedList<>();
+ findPath(root, nodes.toArray(new String[0]), 1, "", res, true, false);
+ } else {
+ res = new LinkedList<>();
+ findPath(root, nodes.toArray(new String[0]), 1, "", res, false, false);
+ }
+ // avoid memory leaks
+ limit.remove();
+ offset.remove();
+ curOffset.remove();
+ count.remove();
+ return res;
+ }
+
+ /**
* Iterate through MTree to fetch metadata info of all leaf nodes under the given seriesPath
*
- * @param needLast if false, lastTimeStamp in timeseriesSchemaList will be null
+ * @param needLast if false, lastTimeStamp in timeseriesSchemaList will be null
* @param timeseriesSchemaList List<timeseriesSchema> result: [name, alias, storage group,
- * dataType, encoding, compression, offset, lastTimeStamp]
+ * dataType, encoding, compression, offset, lastTimeStamp]
*/
- private void findPath(MNode node, String[] nodes, int idx, String parent,
- List<String[]> timeseriesSchemaList, boolean hasLimit, boolean needLast)
- throws MetadataException {
+ private void findPath(MNode node, String[] nodes, int idx, List<String[]> timeseriesSchemaList,
+ boolean hasLimit, boolean needLast) throws MetadataException {
if (node instanceof MeasurementMNode && nodes.length <= idx) {
if (hasLimit) {
curOffset.set(curOffset.get() + 1);