This is an automated email from the ASF dual-hosted git repository.
jackietien pushed a change to branch FIDig
in repository https://gitbox.apache.org/repos/asf/iotdb.git
from 19190cc600 resolve conflicts
add 661430f00c Update Jenkinsfile for nightly build
add 69f2693995 Fix Context release source NPE
add e6f0355d45 docker deploy for v1.1.0, update docs and docker-compose
files (#9528)
add 6a146449fc [IOTDB-5466] Refactor RaftLog disk monitor to avoid
unnecessary snapshots (#9515)
add d7d493e5c2 [IOTDB-5757] Fix Not Supported Exception when use like 's3
|| false' in where even Type of s3 is Boolean
add 7787399aa2 [IOTDB-5756] NPE when where predicate is NotEqualExpression
and one of subExpression is not exist
add 2b77bd4fcd Fix mlnode CI error (#9552)
add 33843b6e2a [IOTDB-5742][UserGuide]Modify the output type of the mode
function in userguide
add 6bec16ff55 [IOTDB-5204 ] Add last task rather than first task to
timeoutQueue
add ad04cbaaf0 [IOTDB-5638] Support CASE WHEN expression
add c6fad19e9d [IOTDB-5761] Open channel of ShuffleSinkHandle after the
drivertask begins
add aa00056ec0 Adapt insert data by 0.13 client (#9557)
add e6ec5fcd14 [IOTDB-5760] Query is blocked because of no memory
add 947dc773ef Bump httpcore from 4.4.15 to 4.4.16 (#9498)
add 0c0ae29a5c Fix NPE when abort fragment instance (#9560)
add 44dfbf1b18 [IOTDB-5091] The multi-tenancy design about iotdb - add
throtttle quota (#9534)
add c951bb6702 [IOTDB-5752] Python Client supports write redirection
(#9467)
add 04688d82c0 Remove the useless generated python code for python client
(#9578)
add 5c409fce6a [DOC] Remove iotd-deploy.md (#9577)
add 5739b1ca1b Added two pieces to the document, respectively the
community and download sections (#9575)
new 53ec4e0851 resolve conflicts
The 1 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:
Jenkinsfile | 6 +-
.../org/apache/iotdb/db/qp/sql/IdentifierParser.g4 | 6 +-
.../org/apache/iotdb/db/qp/sql/IoTDBSqlParser.g4 | 25 +-
.../antlr4/org/apache/iotdb/db/qp/sql/SqlLexer.g4 | 19 +
client-py/SessionExample.py | 3 +-
client-py/iotdb/Session.py | 580 ++++++++++----
client-py/pom.xml | 3 +
.../confignode/client/DataNodeRequestType.java | 1 +
.../client/async/AsyncDataNodeClientPool.java | 7 +
.../consensus/request/ConfigPhysicalPlan.java | 4 +
.../consensus/request/ConfigPhysicalPlanType.java | 3 +-
.../request/write/quota/SetThrottleQuotaPlan.java | 113 +++
.../confignode/manager/ClusterQuotaManager.java | 59 ++
.../iotdb/confignode/manager/ConfigManager.java | 24 +
.../persistence/executor/ConfigPlanExecutor.java | 3 +
.../confignode/persistence/quota/QuotaInfo.java | 98 +++
.../thrift/ConfigNodeRPCServiceProcessor.java | 18 +
.../request/ConfigPhysicalPlanSerDeTest.java | 24 +
.../confignode/persistence/QuotaInfoTest.java | 25 +-
.../org/apache/iotdb/consensus/common/Utils.java | 32 -
.../iot/logdispatcher/IndexController.java | 2 +-
.../ratis/ApplicationStateMachineProxy.java | 1 +
.../iotdb/consensus/ratis/RatisConsensus.java | 35 +-
.../iotdb/consensus/ratis/ResponseMessage.java | 1 +
.../iotdb/consensus/ratis/SnapshotStorage.java | 1 +
.../ratis/metrics/IoTDBMetricRegistry.java | 2 +-
.../consensus/ratis/utils/RatisLogMonitor.java | 87 ++
.../iotdb/consensus/ratis/{ => utils}/Utils.java | 2 +-
.../iot/logdispatcher/IndexControllerTest.java | 2 +-
.../apache/iotdb/consensus/ratis/SnapshotTest.java | 1 +
.../apache/iotdb/consensus/ratis/UtilsTest.java | 1 +
.../DockerCompose/docker-compose-cluster-1c2d.yml | 6 +-
.../DockerCompose/docker-compose-host-3c3d.yml | 4 +-
.../DockerCompose/docker-compose-standalone.yml | 3 +-
docker/src/main/Dockerfile-1.0.0-datanode | 3 +-
docs/Community/Materials.md | 98 +--
.../UserGuide/API/Programming-Python-Native-API.md | 6 +-
docs/UserGuide/Operators-Functions/Aggregation.md | 30 +-
docs/UserGuide/Operators-Functions/Conditional.md | 351 +++++++++
docs/UserGuide/QuickStart/WayToGetIoTDB.md | 13 +-
docs/UserGuide/Reference/Common-Config-Manual.md | 9 +
docs/zh/Download/README.md | 7 +
.../UserGuide/API/Programming-Python-Native-API.md | 6 +-
docs/zh/UserGuide/Cluster/IoTDB-Deploy.md | 361 ---------
.../UserGuide/Operators-Functions/Aggregation.md | 30 +-
.../UserGuide/Operators-Functions/Conditional.md | 347 ++++++++
docs/zh/UserGuide/Operators-Functions/Overview.md | 8 +
docs/zh/UserGuide/QuickStart/WayToGetIoTDB.md | 11 +-
.../zh/UserGuide/Reference/Common-Config-Manual.md | 9 +
.../java/org/apache/iotdb/db/it/IoTDBFilterIT.java | 5 +
.../iotdb/db/it/query/IoTDBCaseWhenThenIT.java | 876 +++++++++++++++++++++
.../iotdb/db/it/query/IoTDBNullOperandIT.java | 3 +
mlnode/requirements_dev.txt | 4 +-
.../resources/conf/iotdb-common.properties | 5 +
.../apache/iotdb/commons/conf/CommonConfig.java | 11 -
.../iotdb/commons/conf/CommonDescriptor.java | 3 -
.../apache/iotdb/commons/conf/IoTDBConstant.java | 10 +-
...lException.java => RpcThrottlingException.java} | 6 +-
.../commons/{enums => quotas}/SpaceQuotaType.java | 2 +-
pom.xml | 2 +-
.../apache/iotdb/db/client/ConfigNodeClient.java | 51 ++
.../java/org/apache/iotdb/db/conf/IoTDBConfig.java | 26 +
.../org/apache/iotdb/db/conf/IoTDBDescriptor.java | 7 +
.../iotdb/db/engine/storagegroup/DataRegion.java | 14 +-
.../db/metadata/mtree/MTreeBelowSGMemoryImpl.java | 28 +-
.../apache/iotdb/db/mpp/common/SessionInfo.java | 14 +
.../db/mpp/common/header/ColumnHeaderConstant.java | 19 +-
.../db/mpp/common/header/DatasetHeaderFactory.java | 4 +
...ghException.java => CpuNotEnoughException.java} | 4 +-
.../iotdb/db/mpp/execution/driver/DataDriver.java | 11 +-
.../db/mpp/execution/driver/DriverContext.java | 18 +
.../iotdb/db/mpp/execution/driver/IDriver.java | 6 +-
.../mpp/execution/exchange/SharedTsBlockQueue.java | 12 +-
.../fragment/FragmentInstanceContext.java | 5 +-
.../fragment/FragmentInstanceExecution.java | 12 +-
.../operator/process/FilterAndProjectOperator.java | 22 +
.../operator/source/ExchangeOperator.java | 13 +
.../db/mpp/execution/schedule/DriverScheduler.java | 95 ++-
.../mpp/execution/schedule/IDriverScheduler.java | 7 +-
.../db/mpp/execution/schedule/task/DriverTask.java | 32 +-
.../iotdb/db/mpp/plan/analyze/AnalyzeVisitor.java | 11 +-
.../db/mpp/plan/analyze/ExpressionAnalyzer.java | 101 ++-
.../mpp/plan/analyze/ExpressionTypeAnalyzer.java | 49 ++
.../iotdb/db/mpp/plan/analyze/ExpressionUtils.java | 26 +
.../plan/analyze/schema/ClusterSchemaFetcher.java | 7 +-
.../db/mpp/plan/analyze/schema/ISchemaFetcher.java | 3 +-
.../db/mpp/plan/execution/QueryExecution.java | 7 +-
.../plan/execution/config/ConfigTaskVisitor.java | 16 +
.../config/executor/ClusterConfigTaskExecutor.java | 66 ++
.../config/executor/IConfigTaskExecutor.java | 11 +
...aceQuotaTask.java => SetThrottleQuotaTask.java} | 12 +-
.../config/sys/quota/ShowSpaceQuotaTask.java | 8 +-
.../config/sys/quota/ShowThrottleQuotaTask.java | 189 +++++
.../iotdb/db/mpp/plan/expression/Expression.java | 10 +
.../db/mpp/plan/expression/ExpressionFactory.java | 15 +
.../db/mpp/plan/expression/ExpressionType.java | 4 +
.../plan/expression/binary/BinaryExpression.java | 3 +-
.../WhenThenExpression.java} | 49 +-
.../expression/other/CaseWhenThenExpression.java | 172 ++++
.../visitor/CartesianProductVisitor.java | 27 +
.../plan/expression/visitor/CollectVisitor.java | 7 +
.../visitor/ColumnTransformerVisitor.java | 44 ++
.../visitor/ExpressionAnalyzeVisitor.java | 2 +-
.../plan/expression/visitor/ExpressionVisitor.java | 10 +
.../visitor/IntermediateLayerVisitor.java | 7 +
.../expression/visitor/ReconstructVisitor.java | 9 +
.../iotdb/db/mpp/plan/parser/ASTVisitor.java | 211 ++++-
.../plan/planner/LocalExecutionPlanContext.java | 10 +-
.../db/mpp/plan/planner/LocalExecutionPlanner.java | 14 +-
.../db/mpp/plan/planner/OperatorTreeGenerator.java | 5 +-
.../db/mpp/plan/planner/PipelineDriverFactory.java | 22 +-
.../iotdb/db/mpp/plan/statement/StatementType.java | 2 +
.../db/mpp/plan/statement/StatementVisitor.java | 11 +
...atement.java => SetThrottleQuotaStatement.java} | 60 +-
...tement.java => ShowThrottleQuotaStatement.java} | 21 +-
.../dag/column/CaseWhenThenColumnTransformer.java | 132 ++++
.../binary/CompareNonEqualColumnTransformer.java | 2 +-
.../binary/LogicBinaryColumnTransformer.java | 4 +-
.../iotdb/db/query/control/SessionManager.java | 6 +-
.../db/quotas/AverageIntervalRateLimiter.java | 75 ++
.../db/quotas/DataNodeThrottleQuotaManager.java | 153 ++++
.../iotdb/db/quotas/DefaultOperationQuota.java | 189 +++++
.../iotdb/db/quotas/FixedIntervalRateLimiter.java | 38 +-
.../NoopOperationQuota.java} | 31 +-
.../OperationQuota.java} | 46 +-
.../org/apache/iotdb/db/quotas/QuotaLimiter.java | 198 +++++
.../org/apache/iotdb/db/quotas/RateLimiter.java | 130 +++
.../apache/iotdb/db/quotas/ThrottleQuotaLimit.java | 76 ++
.../service/thrift/impl/ClientRPCServiceImpl.java | 115 +++
.../impl/DataNodeInternalRPCServiceImpl.java | 10 +
.../iotdb/db/mpp/execution/DataDriverTest.java | 2 +-
.../schedule/DefaultDriverSchedulerTest.java | 28 +-
.../execution/schedule/DriverSchedulerTest.java | 31 +-
.../DriverTaskTimeoutSentinelThreadTest.java | 18 +-
.../other/CaseWhenThenExpressionTest.java | 73 ++
.../mpp/plan/analyze/ExpressionAnalyzerTest.java | 3 +-
.../db/mpp/plan/analyze/FakeSchemaFetcherImpl.java | 7 +-
.../iotdb/db/mpp/plan/plan/distribution/Util.java | 2 +-
.../java/org/apache/iotdb/rpc/TSStatusCode.java | 10 +-
site/src/main/.vuepress/sidebar/V1.0.x/zh.ts | 1 -
site/src/main/.vuepress/sidebar/V1.1.x/zh.ts | 1 -
site/src/main/.vuepress/sidebar/zh.ts | 1 -
thrift-commons/src/main/thrift/common.thrift | 25 +
.../src/main/thrift/confignode.thrift | 20 +
thrift/src/main/thrift/datanode.thrift | 5 +
145 files changed, 5503 insertions(+), 967 deletions(-)
create mode 100644
confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/quota/SetThrottleQuotaPlan.java
create mode 100644
consensus/src/main/java/org/apache/iotdb/consensus/ratis/utils/RatisLogMonitor.java
rename consensus/src/main/java/org/apache/iotdb/consensus/ratis/{ =>
utils}/Utils.java (99%)
create mode 100644 docs/UserGuide/Operators-Functions/Conditional.md
delete mode 100644 docs/zh/UserGuide/Cluster/IoTDB-Deploy.md
create mode 100644 docs/zh/UserGuide/Operators-Functions/Conditional.md
create mode 100644
integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBCaseWhenThenIT.java
copy
node-commons/src/main/java/org/apache/iotdb/commons/exception/{BadNodeUrlException.java
=> RpcThrottlingException.java} (84%)
rename node-commons/src/main/java/org/apache/iotdb/commons/{enums =>
quotas}/SpaceQuotaType.java (95%)
copy
server/src/main/java/org/apache/iotdb/db/mpp/exception/{MemoryNotEnoughException.java
=> CpuNotEnoughException.java} (87%)
copy
server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/sys/quota/{SetSpaceQuotaTask.java
=> SetThrottleQuotaTask.java} (75%)
create mode 100644
server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/sys/quota/ShowThrottleQuotaTask.java
copy
server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/{unary/LogicNotExpression.java
=> binary/WhenThenExpression.java} (57%)
create mode 100644
server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/other/CaseWhenThenExpression.java
copy
server/src/main/java/org/apache/iotdb/db/mpp/plan/statement/sys/quota/{SetSpaceQuotaStatement.java
=> SetThrottleQuotaStatement.java} (60%)
copy
server/src/main/java/org/apache/iotdb/db/mpp/plan/statement/sys/quota/{ShowSpaceQuotaStatement.java
=> ShowThrottleQuotaStatement.java} (76%)
create mode 100644
server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/column/CaseWhenThenColumnTransformer.java
create mode 100644
server/src/main/java/org/apache/iotdb/db/quotas/AverageIntervalRateLimiter.java
create mode 100644
server/src/main/java/org/apache/iotdb/db/quotas/DataNodeThrottleQuotaManager.java
create mode 100644
server/src/main/java/org/apache/iotdb/db/quotas/DefaultOperationQuota.java
copy
integration-test/src/main/java/org/apache/iotdb/it/env/cluster/Cluster1Env.java
=>
server/src/main/java/org/apache/iotdb/db/quotas/FixedIntervalRateLimiter.java
(52%)
copy
server/src/main/java/org/apache/iotdb/db/{metadata/mnode/mem/iterator/MNodeIterator.java
=> quotas/NoopOperationQuota.java} (59%)
copy
server/src/main/java/org/apache/iotdb/db/{mpp/plan/statement/metadata/template/BatchActivateTemplateStatement.java
=> quotas/OperationQuota.java} (50%)
create mode 100644
server/src/main/java/org/apache/iotdb/db/quotas/QuotaLimiter.java
create mode 100644
server/src/main/java/org/apache/iotdb/db/quotas/RateLimiter.java
create mode 100644
server/src/main/java/org/apache/iotdb/db/quotas/ThrottleQuotaLimit.java
create mode 100644
server/src/test/java/org/apache/iotdb/db/mpp/expression/other/CaseWhenThenExpressionTest.java