You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ji...@apache.org on 2020/12/28 11:13:49 UTC

[iotdb] branch cluster_node_management updated (d99432a -> 44a6155)

This is an automated email from the ASF dual-hosted git repository.

jiangtian pushed a change to branch cluster_node_management
in repository https://gitbox.apache.org/repos/asf/iotdb.git.


    from d99432a  remove a done todo
     add 5d91586  add SDT docs (#2307)
     add becbd87  upgrade guava version (#2303)
     add bb40b81  fix a bug of cal MaxDeduplicatedPathNum (#2310)
     add 5fb992f  Fix sync schema bug (#2309)
     add 1ee1dd5  Update PartialPathTest.java (#2274)
     add 1981766  remove useless coeds
     add 852fbb9  Merge pull request #2302 from neuyilan/apache_master_1222_remove_useless_code
     add 537aebf  [IOTDB-944] Support UDTF (User-defined Timeseries Generating Function) (#1828)
     add ac8c887  Update TsFileIOWriter.java (#2320)
     add 21d356c  Fix documents that are not linked to official websites (#2324)
     add 92e26fb  fix incorrect MetadataException printf info. (#2323)
     add b4f41ba  Remove a useless comma in the usage info of cluster (#2328)
     add d76076d  refactor the code
     add 095803c  Merge pull request #2339 from neuyilan/apache_master_1225_refactor_the_code
     add 63c2aad  fix wal buffer annotation (#2311)
     add ec88e69  Bump maven wrapper from 3.6.1 to 3.6.3
     add 231b334  Remove extra bracket to make the param annotation take effect
     add 69de3d6  1. add pr template; 2. disable enforcer check in travis; 3. test sonar token
     add 0b25cba  supply the cluster version status code (#2342)
     add 258d4ce  Fix a potential overflow in udf (#2345)
     add a3ea467  Fix the default value of operation timeout (#2330)
     add a898e72  Delete update operation (#2288)
     new 31c4d43  Merge branch 'master' into cluster_node_management
     new 44a6155  fix tests

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .github/pull_request_template.md                   |  93 ++++
 .github/workflows/sonar_and_coverall.yml           |   2 +-
 .mvn/wrapper/maven-wrapper.properties              |   2 +-
 .travis.yml                                        |  10 +-
 .../antlr4/org/apache/iotdb/db/qp/sql/SqlBase.g4   |  52 +-
 .../java/org/apache/iotdb/cluster/ClusterMain.java |   2 +-
 .../cluster/client/async/AsyncClientPool.java      |   2 +-
 .../iotdb/cluster/client/sync/SyncClientPool.java  |   2 +-
 .../apache/iotdb/cluster/config/ClusterConfig.java |   4 +-
 .../cluster/query/ClusterConcatPathOptimizer.java  |   4 +-
 .../iotdb/cluster/query/ClusterPlanExecutor.java   |  10 +-
 .../iotdb/cluster/query/ClusterPlanRouter.java     |   9 -
 .../cluster/server/monitor/NodeStatusManager.java  |   2 +-
 .../cluster/server/service/BaseSyncService.java    |   7 +-
 .../apache/iotdb/cluster/utils/ClusterUtils.java   |   4 +-
 .../org/apache/iotdb/cluster/common/IoTDBTest.java |   2 +-
 .../cluster/log/applier/DataLogApplierTest.java    |   4 +-
 .../cluster/partition/SlotPartitionTableTest.java  |  14 -
 .../query/ClusterPhysicalGeneratorTest.java        |  10 +-
 .../cluster/query/ClusterPlanExecutorTest.java     |   4 +-
 .../cluster/server/member/MetaGroupMemberTest.java |   8 +
 docs/UserGuide/Client/Status Codes.md              |   8 +
 docs/UserGuide/Concept/SDT.md                      |  63 +++
 .../Operation Manual/UDF User Defined Function.md  | 410 +++++++++++++++
 docs/zh/UserGuide/Client/Status Codes.md           |   9 +-
 docs/zh/UserGuide/Concept/SDT.md                   |  61 +++
 .../Operation Manual/UDF User Defined Function.md  | 410 +++++++++++++++
 example/pom.xml                                    |   1 +
 example/udf/pom.xml                                |  82 +++
 .../java/org/apache/iotdb/udf/UDTFExample.java     |  56 ++
 hadoop/pom.xml                                     |   2 +-
 hive-connector/pom.xml                             |   2 +-
 .../resources/conf/iotdb-engine.properties         |  24 +-
 .../org/apache/iotdb/db/auth/AuthorityChecker.java |  15 +-
 .../apache/iotdb/db/auth/entity/PrivilegeType.java |   2 +-
 .../java/org/apache/iotdb/db/conf/IoTDBConfig.java |  76 ++-
 .../org/apache/iotdb/db/conf/IoTDBConstant.java    |   3 +
 .../org/apache/iotdb/db/conf/IoTDBDescriptor.java  |  43 ++
 .../UDFRegistrationException.java}                 |  72 ++-
 .../main/java/org/apache/iotdb/db/qp/Planner.java  |   9 +-
 .../apache/iotdb/db/qp/constant/DatetimeUtils.java |  40 ++
 .../apache/iotdb/db/qp/constant/SQLConstant.java   |  14 +-
 .../apache/iotdb/db/qp/executor/IPlanExecutor.java |  11 +-
 .../apache/iotdb/db/qp/executor/PlanExecutor.java  |  70 ++-
 .../org/apache/iotdb/db/qp/logical/Operator.java   |   3 +-
 .../iotdb/db/qp/logical/crud/SFWOperator.java      |  16 +-
 .../iotdb/db/qp/logical/crud/SelectOperator.java   |  47 +-
 .../CreateFunctionOperator.java}                   |  99 ++--
 .../DropFunctionOperator.java}                     |  81 ++-
 .../ShowFunctionsOperator.java}                    |  78 ++-
 .../iotdb/db/qp/physical/crud/QueryPlan.java       |   2 +-
 .../apache/iotdb/db/qp/physical/crud/UDFPlan.java  |  79 +--
 .../apache/iotdb/db/qp/physical/crud/UDTFPlan.java | 118 +++++
 .../iotdb/db/qp/physical/crud/UpdatePlan.java      | 135 -----
 .../sys/{ShowPlan.java => CreateFunctionPlan.java} | 114 ++--
 .../iotdb/db/qp/physical/sys/DropFunctionPlan.java |  81 +--
 .../sys/ShowFunctionsPlan.java}                    |  75 ++-
 .../apache/iotdb/db/qp/physical/sys/ShowPlan.java  |   6 +-
 .../apache/iotdb/db/qp/sql/IoTDBSqlVisitor.java    | 152 ++++--
 .../iotdb/db/qp/strategy/LogicalGenerator.java     |   7 +-
 .../iotdb/db/qp/strategy/PhysicalGenerator.java    | 130 +++--
 .../qp/strategy/optimizer/ConcatPathOptimizer.java | 192 +++++--
 .../db/query/aggregation/AggregateResult.java      |   2 +-
 .../db/query/aggregation/AggregationType.java      |   1 -
 .../db/query/control/QueryResourceManager.java     |   8 +-
 .../db/query/dataset/AlignByDeviceDataSet.java     |   4 +-
 .../db/query/dataset/DirectAlignByTimeDataSet.java |  72 ++-
 .../db/query/dataset/DirectNonAlignDataSet.java    |  70 ++-
 .../apache/iotdb/db/query/dataset/ListDataSet.java |   4 +-
 .../db/query/dataset/NonAlignEngineDataSet.java    |  28 +-
 .../dataset/RawQueryDataSetWithValueFilter.java    |   4 +-
 .../dataset/RawQueryDataSetWithoutValueFilter.java |  24 +-
 .../db/query/dataset/ShowTimeseriesDataSet.java    |   4 +-
 .../db/query/dataset/UDTFAlignByTimeDataSet.java   | 277 ++++++++++
 .../apache/iotdb/db/query/dataset/UDTFDataSet.java | 152 ++++++
 .../db/query/dataset/UDTFNonAlignDataSet.java      | 191 +++++++
 .../dataset/groupby/GroupByEngineDataSet.java      |   4 +-
 .../query/dataset/groupby/GroupByFillDataSet.java  |   4 +-
 .../query/dataset/groupby/GroupByTimeDataSet.java  |   4 +-
 .../groupby/GroupByWithValueFilterDataSet.java     |   2 +-
 .../groupby/GroupByWithoutValueFilterDataSet.java  |   2 +-
 .../iotdb/db/query/executor/IQueryRouter.java      |   8 +-
 .../iotdb/db/query/executor/QueryRouter.java       |  51 +-
 .../db/query/executor/RawDataQueryExecutor.java    |  22 +-
 .../iotdb/db/query/executor/UDTFQueryExecutor.java |  84 +++
 .../UpdateOperator.java => query/udf/api/UDF.java} |  70 ++-
 .../org/apache/iotdb/db/query/udf/api/UDTF.java    | 101 ++++
 .../apache/iotdb/db/query/udf/api/access/Row.java  | 119 +++++
 .../iotdb/db/query/udf/api/access/RowIterator.java |  85 +--
 .../iotdb/db/query/udf/api/access/RowWindow.java   |  61 +++
 .../db/query/udf/api/collector/PointCollector.java | 137 +++++
 .../api/customizer/config/UDFConfigurations.java}  |  79 ++-
 .../api/customizer/config/UDTFConfigurations.java  | 104 ++++
 .../api/customizer/parameter/UDFParameters.java    | 119 +++++
 .../api/customizer/strategy/AccessStrategy.java    |  64 +++
 .../strategy/RowByRowAccessStrategy.java           |  61 +++
 .../strategy/SlidingSizeWindowAccessStrategy.java  | 123 +++++
 .../strategy/SlidingTimeWindowAccessStrategy.java  | 249 +++++++++
 .../iotdb/db/query/udf/core/access/RowImpl.java    |  93 ++++
 .../db/query/udf/core/access/RowIteratorImpl.java  |  58 +++
 .../db/query/udf/core/access/RowWindowImpl.java    |  75 +++
 .../db/query/udf/core/context/UDFContext.java      | 134 +++++
 .../db/query/udf/core/executor/UDTFExecutor.java   |  92 ++++
 .../iotdb/db/query/udf/core/input/InputLayer.java  | 563 ++++++++++++++++++++
 .../iotdb/db/query/udf/core/input/SafetyLine.java  |  60 +++
 .../db/query/udf/core/reader/LayerPointReader.java |  84 +--
 .../udf/core/reader/LayerRowReader.java}           |  79 ++-
 .../udf/core/reader/LayerRowWindowReader.java}     |  77 ++-
 .../core/transformer/RawQueryPointTransformer.java |  72 +++
 .../db/query/udf/core/transformer/Transformer.java |  93 ++++
 .../core/transformer/UDFQueryRowTransformer.java   |  84 +--
 .../transformer/UDFQueryRowWindowTransformer.java  |  46 ++
 .../udf/core/transformer/UDFQueryTransformer.java  |  89 ++++
 .../query/udf/datastructure/SerializableList.java  | 165 ++++++
 .../primitive/ElasticSerializableIntList.java      | 109 ++++
 .../udf/datastructure/primitive/IntList.java}      |  74 ++-
 .../primitive/SerializableIntList.java             | 131 +++++
 .../datastructure/primitive/WrappedIntArray.java   |  90 ++--
 .../row/ElasticSerializableRowRecordList.java      | 234 +++++++++
 .../row/SerializableRowRecordList.java             | 245 +++++++++
 .../tv/ElasticSerializableBinaryTVList.java        | 121 +++++
 .../tv/ElasticSerializableTVList.java              | 312 +++++++++++
 .../datastructure/tv/SerializableBinaryTVList.java |  79 +++
 .../tv/SerializableBooleanTVList.java              |  69 +++
 .../datastructure/tv/SerializableDoubleTVList.java |  69 +++
 .../datastructure/tv/SerializableFloatTVList.java  |  69 +++
 .../datastructure/tv/SerializableIntTVList.java    |  69 +++
 .../datastructure/tv/SerializableLongTVList.java   |  69 +++
 .../udf/datastructure/tv/SerializableTVList.java   |  99 ++++
 .../udf/service/TemporaryQueryDataFileService.java | 136 +++++
 .../iotdb/db/query/udf/service/UDFClassLoader.java |  64 +++
 .../iotdb/db/query/udf/service/UDFLogWriter.java   |  69 +++
 .../udf/service/UDFRegistrationInformation.java}   |  93 ++--
 .../query/udf/service/UDFRegistrationService.java  | 329 ++++++++++++
 .../java/org/apache/iotdb/db/service/IoTDB.java    |   4 +
 .../org/apache/iotdb/db/service/ServiceType.java   |   4 +-
 .../org/apache/iotdb/db/service/TSServiceImpl.java | 102 ++--
 .../db/sync/receiver/transfer/SyncServiceImpl.java |  25 +-
 .../iotdb/db/sync/sender/transfer/SyncClient.java  |  48 +-
 .../org/apache/iotdb/db/utils/SchemaUtils.java     |  25 +-
 .../iotdb/db/writelog/recover/LogReplayer.java     |   9 -
 .../apache/iotdb/db/auth/AuthorityCheckerTest.java |   3 -
 .../iotdb/db/engine/storagegroup/TTLTest.java      |   2 +-
 .../iotdb/db/integration/IoTDBSimpleQueryIT.java   |   6 +-
 .../iotdb/db/integration/IoTDBUDFManagementIT.java | 308 +++++++++++
 .../db/integration/IoTDBUDFWindowQueryIT.java      | 513 ++++++++++++++++++
 .../integration/IoTDBUDTFAlignByTimeQueryIT.java   | 525 +++++++++++++++++++
 .../db/integration/IoTDBUDTFHybridQueryIT.java     | 166 ++++++
 .../db/integration/IoTDBUDTFNonAlignQueryIT.java   | 337 ++++++++++++
 .../apache/iotdb/db/metadata/PartialPathTest.java  |  34 +-
 .../iotdb/db/qp/plan/ConcatOptimizerTest.java      |   7 +-
 .../apache/iotdb/db/qp/plan/PhysicalPlanTest.java  | 213 +++++++-
 .../query/dataset/UDTFAlignByTimeDataSetTest.java  | 578 +++++++++++++++++++++
 .../ElasticSerializableRowRecordListTest.java      | 224 ++++++++
 .../ElasticSerializableTVListTest.java             | 251 +++++++++
 .../SerializableBinaryTVListTest.java              |  80 +++
 .../SerializableBooleanTVListTest.java             |  80 +++
 .../SerializableDoubleTVListTest.java              |  79 +++
 .../datastructure/SerializableFloatTVListTest.java |  78 +++
 .../datastructure/SerializableIntTVListTest.java   |  78 +++
 .../udf/datastructure/SerializableListTest.java}   |  81 ++-
 .../datastructure/SerializableLongTVListTest.java  |  78 +++
 .../SerializableRowRecordListTest.java             | 143 +++++
 .../udf/datastructure/SerializableTVListTest.java} |  79 ++-
 .../iotdb/db/query/udf/example/Accumulator.java    |  82 +++
 .../apache/iotdb/db/query/udf/example/Adder.java   |  78 +++
 .../apache/iotdb/db/query/udf/example/Counter.java |  76 +++
 .../iotdb/db/query/udf/example/Multiplier.java     |  54 ++
 .../SlidingSizeWindowConstructorTester0.java       |  53 ++
 .../SlidingSizeWindowConstructorTester1.java       |  54 ++
 .../SlidingTimeWindowConstructionTester.java       |  61 +++
 .../apache/iotdb/db/utils/EnvironmentUtils.java    |   5 +
 .../apache/iotdb/db/writelog/PerformanceTest.java  |  15 +-
 .../java/org/apache/iotdb/rpc/TSStatusCode.java    |   1 -
 .../java/org/apache/iotdb/session/SessionUT.java   |   2 +-
 site/src/main/.vuepress/config.js                  |  26 +-
 spark-iotdb-connector/pom.xml                      |   2 +-
 .../org/apache/iotdb/tsfile/read/common/Field.java |   4 -
 .../apache/iotdb/tsfile/read/common/RowRecord.java |   2 +-
 .../query/dataset/DataSetWithTimeGenerator.java    |   4 +-
 .../query/dataset/DataSetWithoutTimeGenerator.java |   4 +-
 .../tsfile/read/query/dataset/EmptyDataSet.java    |   4 +-
 .../tsfile/read/query/dataset/QueryDataSet.java    |   4 +-
 .../iotdb/tsfile/utils/ReadWriteIOUtils.java       |  11 +-
 .../iotdb/tsfile/write/writer/TsFileIOWriter.java  |   2 +-
 185 files changed, 13070 insertions(+), 1567 deletions(-)
 create mode 100644 .github/pull_request_template.md
 create mode 100644 docs/UserGuide/Operation Manual/UDF User Defined Function.md
 create mode 100644 docs/zh/UserGuide/Operation Manual/UDF User Defined Function.md
 create mode 100644 example/udf/pom.xml
 create mode 100644 example/udf/src/main/java/org/apache/iotdb/udf/UDTFExample.java
 copy server/src/main/java/org/apache/iotdb/db/{qp/logical/crud/UpdateOperator.java => exception/UDFRegistrationException.java} (65%)
 copy server/src/main/java/org/apache/iotdb/db/qp/logical/{crud/UpdateOperator.java => sys/CreateFunctionOperator.java} (51%)
 copy server/src/main/java/org/apache/iotdb/db/qp/logical/{crud/UpdateOperator.java => sys/DropFunctionOperator.java} (66%)
 copy server/src/main/java/org/apache/iotdb/db/qp/logical/{crud/UpdateOperator.java => sys/ShowFunctionsOperator.java} (68%)
 copy cluster/src/main/java/org/apache/iotdb/cluster/query/ClusterConcatPathOptimizer.java => server/src/main/java/org/apache/iotdb/db/qp/physical/crud/UDFPlan.java (57%)
 create mode 100644 server/src/main/java/org/apache/iotdb/db/qp/physical/crud/UDTFPlan.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/qp/physical/crud/UpdatePlan.java
 copy server/src/main/java/org/apache/iotdb/db/qp/physical/sys/{ShowPlan.java => CreateFunctionPlan.java} (60%)
 copy cluster/src/main/java/org/apache/iotdb/cluster/query/ClusterConcatPathOptimizer.java => server/src/main/java/org/apache/iotdb/db/qp/physical/sys/DropFunctionPlan.java (61%)
 copy server/src/main/java/org/apache/iotdb/db/qp/{logical/crud/UpdateOperator.java => physical/sys/ShowFunctionsPlan.java} (65%)
 copy tsfile/src/main/java/org/apache/iotdb/tsfile/read/query/dataset/EmptyDataSet.java => server/src/main/java/org/apache/iotdb/db/query/dataset/DirectAlignByTimeDataSet.java (62%)
 copy tsfile/src/main/java/org/apache/iotdb/tsfile/read/query/dataset/EmptyDataSet.java => server/src/main/java/org/apache/iotdb/db/query/dataset/DirectNonAlignDataSet.java (62%)
 create mode 100644 server/src/main/java/org/apache/iotdb/db/query/dataset/UDTFAlignByTimeDataSet.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/query/dataset/UDTFDataSet.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/query/dataset/UDTFNonAlignDataSet.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/query/executor/UDTFQueryExecutor.java
 copy server/src/main/java/org/apache/iotdb/db/{qp/logical/crud/UpdateOperator.java => query/udf/api/UDF.java} (65%)
 create mode 100644 server/src/main/java/org/apache/iotdb/db/query/udf/api/UDTF.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/query/udf/api/access/Row.java
 copy cluster/src/main/java/org/apache/iotdb/cluster/query/ClusterConcatPathOptimizer.java => server/src/main/java/org/apache/iotdb/db/query/udf/api/access/RowIterator.java (50%)
 create mode 100644 server/src/main/java/org/apache/iotdb/db/query/udf/api/access/RowWindow.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/query/udf/api/collector/PointCollector.java
 copy server/src/main/java/org/apache/iotdb/db/{qp/logical/crud/UpdateOperator.java => query/udf/api/customizer/config/UDFConfigurations.java} (60%)
 create mode 100644 server/src/main/java/org/apache/iotdb/db/query/udf/api/customizer/config/UDTFConfigurations.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/query/udf/api/customizer/parameter/UDFParameters.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/query/udf/api/customizer/strategy/AccessStrategy.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/query/udf/api/customizer/strategy/RowByRowAccessStrategy.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/query/udf/api/customizer/strategy/SlidingSizeWindowAccessStrategy.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/query/udf/api/customizer/strategy/SlidingTimeWindowAccessStrategy.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/query/udf/core/access/RowImpl.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/query/udf/core/access/RowIteratorImpl.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/query/udf/core/access/RowWindowImpl.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/query/udf/core/context/UDFContext.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/query/udf/core/executor/UDTFExecutor.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/query/udf/core/input/InputLayer.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/query/udf/core/input/SafetyLine.java
 copy cluster/src/main/java/org/apache/iotdb/cluster/query/ClusterConcatPathOptimizer.java => server/src/main/java/org/apache/iotdb/db/query/udf/core/reader/LayerPointReader.java (51%)
 copy server/src/main/java/org/apache/iotdb/db/{qp/logical/crud/UpdateOperator.java => query/udf/core/reader/LayerRowReader.java} (62%)
 copy server/src/main/java/org/apache/iotdb/db/{qp/logical/crud/UpdateOperator.java => query/udf/core/reader/LayerRowWindowReader.java} (60%)
 create mode 100644 server/src/main/java/org/apache/iotdb/db/query/udf/core/transformer/RawQueryPointTransformer.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/query/udf/core/transformer/Transformer.java
 copy tsfile/src/main/java/org/apache/iotdb/tsfile/read/query/dataset/EmptyDataSet.java => server/src/main/java/org/apache/iotdb/db/query/udf/core/transformer/UDFQueryRowTransformer.java (50%)
 create mode 100644 server/src/main/java/org/apache/iotdb/db/query/udf/core/transformer/UDFQueryRowWindowTransformer.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/query/udf/core/transformer/UDFQueryTransformer.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/query/udf/datastructure/SerializableList.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/query/udf/datastructure/primitive/ElasticSerializableIntList.java
 copy server/src/main/java/org/apache/iotdb/db/{qp/logical/crud/UpdateOperator.java => query/udf/datastructure/primitive/IntList.java} (65%)
 create mode 100644 server/src/main/java/org/apache/iotdb/db/query/udf/datastructure/primitive/SerializableIntList.java
 copy tsfile/src/main/java/org/apache/iotdb/tsfile/read/query/dataset/EmptyDataSet.java => server/src/main/java/org/apache/iotdb/db/query/udf/datastructure/primitive/WrappedIntArray.java (62%)
 create mode 100644 server/src/main/java/org/apache/iotdb/db/query/udf/datastructure/row/ElasticSerializableRowRecordList.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/query/udf/datastructure/row/SerializableRowRecordList.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/query/udf/datastructure/tv/ElasticSerializableBinaryTVList.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/query/udf/datastructure/tv/ElasticSerializableTVList.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/query/udf/datastructure/tv/SerializableBinaryTVList.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/query/udf/datastructure/tv/SerializableBooleanTVList.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/query/udf/datastructure/tv/SerializableDoubleTVList.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/query/udf/datastructure/tv/SerializableFloatTVList.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/query/udf/datastructure/tv/SerializableIntTVList.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/query/udf/datastructure/tv/SerializableLongTVList.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/query/udf/datastructure/tv/SerializableTVList.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/query/udf/service/TemporaryQueryDataFileService.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/query/udf/service/UDFClassLoader.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/query/udf/service/UDFLogWriter.java
 copy server/src/main/java/org/apache/iotdb/db/{qp/logical/crud/UpdateOperator.java => query/udf/service/UDFRegistrationInformation.java} (50%)
 create mode 100644 server/src/main/java/org/apache/iotdb/db/query/udf/service/UDFRegistrationService.java
 create mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBUDFManagementIT.java
 create mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBUDFWindowQueryIT.java
 create mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBUDTFAlignByTimeQueryIT.java
 create mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBUDTFHybridQueryIT.java
 create mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBUDTFNonAlignQueryIT.java
 create mode 100644 server/src/test/java/org/apache/iotdb/db/query/dataset/UDTFAlignByTimeDataSetTest.java
 create mode 100644 server/src/test/java/org/apache/iotdb/db/query/udf/datastructure/ElasticSerializableRowRecordListTest.java
 create mode 100644 server/src/test/java/org/apache/iotdb/db/query/udf/datastructure/ElasticSerializableTVListTest.java
 create mode 100644 server/src/test/java/org/apache/iotdb/db/query/udf/datastructure/SerializableBinaryTVListTest.java
 create mode 100644 server/src/test/java/org/apache/iotdb/db/query/udf/datastructure/SerializableBooleanTVListTest.java
 create mode 100644 server/src/test/java/org/apache/iotdb/db/query/udf/datastructure/SerializableDoubleTVListTest.java
 create mode 100644 server/src/test/java/org/apache/iotdb/db/query/udf/datastructure/SerializableFloatTVListTest.java
 create mode 100644 server/src/test/java/org/apache/iotdb/db/query/udf/datastructure/SerializableIntTVListTest.java
 copy server/src/{main/java/org/apache/iotdb/db/qp/logical/crud/UpdateOperator.java => test/java/org/apache/iotdb/db/query/udf/datastructure/SerializableListTest.java} (55%)
 create mode 100644 server/src/test/java/org/apache/iotdb/db/query/udf/datastructure/SerializableLongTVListTest.java
 create mode 100644 server/src/test/java/org/apache/iotdb/db/query/udf/datastructure/SerializableRowRecordListTest.java
 rename server/src/{main/java/org/apache/iotdb/db/qp/logical/crud/UpdateOperator.java => test/java/org/apache/iotdb/db/query/udf/datastructure/SerializableTVListTest.java} (62%)
 create mode 100644 server/src/test/java/org/apache/iotdb/db/query/udf/example/Accumulator.java
 create mode 100644 server/src/test/java/org/apache/iotdb/db/query/udf/example/Adder.java
 create mode 100644 server/src/test/java/org/apache/iotdb/db/query/udf/example/Counter.java
 create mode 100644 server/src/test/java/org/apache/iotdb/db/query/udf/example/Multiplier.java
 create mode 100644 server/src/test/java/org/apache/iotdb/db/query/udf/example/SlidingSizeWindowConstructorTester0.java
 create mode 100644 server/src/test/java/org/apache/iotdb/db/query/udf/example/SlidingSizeWindowConstructorTester1.java
 create mode 100644 server/src/test/java/org/apache/iotdb/db/query/udf/example/SlidingTimeWindowConstructionTester.java


[iotdb] 02/02: fix tests

Posted by ji...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

jiangtian pushed a commit to branch cluster_node_management
in repository https://gitbox.apache.org/repos/asf/iotdb.git

commit 44a61550ef3c311ce043690a0417412b98632d9e
Author: jt <jt...@163.com>
AuthorDate: Mon Dec 28 19:11:20 2020 +0800

    fix tests
---
 .../org/apache/iotdb/cluster/client/async/AsyncClientPool.java    | 2 +-
 .../java/org/apache/iotdb/cluster/client/sync/SyncClientPool.java | 2 +-
 .../apache/iotdb/cluster/server/monitor/NodeStatusManager.java    | 2 +-
 .../apache/iotdb/cluster/server/member/MetaGroupMemberTest.java   | 8 ++++++++
 4 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/cluster/src/main/java/org/apache/iotdb/cluster/client/async/AsyncClientPool.java b/cluster/src/main/java/org/apache/iotdb/cluster/client/async/AsyncClientPool.java
index be96b53..b9b752f 100644
--- a/cluster/src/main/java/org/apache/iotdb/cluster/client/async/AsyncClientPool.java
+++ b/cluster/src/main/java/org/apache/iotdb/cluster/client/async/AsyncClientPool.java
@@ -73,7 +73,7 @@ public class AsyncClientPool {
    */
   public AsyncClient getClient(Node node, boolean activatedOnly) throws IOException {
     ClusterNode clusterNode = new ClusterNode(node);
-    if (activatedOnly && NodeStatusManager.getINSTANCE().isActivated(node)) {
+    if (activatedOnly && !NodeStatusManager.getINSTANCE().isActivated(node)) {
       return null;
     }
 
diff --git a/cluster/src/main/java/org/apache/iotdb/cluster/client/sync/SyncClientPool.java b/cluster/src/main/java/org/apache/iotdb/cluster/client/sync/SyncClientPool.java
index d91adb0..73c8d7a 100644
--- a/cluster/src/main/java/org/apache/iotdb/cluster/client/sync/SyncClientPool.java
+++ b/cluster/src/main/java/org/apache/iotdb/cluster/client/sync/SyncClientPool.java
@@ -71,7 +71,7 @@ public class SyncClientPool {
    */
   public Client getClient(Node node, boolean activatedOnly) {
     ClusterNode clusterNode = new ClusterNode(node);
-    if (activatedOnly && NodeStatusManager.getINSTANCE().isActivated(node)) {
+    if (activatedOnly && !NodeStatusManager.getINSTANCE().isActivated(node)) {
       return null;
     }
 
diff --git a/cluster/src/main/java/org/apache/iotdb/cluster/server/monitor/NodeStatusManager.java b/cluster/src/main/java/org/apache/iotdb/cluster/server/monitor/NodeStatusManager.java
index dceac90..b2a27d7 100644
--- a/cluster/src/main/java/org/apache/iotdb/cluster/server/monitor/NodeStatusManager.java
+++ b/cluster/src/main/java/org/apache/iotdb/cluster/server/monitor/NodeStatusManager.java
@@ -112,7 +112,7 @@ public class NodeStatusManager {
   public NodeStatus getNodeStatus(Node node, boolean tryUpdate) {
     // avoid duplicated computing of concurrent queries
     NodeStatus nodeStatus = nodeStatusMap.computeIfAbsent(node, n -> new NodeStatus());
-    if (node.equals(metaGroupMember.getThisNode())) {
+    if (metaGroupMember == null || node.equals(metaGroupMember.getThisNode())) {
       return nodeStatus;
     }
 
diff --git a/cluster/src/test/java/org/apache/iotdb/cluster/server/member/MetaGroupMemberTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/server/member/MetaGroupMemberTest.java
index c54488b..86998fb 100644
--- a/cluster/src/test/java/org/apache/iotdb/cluster/server/member/MetaGroupMemberTest.java
+++ b/cluster/src/test/java/org/apache/iotdb/cluster/server/member/MetaGroupMemberTest.java
@@ -126,6 +126,7 @@ import org.apache.iotdb.tsfile.read.filter.TimeFilter;
 import org.apache.iotdb.tsfile.read.filter.ValueFilter;
 import org.apache.iotdb.tsfile.write.schema.MeasurementSchema;
 import org.apache.iotdb.tsfile.write.schema.TimeseriesSchema;
+import org.apache.thrift.TException;
 import org.apache.thrift.async.AsyncMethodCallback;
 import org.apache.thrift.protocol.TBinaryProtocol;
 import org.apache.thrift.protocol.TCompactProtocol.Factory;
@@ -366,6 +367,13 @@ public class MetaGroupMemberTest extends MemberTest {
             }
 
             @Override
+            public void handshake(Node sender, AsyncMethodCallback<Void> resultHandler) {
+              new Thread(() -> {
+                resultHandler.onComplete(null);
+              }).start();
+            }
+
+            @Override
             public void sendHeartbeat(HeartBeatRequest request,
                 AsyncMethodCallback<HeartBeatResponse> resultHandler) {
               new Thread(() -> {


[iotdb] 01/02: Merge branch 'master' into cluster_node_management

Posted by ji...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

jiangtian pushed a commit to branch cluster_node_management
in repository https://gitbox.apache.org/repos/asf/iotdb.git

commit 31c4d437fb3f6f06964e44258e3e5fbc85936320
Merge: d99432a a898e72
Author: jt <jt...@163.com>
AuthorDate: Mon Dec 28 16:28:08 2020 +0800

    Merge branch 'master' into cluster_node_management

 .github/pull_request_template.md                   |  93 ++++
 .github/workflows/sonar_and_coverall.yml           |   2 +-
 .mvn/wrapper/maven-wrapper.properties              |   2 +-
 .travis.yml                                        |  10 +-
 .../antlr4/org/apache/iotdb/db/qp/sql/SqlBase.g4   |  52 +-
 .../java/org/apache/iotdb/cluster/ClusterMain.java |   2 +-
 .../apache/iotdb/cluster/config/ClusterConfig.java |   4 +-
 .../cluster/query/ClusterConcatPathOptimizer.java  |   4 +-
 .../iotdb/cluster/query/ClusterPlanExecutor.java   |  10 +-
 .../iotdb/cluster/query/ClusterPlanRouter.java     |   9 -
 .../cluster/server/service/BaseSyncService.java    |   7 +-
 .../apache/iotdb/cluster/utils/ClusterUtils.java   |   4 +-
 .../org/apache/iotdb/cluster/common/IoTDBTest.java |   2 +-
 .../cluster/log/applier/DataLogApplierTest.java    |   4 +-
 .../cluster/partition/SlotPartitionTableTest.java  |  14 -
 .../query/ClusterPhysicalGeneratorTest.java        |  10 +-
 .../cluster/query/ClusterPlanExecutorTest.java     |   4 +-
 docs/UserGuide/Client/Status Codes.md              |   8 +
 docs/UserGuide/Concept/SDT.md                      |  63 +++
 .../Operation Manual/UDF User Defined Function.md  | 410 +++++++++++++++
 docs/zh/UserGuide/Client/Status Codes.md           |   9 +-
 docs/zh/UserGuide/Concept/SDT.md                   |  61 +++
 .../Operation Manual/UDF User Defined Function.md  | 410 +++++++++++++++
 example/pom.xml                                    |   1 +
 example/udf/pom.xml                                |  82 +++
 .../java/org/apache/iotdb/udf/UDTFExample.java     |  56 ++
 hadoop/pom.xml                                     |   2 +-
 hive-connector/pom.xml                             |   2 +-
 .../resources/conf/iotdb-engine.properties         |  24 +-
 .../org/apache/iotdb/db/auth/AuthorityChecker.java |  15 +-
 .../apache/iotdb/db/auth/entity/PrivilegeType.java |   2 +-
 .../java/org/apache/iotdb/db/conf/IoTDBConfig.java |  76 ++-
 .../org/apache/iotdb/db/conf/IoTDBConstant.java    |   3 +
 .../org/apache/iotdb/db/conf/IoTDBDescriptor.java  |  43 ++
 .../UDFRegistrationException.java}                 |  72 ++-
 .../main/java/org/apache/iotdb/db/qp/Planner.java  |   9 +-
 .../apache/iotdb/db/qp/constant/DatetimeUtils.java |  40 ++
 .../apache/iotdb/db/qp/constant/SQLConstant.java   |  14 +-
 .../apache/iotdb/db/qp/executor/IPlanExecutor.java |  11 +-
 .../apache/iotdb/db/qp/executor/PlanExecutor.java  |  70 ++-
 .../org/apache/iotdb/db/qp/logical/Operator.java   |   3 +-
 .../iotdb/db/qp/logical/crud/SFWOperator.java      |  16 +-
 .../iotdb/db/qp/logical/crud/SelectOperator.java   |  47 +-
 .../CreateFunctionOperator.java}                   |  99 ++--
 .../DropFunctionOperator.java}                     |  81 ++-
 .../ShowFunctionsOperator.java}                    |  78 ++-
 .../iotdb/db/qp/physical/crud/QueryPlan.java       |   2 +-
 .../apache/iotdb/db/qp/physical/crud/UDFPlan.java  |  79 +--
 .../apache/iotdb/db/qp/physical/crud/UDTFPlan.java | 118 +++++
 .../iotdb/db/qp/physical/crud/UpdatePlan.java      | 135 -----
 .../sys/{ShowPlan.java => CreateFunctionPlan.java} | 114 ++--
 .../iotdb/db/qp/physical/sys/DropFunctionPlan.java |  81 +--
 .../sys/ShowFunctionsPlan.java}                    |  75 ++-
 .../apache/iotdb/db/qp/physical/sys/ShowPlan.java  |   6 +-
 .../apache/iotdb/db/qp/sql/IoTDBSqlVisitor.java    | 152 ++++--
 .../iotdb/db/qp/strategy/LogicalGenerator.java     |   7 +-
 .../iotdb/db/qp/strategy/PhysicalGenerator.java    | 130 +++--
 .../qp/strategy/optimizer/ConcatPathOptimizer.java | 192 +++++--
 .../db/query/aggregation/AggregateResult.java      |   2 +-
 .../db/query/aggregation/AggregationType.java      |   1 -
 .../db/query/control/QueryResourceManager.java     |   8 +-
 .../db/query/dataset/AlignByDeviceDataSet.java     |   4 +-
 .../db/query/dataset/DirectAlignByTimeDataSet.java |  72 ++-
 .../db/query/dataset/DirectNonAlignDataSet.java    |  70 ++-
 .../apache/iotdb/db/query/dataset/ListDataSet.java |   4 +-
 .../db/query/dataset/NonAlignEngineDataSet.java    |  28 +-
 .../dataset/RawQueryDataSetWithValueFilter.java    |   4 +-
 .../dataset/RawQueryDataSetWithoutValueFilter.java |  24 +-
 .../db/query/dataset/ShowTimeseriesDataSet.java    |   4 +-
 .../db/query/dataset/UDTFAlignByTimeDataSet.java   | 277 ++++++++++
 .../apache/iotdb/db/query/dataset/UDTFDataSet.java | 152 ++++++
 .../db/query/dataset/UDTFNonAlignDataSet.java      | 191 +++++++
 .../dataset/groupby/GroupByEngineDataSet.java      |   4 +-
 .../query/dataset/groupby/GroupByFillDataSet.java  |   4 +-
 .../query/dataset/groupby/GroupByTimeDataSet.java  |   4 +-
 .../groupby/GroupByWithValueFilterDataSet.java     |   2 +-
 .../groupby/GroupByWithoutValueFilterDataSet.java  |   2 +-
 .../iotdb/db/query/executor/IQueryRouter.java      |   8 +-
 .../iotdb/db/query/executor/QueryRouter.java       |  51 +-
 .../db/query/executor/RawDataQueryExecutor.java    |  22 +-
 .../iotdb/db/query/executor/UDTFQueryExecutor.java |  84 +++
 .../UpdateOperator.java => query/udf/api/UDF.java} |  70 ++-
 .../org/apache/iotdb/db/query/udf/api/UDTF.java    | 101 ++++
 .../apache/iotdb/db/query/udf/api/access/Row.java  | 119 +++++
 .../iotdb/db/query/udf/api/access/RowIterator.java |  85 +--
 .../iotdb/db/query/udf/api/access/RowWindow.java   |  61 +++
 .../db/query/udf/api/collector/PointCollector.java | 137 +++++
 .../api/customizer/config/UDFConfigurations.java}  |  79 ++-
 .../api/customizer/config/UDTFConfigurations.java  | 104 ++++
 .../api/customizer/parameter/UDFParameters.java    | 119 +++++
 .../api/customizer/strategy/AccessStrategy.java    |  64 +++
 .../strategy/RowByRowAccessStrategy.java           |  61 +++
 .../strategy/SlidingSizeWindowAccessStrategy.java  | 123 +++++
 .../strategy/SlidingTimeWindowAccessStrategy.java  | 249 +++++++++
 .../iotdb/db/query/udf/core/access/RowImpl.java    |  93 ++++
 .../db/query/udf/core/access/RowIteratorImpl.java  |  58 +++
 .../db/query/udf/core/access/RowWindowImpl.java    |  75 +++
 .../db/query/udf/core/context/UDFContext.java      | 134 +++++
 .../db/query/udf/core/executor/UDTFExecutor.java   |  92 ++++
 .../iotdb/db/query/udf/core/input/InputLayer.java  | 563 ++++++++++++++++++++
 .../iotdb/db/query/udf/core/input/SafetyLine.java  |  60 +++
 .../db/query/udf/core/reader/LayerPointReader.java |  84 +--
 .../udf/core/reader/LayerRowReader.java}           |  79 ++-
 .../udf/core/reader/LayerRowWindowReader.java}     |  77 ++-
 .../core/transformer/RawQueryPointTransformer.java |  72 +++
 .../db/query/udf/core/transformer/Transformer.java |  93 ++++
 .../core/transformer/UDFQueryRowTransformer.java   |  84 +--
 .../transformer/UDFQueryRowWindowTransformer.java  |  46 ++
 .../udf/core/transformer/UDFQueryTransformer.java  |  89 ++++
 .../query/udf/datastructure/SerializableList.java  | 165 ++++++
 .../primitive/ElasticSerializableIntList.java      | 109 ++++
 .../udf/datastructure/primitive/IntList.java}      |  74 ++-
 .../primitive/SerializableIntList.java             | 131 +++++
 .../datastructure/primitive/WrappedIntArray.java   |  90 ++--
 .../row/ElasticSerializableRowRecordList.java      | 234 +++++++++
 .../row/SerializableRowRecordList.java             | 245 +++++++++
 .../tv/ElasticSerializableBinaryTVList.java        | 121 +++++
 .../tv/ElasticSerializableTVList.java              | 312 +++++++++++
 .../datastructure/tv/SerializableBinaryTVList.java |  79 +++
 .../tv/SerializableBooleanTVList.java              |  69 +++
 .../datastructure/tv/SerializableDoubleTVList.java |  69 +++
 .../datastructure/tv/SerializableFloatTVList.java  |  69 +++
 .../datastructure/tv/SerializableIntTVList.java    |  69 +++
 .../datastructure/tv/SerializableLongTVList.java   |  69 +++
 .../udf/datastructure/tv/SerializableTVList.java   |  99 ++++
 .../udf/service/TemporaryQueryDataFileService.java | 136 +++++
 .../iotdb/db/query/udf/service/UDFClassLoader.java |  64 +++
 .../iotdb/db/query/udf/service/UDFLogWriter.java   |  69 +++
 .../udf/service/UDFRegistrationInformation.java}   |  93 ++--
 .../query/udf/service/UDFRegistrationService.java  | 329 ++++++++++++
 .../java/org/apache/iotdb/db/service/IoTDB.java    |   4 +
 .../org/apache/iotdb/db/service/ServiceType.java   |   4 +-
 .../org/apache/iotdb/db/service/TSServiceImpl.java | 102 ++--
 .../db/sync/receiver/transfer/SyncServiceImpl.java |  25 +-
 .../iotdb/db/sync/sender/transfer/SyncClient.java  |  48 +-
 .../org/apache/iotdb/db/utils/SchemaUtils.java     |  25 +-
 .../iotdb/db/writelog/recover/LogReplayer.java     |   9 -
 .../apache/iotdb/db/auth/AuthorityCheckerTest.java |   3 -
 .../iotdb/db/engine/storagegroup/TTLTest.java      |   2 +-
 .../iotdb/db/integration/IoTDBSimpleQueryIT.java   |   6 +-
 .../iotdb/db/integration/IoTDBUDFManagementIT.java | 308 +++++++++++
 .../db/integration/IoTDBUDFWindowQueryIT.java      | 513 ++++++++++++++++++
 .../integration/IoTDBUDTFAlignByTimeQueryIT.java   | 525 +++++++++++++++++++
 .../db/integration/IoTDBUDTFHybridQueryIT.java     | 166 ++++++
 .../db/integration/IoTDBUDTFNonAlignQueryIT.java   | 337 ++++++++++++
 .../apache/iotdb/db/metadata/PartialPathTest.java  |  34 +-
 .../iotdb/db/qp/plan/ConcatOptimizerTest.java      |   7 +-
 .../apache/iotdb/db/qp/plan/PhysicalPlanTest.java  | 213 +++++++-
 .../query/dataset/UDTFAlignByTimeDataSetTest.java  | 578 +++++++++++++++++++++
 .../ElasticSerializableRowRecordListTest.java      | 224 ++++++++
 .../ElasticSerializableTVListTest.java             | 251 +++++++++
 .../SerializableBinaryTVListTest.java              |  80 +++
 .../SerializableBooleanTVListTest.java             |  80 +++
 .../SerializableDoubleTVListTest.java              |  79 +++
 .../datastructure/SerializableFloatTVListTest.java |  78 +++
 .../datastructure/SerializableIntTVListTest.java   |  78 +++
 .../udf/datastructure/SerializableListTest.java}   |  81 ++-
 .../datastructure/SerializableLongTVListTest.java  |  78 +++
 .../SerializableRowRecordListTest.java             | 143 +++++
 .../udf/datastructure/SerializableTVListTest.java} |  79 ++-
 .../iotdb/db/query/udf/example/Accumulator.java    |  82 +++
 .../apache/iotdb/db/query/udf/example/Adder.java   |  78 +++
 .../apache/iotdb/db/query/udf/example/Counter.java |  76 +++
 .../iotdb/db/query/udf/example/Multiplier.java     |  54 ++
 .../SlidingSizeWindowConstructorTester0.java       |  53 ++
 .../SlidingSizeWindowConstructorTester1.java       |  54 ++
 .../SlidingTimeWindowConstructionTester.java       |  61 +++
 .../apache/iotdb/db/utils/EnvironmentUtils.java    |   5 +
 .../apache/iotdb/db/writelog/PerformanceTest.java  |  15 +-
 .../java/org/apache/iotdb/rpc/TSStatusCode.java    |   1 -
 .../java/org/apache/iotdb/session/SessionUT.java   |   2 +-
 site/src/main/.vuepress/config.js                  |  26 +-
 spark-iotdb-connector/pom.xml                      |   2 +-
 .../org/apache/iotdb/tsfile/read/common/Field.java |   4 -
 .../apache/iotdb/tsfile/read/common/RowRecord.java |   2 +-
 .../query/dataset/DataSetWithTimeGenerator.java    |   4 +-
 .../query/dataset/DataSetWithoutTimeGenerator.java |   4 +-
 .../tsfile/read/query/dataset/EmptyDataSet.java    |   4 +-
 .../tsfile/read/query/dataset/QueryDataSet.java    |   4 +-
 .../iotdb/tsfile/utils/ReadWriteIOUtils.java       |  11 +-
 .../iotdb/tsfile/write/writer/TsFileIOWriter.java  |   2 +-
 181 files changed, 13059 insertions(+), 1564 deletions(-)