You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by lt...@apache.org on 2020/12/29 07:03:40 UTC

[iotdb] 02/03: merge master

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

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

commit fdc8d327c6d196a0ab94043f0e6913f3bd5f00f1
Merge: c4a9dcd a898e72
Author: lta <li...@163.com>
AuthorDate: Mon Dec 28 17:33:12 2020 +0800

    merge master

 .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      |   1 -
 .../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 +
 .../Operation Manual/UDF User Defined Function.md  | 410 +++++++++++++++
 docs/zh/UserGuide/Client/Status Codes.md           |   9 +-
 .../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 ++
 .../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     |   6 +-
 .../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 |  20 +-
 .../iotdb/db/sync/sender/transfer/SyncClient.java  |  11 +-
 .../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 +-
 .../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 +-
 177 files changed, 12921 insertions(+), 1529 deletions(-)

diff --cc cluster/src/main/java/org/apache/iotdb/cluster/config/ClusterConfig.java
index cc19a52,3e066d3..05745fd
--- a/cluster/src/main/java/org/apache/iotdb/cluster/config/ClusterConfig.java
+++ b/cluster/src/main/java/org/apache/iotdb/cluster/config/ClusterConfig.java
@@@ -56,11 -53,11 +56,11 @@@ public class ClusterConfig 
  
    private boolean useAsyncApplier = true;
  
 -  private int connectionTimeoutInMS = 20 * 1000;
 +  private int connectionTimeoutInMS = 20_1000;
  
-   private int readOperationTimeoutMS = 30_1000;
+   private int readOperationTimeoutMS = 30_000;
  
-   private int writeOperationTimeoutMS = 30_1000;
+   private int writeOperationTimeoutMS = 30_000;
  
    private int catchUpTimeoutMS = 60_000;
  
diff --cc cluster/src/main/java/org/apache/iotdb/cluster/server/service/BaseSyncService.java
index bffc345,e1e118f..f9bda1f
--- a/cluster/src/main/java/org/apache/iotdb/cluster/server/service/BaseSyncService.java
+++ b/cluster/src/main/java/org/apache/iotdb/cluster/server/service/BaseSyncService.java
@@@ -102,9 -102,8 +102,8 @@@ public abstract class BaseSyncService i
      if (client == null) {
        throw new TException(new LeaderUnknownException(member.getAllNodes()));
      }
-     long commitIndex1 = 0;
      try {
-       commitIndex1 = client.requestCommitIndex(header, raftId);
 -      commitIndex = client.requestCommitIndex(header);
++      commitIndex = client.requestCommitIndex(header, raftId);
      } catch (TException e) {
        client.getInputProtocol().getTransport().close();
        throw e;