You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by qi...@apache.org on 2022/04/28 11:26:25 UTC

[iotdb] branch new_junit14 created (now 2e56fe34e8)

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

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


      at 2e56fe34e8 fix conflict

This branch includes the following new commits:

     new 2e56fe34e8 fix conflict

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.



[iotdb] 01/01: fix conflict

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

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

commit 2e56fe34e89588f22de10eb98ce3d0865a492246
Merge: 6ab99ffe99 3d028a7817
Author: qiaojialin <64...@qq.com>
AuthorDate: Thu Apr 28 19:26:14 2022 +0800

    fix conflict

 .github/workflows/client-cpp.yml                   |    4 +-
 .github/workflows/grafana-plugin.yml               |    7 +-
 .github/workflows/sonar-coveralls.yml              |    5 +-
 Jenkinsfile                                        |    2 +-
 LICENSE                                            |    2 +-
 .../org/apache/iotdb/db/qp/sql/IoTDBSqlParser.g4   |   15 +-
 checkstyle.xml                                     |    7 +-
 client-cpp/pom.xml                                 |    7 +-
 client-py/SessionAlignedTimeseriesExample.py       |   18 +
 client-py/SessionExample.py                        |   30 +
 client-py/iotdb/Session.py                         |  132 +-
 client-py/pom.xml                                  |    8 +
 client-py/tests/tablet_performance_comparison.py   |    4 +-
 client-py/tests/test_one_device.py                 |  152 +
 .../iotdb/cluster/coordinator/Coordinator.java     |    6 +-
 .../iotdb/cluster/log/applier/DataLogApplier.java  |    6 +-
 .../log/manage/PartitionedSnapshotLogManager.java  |    2 +-
 .../iotdb/cluster/metadata/CSchemaProcessor.java   |   43 +-
 .../apache/iotdb/cluster/metadata/MetaPuller.java  |    3 +-
 .../iotdb/cluster/query/ClusterPlanRouter.java     |    5 +-
 .../iotdb/cluster/query/LocalQueryExecutor.java    |    8 +-
 .../query/manage/ClusterSessionManager.java        |    1 +
 .../cluster/query/reader/ClusterReaderFactory.java |   20 +-
 .../iotdb/cluster/server/ClusterRPCService.java    |    5 -
 .../server/clusterinfo/ClusterInfoServer.java      |    5 -
 .../server/handlers/caller/LogCatchUpHandler.java  |    4 +-
 .../cluster/server/member/DataGroupMember.java     |   11 +-
 .../cluster/server/member/MetaGroupMember.java     |    6 +-
 .../server/raft/DataRaftHeartBeatService.java      |    6 -
 .../iotdb/cluster/server/raft/DataRaftService.java |    6 -
 .../server/raft/MetaRaftHeartBeatService.java      |    6 -
 .../iotdb/cluster/server/raft/MetaRaftService.java |    6 -
 .../cluster/server/service/BaseAsyncService.java   |    4 +-
 .../apache/iotdb/cluster/utils/StatusUtils.java    |    6 +-
 .../iotdb/cluster/integration/SingleNodeTest.java  |    5 +-
 .../iotdb/cluster/log/CommitLogCallbackTest.java   |    2 +-
 .../iotdb/cluster/log/CommitLogTaskTest.java       |    5 +-
 .../FilePartitionedSnapshotLogManagerTest.java     |    2 +
 .../query/ClusterPhysicalGeneratorTest.java        |    2 +-
 .../cluster/server/member/DataGroupMemberTest.java |    2 +
 .../cluster/server/member/MetaGroupMemberTest.java |    5 +-
 confignode/pom.xml                                 |   10 -
 .../resources/conf/iotdb-confignode.properties     |   30 +-
 .../iotdb/confignode/cli/TemporaryClient.java      |  202 -
 .../iotdb/confignode/client/AsyncClientPool.java   |  113 +
 .../client/ConfigNodeClientPoolFactory.java        |   74 +
 .../client/handlers/InitRegionHandler.java         |   56 +
 .../iotdb/confignode/conf/ConfigNodeConf.java      |   90 +-
 .../confignode/conf/ConfigNodeDescriptor.java      |   33 +-
 .../consensus/request/ConfigRequest.java           |  184 +
 .../consensus/request/ConfigRequestType.java       |   58 +
 .../consensus/request/auth/AuthorReq.java          |  248 +
 .../request/read/CountStorageGroupReq.java         |   86 +
 .../consensus/request/read/GetDataNodeInfoReq.java |   68 +
 .../request/read/GetDataPartitionReq.java          |  145 +
 .../request/read/GetOrCreateDataPartitionReq.java  |   28 +
 .../read/GetOrCreateSchemaPartitionReq.java        |   28 +
 .../request/read/GetSchemaPartitionReq.java        |  102 +
 .../consensus/request/read/GetStorageGroupReq.java |   34 +
 .../request/write/CreateDataPartitionReq.java      |  129 +
 .../consensus/request/write/CreateRegionsReq.java  |   80 +
 .../request/write/CreateSchemaPartitionReq.java    |  100 +
 .../consensus/request/write/DeleteRegionsReq.java  |   79 +
 .../request/write/DeleteStorageGroupReq.java       |   69 +
 .../request/write/RegisterDataNodeReq.java         |   69 +
 .../request/write/SetDataReplicationFactorReq.java |   80 +
 .../write/SetSchemaReplicationFactorReq.java       |   80 +
 .../request/write/SetStorageGroupReq.java          |   71 +
 .../consensus/request/write/SetTTLReq.java         |   79 +
 .../request/write/SetTimePartitionIntervalReq.java |   80 +
 .../consensus/response/CountStorageGroupResp.java  |   54 +
 .../response/DataNodeConfigurationDataSet.java     |   66 -
 .../response/DataNodeConfigurationResp.java        |   62 +
 .../consensus/response/DataNodeLocationsResp.java  |   56 +
 .../consensus/response/DataNodesInfoDataSet.java   |   72 -
 .../consensus/response/DataPartitionDataSet.java   |  113 -
 .../consensus/response/DataPartitionResp.java      |   62 +
 .../consensus/response/PermissionInfoDataSet.java  |   26 -
 .../consensus/response/PermissionInfoResp.java     |   56 +
 .../consensus/response/SchemaPartitionDataSet.java |   86 -
 .../consensus/response/SchemaPartitionResp.java    |   57 +
 .../response/StorageGroupSchemaDataSet.java        |   66 -
 .../consensus/response/StorageGroupSchemaResp.java |   55 +
 .../statemachine/PartitionRegionStateMachine.java  |   47 +-
 .../physical/UnknownPhysicalPlanTypeException.java |    4 +-
 .../confignode/manager/ClusterSchemaManager.java   |  296 ++
 .../iotdb/confignode/manager/ConfigManager.java    |  208 +-
 .../iotdb/confignode/manager/ConsensusManager.java |   12 +-
 .../iotdb/confignode/manager/DataNodeManager.java  |   49 +-
 .../apache/iotdb/confignode/manager/Manager.java   |   74 +-
 .../iotdb/confignode/manager/PartitionManager.java |  109 +-
 .../confignode/manager/PermissionManager.java      |   30 +-
 .../iotdb/confignode/manager/RegionManager.java    |  155 -
 .../confignode/partition/StorageGroupSchema.java   |  121 -
 .../iotdb/confignode/persistence/AuthorInfo.java   |  276 ++
 .../persistence/AuthorInfoPersistence.java         |  146 -
 .../confignode/persistence/ClusterSchemaInfo.java  |  348 ++
 .../iotdb/confignode/persistence/DataNodeInfo.java |  191 +
 .../persistence/DataNodeInfoPersistence.java       |  193 -
 .../confignode/persistence/PartitionInfo.java      |  328 ++
 .../persistence/PartitionInfoPersistence.java      |  226 -
 .../persistence/RegionInfoPersistence.java         |  223 -
 .../iotdb/confignode/physical/PhysicalPlan.java    |  154 -
 .../confignode/physical/PhysicalPlanType.java      |   52 -
 .../physical/crud/CreateDataPartitionPlan.java     |  127 -
 .../physical/crud/CreateRegionsPlan.java           |   95 -
 .../physical/crud/CreateSchemaPartitionPlan.java   |   99 -
 .../crud/GetOrCreateDataPartitionPlan.java         |  141 -
 .../crud/GetOrCreateSchemaPartitionPlan.java       |   96 -
 .../iotdb/confignode/physical/sys/AuthorPlan.java  |  248 -
 .../physical/sys/DeleteStorageGroupPlan.java       |   39 -
 .../physical/sys/QueryDataNodeInfoPlan.java        |   68 -
 .../physical/sys/QueryStorageGroupSchemaPlan.java  |   41 -
 .../physical/sys/RegisterDataNodePlan.java         |   79 -
 .../physical/sys/SetStorageGroupPlan.java          |   74 -
 .../iotdb/confignode/service/ConfigNode.java       |   42 +-
 .../confignode/service/ConfigNodeCommandLine.java  |    2 +-
 .../service/executor/ConfigRequestExecutor.java    |  138 +
 .../confignode/service/executor/PlanExecutor.java  |  116 -
 .../service/thrift/ConfigNodeRPCService.java       |   89 +
 .../thrift/ConfigNodeRPCServiceHandler.java        |   52 +
 .../service/thrift/ConfigNodeRPCServiceMBean.java  |   22 +
 .../thrift/ConfigNodeRPCServiceProcessor.java      |  306 ++
 .../service/thrift/server/ConfigNodeRPCServer.java |  110 -
 .../thrift/server/ConfigNodeRPCServerMBean.java    |   22 -
 .../server/ConfigNodeRPCServerProcessor.java       |  210 -
 .../thrift/server/ConfigNodeRPCServiceHandler.java |   52 -
 .../confignode/util/SerializeDeserializeUtil.java  |  242 -
 .../apache/iotdb/confignode/auth/AuthorTest.java   |   44 -
 .../iotdb/confignode/cli/TemporaryClientDemo.java  |    4 +-
 .../confignode/consensus/RatisConsensusDemo.java   |  151 -
 .../consensus/request/ConfigRequestSerDeTest.java  |  556 +++
 .../manager/ConfigManagerManualTest.java           |  133 -
 .../physical/SerializeDeserializeUT.java           |  404 --
 .../thrift/ConfigNodeRPCServiceProcessorTest.java  |  909 ++++
 .../server/ConfigNodeRPCServerProcessorTest.java   |  492 --
 .../utils/ConfigNodeEnvironmentUtils.java          |    4 +-
 .../utils/SerializeDeserializeUtilTest.java        |   90 -
 .../confignode1conf/iotdb-confignode.properties    |   29 +
 .../src/test/resources/confignode1conf/logback.xml |  140 +
 .../confignode2conf/iotdb-confignode.properties    |   29 +
 .../src/test/resources/confignode2conf/logback.xml |  140 +
 .../confignode3conf/iotdb-confignode.properties    |   29 +
 .../src/test/resources/confignode3conf/logback.xml |  140 +
 consensus/pom.xml                                  |    5 -
 .../apache/iotdb/consensus/ConsensusFactory.java   |    7 +-
 .../org/apache/iotdb/consensus/IConsensus.java     |    5 +-
 .../org/apache/iotdb/consensus/common/Peer.java    |    8 +-
 .../iotdb/consensus/common/SnapshotMeta.java       |   54 +
 .../ratis/ApplicationStateMachineProxy.java        |   81 +-
 .../apache/iotdb/consensus/ratis/RatisClient.java  |  107 +
 .../iotdb/consensus/ratis/RatisConsensus.java      |  245 +-
 .../iotdb/consensus/ratis/RequestMessage.java      |    2 +-
 .../iotdb/consensus/ratis/SnapshotStorage.java     |  100 +
 .../org/apache/iotdb/consensus/ratis/Utils.java    |   33 +-
 .../consensus/standalone/StandAloneConsensus.java  |    6 +-
 .../consensus/standalone/StandAloneServerImpl.java |   20 +
 .../consensus/statemachine/EmptyStateMachine.java  |   20 +
 .../consensus/statemachine/IStateMachine.java      |   51 +
 .../iotdb/consensus/ratis/RatisConsensusTest.java  |  132 +-
 .../apache/iotdb/consensus/ratis/SnapshotTest.java |  120 +
 .../apache/iotdb/consensus/ratis/TestUtils.java    |  203 +
 .../standalone/StandAloneConsensusTest.java        |   48 +-
 .../tests/tools/importCsv/AbstractScript.java      |    7 +-
 distribution/src/assembly/all.xml                  |    4 +
 distribution/src/assembly/server.xml               |    4 +
 docs/Community/About.md                            |   79 +
 docs/Development/ContributeGuide.md                |   16 +
 .../Data-Concept/Data-Model-and-Terminology.md     |    2 +-
 .../Data-Modeling/SchemaRegion-rocksdb.md          |   93 +
 docs/UserGuide/Ecosystem Integration/DBeaver.md    |   22 +-
 .../Ecosystem Integration/Grafana Plugin.md        |  141 +-
 docs/UserGuide/Maintenance-Tools/Metric-Tool.md    |   12 +-
 .../Maintenance-Tools/SchemaFileSketch-Tool.md     |   38 +
 docs/UserGuide/Maintenance-Tools/Sync-Tool.md      |  119 +-
 docs/UserGuide/Operate-Metadata/Node.md            |   45 +
 docs/UserGuide/Operate-Metadata/Storage-Group.md   |   60 +
 docs/UserGuide/Query-Data/Select-Expression.md     |  150 +-
 docs/zh/Development/ContributeGuide.md             |   17 +
 .../Data-Modeling/SchemaRegion-rocksdb.md          |   93 +
 docs/zh/UserGuide/Ecosystem Integration/DBeaver.md |   28 +-
 .../Ecosystem Integration/Grafana Plugin.md        |  143 +-
 docs/zh/UserGuide/Maintenance-Tools/Metric-Tool.md |   12 +-
 .../Maintenance-Tools/SchemaFileSketch-Tool.md     |   35 +
 docs/zh/UserGuide/Maintenance-Tools/Sync-Tool.md   |   23 +-
 docs/zh/UserGuide/Operate-Metadata/Node.md         |   45 +
 .../zh/UserGuide/Operate-Metadata/Storage-Group.md |   60 +
 docs/zh/UserGuide/Query-Data/Select-Expression.md  |  150 +-
 .../iotdb/hadoop/tsfile/TSFMRReadExample.java      |    5 +-
 .../Apache IoTDB Dashboard v0.13.1.json            | 1527 +++++++
 .../Apache IoTDB Dashboard v0.14.0.json            | 1527 +++++++
 grafana-plugin/.gitignore                          |    1 +
 grafana-plugin/Magefile.go                         |   32 +
 grafana-plugin/README.md                           |   38 +-
 grafana-plugin/backend-compile.sh                  |   36 +
 grafana-plugin/go.mod                              |   23 +
 grafana-plugin/go.sum                              |  659 +++
 grafana-plugin/package.json                        |    7 +-
 grafana-plugin/pkg/main.go                         |   40 +
 grafana-plugin/pkg/plugin/plugin.go                |  291 ++
 grafana-plugin/pom.xml                             |   21 +
 grafana-plugin/src/QueryEditor.tsx                 |    2 +-
 grafana-plugin/src/datasource.ts                   |  130 +-
 grafana-plugin/src/plugin.json                     |    3 +
 grafana-plugin/yarn.lock                           | 4726 ++++++++++----------
 .../apache/iotdb/hadoop/tsfile/TSFInputFormat.java |   11 +-
 .../iotdb/hadoop/tsfile/record/HDFSTSRecord.java   |    8 +-
 .../iotdb/hadoop/tsfile/TSFInputSplitTest.java     |    3 +-
 .../org/apache/iotdb/hive/TSFHiveInputFormat.java  |    6 +-
 .../org/apache/iotdb/hive/TsFileDeserializer.java  |   10 +-
 .../apache/iotdb/hive/TsFileDeserializerTest.java  |   11 +-
 .../org/apache/iotdb/hive/TsFileSerDeTest.java     |   11 +-
 .../org/apache/iotdb/influxdb/IoTDBInfluxDB.java   |    2 +-
 .../iotdb/influxdb/protocol/dto/SessionPoint.java  |    8 +-
 .../iotdb/influxdb/session/InfluxDBSession.java    |    6 +-
 .../influxdb/integration/IoTDBInfluxDBIT.java      |    6 +-
 .../apache/iotdb/db/integration/IoTDBAliasIT.java  |    5 +-
 .../iotdb/db/integration/IoTDBCompleteIT.java      |    6 +-
 .../apache/iotdb/db/integration/IoTDBDaemonIT.java |   16 +-
 .../org/apache/iotdb/db/integration/IoTDBInIT.java |    7 +-
 .../iotdb/db/integration/IoTDBInsertNullIT.java    |  207 +
 .../iotdb/db/integration/IoTDBMaxTimeQueryIT.java  |    9 +-
 .../db/integration/IoTDBPartialInsertionIT.java    |   62 +
 .../db/integration/IoTDBResultMetadataIT.java      |   13 +-
 .../db/integration/IoTDBSchemaTemplateIT.java      |   11 +-
 .../iotdb/db/integration/IoTDBSelectSchemaIT.java  |   12 +-
 .../db/integration/IoTDBTriggerExecutionIT.java    |  188 +-
 .../db/integration/IoTDBUDTFBuiltinFunctionIT.java |  190 +
 ...ggregationWithoutValueFilterWithDeletionIT.java |   11 +-
 ...upBySlidingWindowQueryWithoutValueFilterIT.java |    9 +-
 .../groupby/IOTDBGroupByInnerIntervalIT.java       |   13 +-
 .../db/integration/groupby/IoTDBGroupByFillIT.java |   11 +-
 .../sync/IoTDBSyncReceiverCollectorIT.java         |   12 +-
 .../db/integration/sync/IoTDBSyncReceiverIT.java   |    6 +-
 .../sync/IoTDBSyncReceiverLoaderIT.java            |    4 +-
 .../db/integration/sync/IoTDBSyncSenderIT.java     |  327 +-
 .../iotdb/db/integration/sync/SyncTestUtil.java    |   11 +-
 .../db/integration/sync/TransportClientMock.java   |   12 +-
 .../db/integration/sync/TransportHandlerMock.java  |   61 +
 .../iotdb/jdbc/IoTDBPreparedStatementTest.java     |    3 +-
 .../dropwizard/DropwizardMetricManager.java        |   25 +-
 .../iotdb/metrics/dropwizard/MetricName.java       |    6 +-
 .../reporter/DropwizardMetricsExporter.java        |   10 +-
 .../metrics/dropwizard/reporter/IoTDBReporter.java |   16 +-
 .../dropwizard/DropwizardMetricManagerTest.java    |   12 +-
 .../org/apache/iotdb/metrics/MetricManager.java    |    6 +-
 .../apache/iotdb/metrics/config/MetricConfig.java  |   20 +-
 .../micrometer/MicrometerMetricManager.java        |   21 +-
 node-commons/pom.xml                               |   20 +-
 .../commons/client/AsyncBaseClientFactory.java     |   47 +
 .../iotdb/commons/client/BaseClientFactory.java    |   41 +
 .../commons/client/ClientFactoryProperty.java      |   95 +
 .../apache/iotdb/commons/client/ClientManager.java |   95 +
 .../iotdb/commons/client/ClientPoolProperty.java   |   84 +
 .../iotdb/commons/client/IClientManager.java       |   43 +
 .../iotdb/commons/client/IClientPoolFactory.java   |   28 +
 .../async/AsyncConfigNodeIServiceClient.java       |  145 +
 .../async/AsyncDataNodeDataBlockServiceClient.java |  146 +
 .../async/AsyncDataNodeInternalServiceClient.java  |  157 +
 .../client/sync/SyncConfigNodeIServiceClient.java  |  119 +
 .../sync/SyncDataNodeDataBlockServiceClient.java   |  120 +
 .../sync/SyncDataNodeInternalServiceClient.java    |  131 +
 .../iotdb/commons/cluster/DataNodeLocation.java    |   81 -
 .../org/apache/iotdb/commons/cluster/Endpoint.java |   92 -
 .../iotdb/commons/concurrent/ThreadName.java       |    3 +-
 .../apache/iotdb/commons/conf/IoTDBConstant.java   |    1 +
 .../iotdb/commons/consensus/ConsensusGroupId.java  |   44 +-
 .../iotdb/commons/consensus/DataRegionId.java      |   21 +-
 .../apache/iotdb/commons/consensus/GroupType.java  |   27 -
 .../iotdb/commons/consensus/PartitionRegionId.java |   21 +-
 .../iotdb/commons/consensus/SchemaRegionId.java    |   21 +-
 .../exception/runtime/ThriftSerDeException.java    |   26 +
 .../iotdb/commons/partition/DataPartition.java     |   84 +-
 .../commons/partition/DataPartitionQueryParam.java |    8 +-
 .../apache/iotdb/commons/partition/Partition.java  |   41 +
 .../iotdb/commons/partition/PartitionInfo.java     |   41 -
 .../iotdb/commons/partition/RegionReplicaSet.java  |  141 -
 .../iotdb/commons/partition/SchemaPartition.java   |   46 +-
 .../commons/partition/SeriesPartitionSlot.java     |   59 -
 .../iotdb/commons/partition/TimePartitionSlot.java |   64 -
 .../executor/SeriesPartitionExecutor.java          |    4 +-
 .../partition/executor/hash/APHashExecutor.java    |    6 +-
 .../partition/executor/hash/BKDRHashExecutor.java  |    6 +-
 .../partition/executor/hash/JSHashExecutor.java    |    6 +-
 .../partition/executor/hash/SDBMHashExecutor.java  |    6 +-
 .../apache/iotdb/commons/service/JMXService.java   |   13 +-
 .../apache/iotdb/commons/service/ServiceType.java  |    3 +-
 .../iotdb/commons/service/ThriftService.java       |    4 +-
 .../commons/utils/BasicStructureSerDeUtil.java     |  242 +
 .../apache/iotdb/commons/utils/CommonUtils.java    |   12 +-
 .../commons/utils/ThriftCommonsSerDeUtils.java     |  165 +
 .../commons/utils/ThriftConfigNodeSerDeUtils.java  |   69 +
 .../apache/iotdb/commons/ClientManagerTest.java    |  459 ++
 .../apache/iotdb/commons/ConsensusGroupIdTest.java |   23 +-
 .../commons/utils/BasicStructureSerDeUtilTest.java |   88 +
 .../commons/utils/ThriftCommonsSerDeUtilsTest.java |  116 +
 .../utils/ThriftConfigNodeSerDeUtilsTest.java      |   67 +
 pom.xml                                            |   10 +
 procedure/pom.xml                                  |   93 +
 .../iotdb/procedure/CompletedProcedureCleaner.java |   88 +
 .../procedure/CompletedProcedureRetainer.java      |   36 +
 .../apache/iotdb/procedure/InternalProcedure.java  |   61 +
 .../java/org/apache/iotdb/procedure/Procedure.java |  895 ++++
 .../apache/iotdb/procedure/ProcedureExecutor.java  |  995 +++++
 .../apache/iotdb/procedure/ProcedureLockState.java |   26 +
 .../apache/iotdb/procedure/RootProcedureStack.java |  177 +
 .../iotdb/procedure/StateMachineProcedure.java     |  329 ++
 .../apache/iotdb/procedure/StoppableThread.java    |   49 +
 .../iotdb/procedure/TimeoutExecutorThread.java     |  107 +
 .../iotdb/procedure/conf/ProcedureNodeConfig.java  |  153 +
 .../conf/ProcedureNodeConfigDescriptor.java        |  219 +
 .../procedure/conf/ProcedureNodeConstant.java      |   32 +
 .../procedure/env/ClusterProcedureEnvironment.java |   25 +
 .../exception/ProcedureAbortedException.java       |   30 +
 .../procedure/exception/ProcedureException.java    |   44 +
 .../exception/ProcedureSuspendedException.java     |   39 +
 .../exception/ProcedureTimeoutException.java       |   26 +
 .../exception/ProcedureYieldException.java         |   36 +
 .../scheduler/AbstractProcedureScheduler.java      |  211 +
 .../procedure/scheduler/ProcedureScheduler.java    |  109 +
 .../scheduler/SimpleProcedureScheduler.java        |   78 +
 .../iotdb/procedure/service/ProcedureNode.java     |   98 +
 .../procedure/service/ProcedureNodeMBean.java      |   22 +
 .../iotdb/procedure/service/ProcedureServer.java   |  118 +
 .../service/ProcedureServerCommandLine.java        |   52 +
 .../service/ProcedureServerProcessor.java          |   77 +
 .../procedure/service/ProcedureServiceHanlder.java |   45 +
 .../iotdb/procedure/store/IProcedureStore.java     |   48 +
 .../iotdb/procedure/store/ProcedureStore.java      |  195 +
 .../apache/iotdb/procedure/store/ProcedureWAL.java |  106 +
 .../apache/iotdb/procedure/NoopProcedureStore.java |   70 +
 .../org/apache/iotdb/procedure/TestLockRegime.java |   46 +
 .../org/apache/iotdb/procedure/TestProcEnv.java    |   57 +
 .../apache/iotdb/procedure/TestProcedureBase.java  |   83 +
 .../iotdb/procedure/TestProcedureExecutor.java     |  111 +
 .../apache/iotdb/procedure/TestSTMProcedure.java   |   57 +
 .../iotdb/procedure/entity/IncProcedure.java       |   57 +
 .../iotdb/procedure/entity/NoopProcedure.java      |   44 +
 .../procedure/entity/SimpleLockProcedure.java      |   80 +
 .../iotdb/procedure/entity/SimpleSTMProcedure.java |   97 +
 .../iotdb/procedure/entity/SleepProcedure.java     |   46 +
 .../iotdb/procedure/entity/StuckProcedure.java     |   59 +
 .../iotdb/procedure/entity/StuckSTMProcedure.java  |  112 +
 .../procedure/service/TestProcedureService.java    |   87 +
 .../iotdb/procedure/store/TestProcedureStore.java  |  111 +
 .../iotdb/procedure/util/ProcedureTestUtil.java    |   66 +
 server/pom.xml                                     |   19 +-
 .../resources/conf/iotdb-engine.properties         |   60 +-
 .../resources/conf/schema-rocksdb.properties       |   94 +
 .../assembly/resources/tools/mlog/mLogParser.bat   |   62 -
 .../assembly/resources/tools/mlog/mLogParser.sh    |   48 -
 .../resources/tools/schema/SchemaFileSketcher.bat  |   62 +
 .../resources/tools/schema/SchemaFileSketcher.sh   |   48 +
 .../assembly/resources/tools/schema/mLogParser.bat |   62 +
 .../assembly/resources/tools/schema/mLogParser.sh  |   48 +
 .../db/auth/authorizer/AuthorizerManager.java      |   71 +-
 .../db/auth/authorizer/ClusterAuthorizer.java      |  111 +-
 .../apache/iotdb/db/client/ConfigNodeClient.java   |   61 +-
 .../iotdb/db/client/DataNodeClientPoolFactory.java |  148 +
 .../java/org/apache/iotdb/db/conf/IoTDBConfig.java |  113 +-
 .../org/apache/iotdb/db/conf/IoTDBConfigCheck.java |   41 +-
 .../org/apache/iotdb/db/conf/IoTDBDescriptor.java  |   68 +-
 .../apache/iotdb/db/consensus/ConsensusImpl.java   |    4 +-
 .../statemachine/DataRegionStateMachine.java       |   19 +
 .../statemachine/SchemaRegionStateMachine.java     |   24 +-
 .../org/apache/iotdb/db/engine/StorageEngine.java  |   11 -
 .../apache/iotdb/db/engine/StorageEngineV2.java    |   11 +
 .../engine/compaction/CompactionTaskManager.java   |   34 +-
 .../iotdb/db/engine/memtable/AbstractMemTable.java |   27 +-
 .../io/LocalTextModificationAccessor.java          |    7 +-
 .../db/engine/storagegroup/TsFileProcessor.java    |  218 +-
 .../db/engine/storagegroup/TsFileResource.java     |    6 +-
 .../db/engine/trigger/executor/TriggerEngine.java  |   20 +-
 .../engine/trigger/executor/TriggerExecutor.java   |   29 +-
 .../service/TriggerRegistrationService.java        |   52 +-
 .../iotdb/db/localconfignode/LocalConfigNode.java  |  789 ++++
 .../localconfignode/LocalDataPartitionTable.java   |  126 +
 .../localconfignode/LocalSchemaPartitionTable.java |  121 +
 .../iotdb/db/metadata/Executor/SchemaVisitor.java  |   96 -
 .../apache/iotdb/db/metadata/LocalConfigNode.java  |  757 ----
 .../db/metadata/LocalSchemaPartitionTable.java     |  121 -
 .../iotdb/db/metadata/LocalSchemaProcessor.java    |   57 +-
 .../db/metadata/cache/DataNodeSchemaCache.java     |  186 +
 .../iotdb/db/metadata/cache/SchemaCacheEntity.java |  114 +
 .../idtable/entry/InsertMeasurementMNode.java      |   20 +
 .../org/apache/iotdb/db/metadata/mnode/IMNode.java |    8 +
 .../db/metadata/mnode/IStorageGroupMNode.java      |   12 +
 .../org/apache/iotdb/db/metadata/mnode/MNode.java  |   29 +
 .../iotdb/db/metadata/mnode/MeasurementMNode.java  |    2 -
 .../db/metadata/mnode/StorageGroupEntityMNode.java |   18 +
 .../iotdb/db/metadata/mnode/StorageGroupMNode.java |   43 +-
 .../mnode/estimator/BasicMNodSizeEstimator.java    |    6 +-
 .../iotdb/db/metadata/mtree/IMTreeBelowSG.java     |  308 ++
 .../iotdb/db/metadata/mtree/MTreeAboveSG.java      |    9 +
 .../iotdb/db/metadata/mtree/MTreeBelowSG.java      | 1520 -------
 .../db/metadata/mtree/MTreeBelowSGCachedImpl.java  | 1516 +++++++
 .../db/metadata/mtree/MTreeBelowSGMemoryImpl.java  | 1348 ++++++
 .../mtree/store/disk/CachedMNodeContainer.java     |   15 +
 .../mtree/store/disk/MTreeFlushTaskManager.java    |    2 +-
 .../mtree/store/disk/MTreeReleaseTaskManager.java  |    2 +-
 .../mtree/store/disk/cache/CacheManager.java       |   35 +-
 .../mtree/store/disk/schemafile/ISegment.java      |    2 +
 .../mtree/store/disk/schemafile/RecordUtils.java   |   30 +-
 .../mtree/store/disk/schemafile/SchemaFile.java    |  107 +-
 .../mtree/store/disk/schemafile/SchemaPage.java    |    9 +-
 .../mtree/store/disk/schemafile/Segment.java       |   51 +
 .../apache/iotdb/db/metadata/path/AlignedPath.java |  269 --
 .../iotdb/db/metadata/path/MeasurementPath.java    |  197 -
 .../apache/iotdb/db/metadata/path/PartialPath.java |   96 -
 .../db/metadata/schemaregion/ISchemaRegion.java    |  250 +-
 .../db/metadata/schemaregion/SchemaEngine.java     |   69 +-
 .../db/metadata/schemaregion/SchemaRegion.java     | 1861 --------
 .../schemaregion/SchemaRegionMemoryImpl.java       | 1717 +++++++
 .../schemaregion/SchemaRegionSchemaFileImpl.java   | 1801 ++++++++
 .../schemaregion/rocksdb/RSchemaConfLoader.java    |  185 +
 .../rocksdb/RSchemaReadWriteHandler.java           |   27 +-
 .../schemaregion/rocksdb/RSchemaRegion.java        |  213 +-
 .../schemaregion/rocksdb/mnode/RMNode.java         |   20 +
 .../rocksdb/mnode/RStorageGroupMNode.java          |   18 +
 .../db/metadata/tree/AbstractTreeVisitor.java      |  380 ++
 .../tree/AbstractTreeVisitorWithLimitOffset.java   |  106 +
 .../apache/iotdb/db/metadata/tree/ITreeNode.java   |   25 +
 .../db/metadata/upgrade/MetadataUpgrader.java      |   41 +-
 .../db/metadata/utils/ResourceByPathUtils.java     |  607 +++
 .../metadata/visitor/SchemaExecutionVisitor.java   |  149 +
 .../iotdb/db/mpp/buffer/DataBlockManager.java      |  127 +-
 .../iotdb/db/mpp/buffer/DataBlockService.java      |   13 +-
 .../mpp/buffer/DataBlockServiceClientFactory.java  |  117 -
 .../iotdb/db/mpp/buffer/IDataBlockManager.java     |   11 +-
 .../db/mpp/buffer/IDataBlockManagerCallback.java   |   24 +
 .../apache/iotdb/db/mpp/buffer/ISinkHandle.java    |   41 +-
 .../apache/iotdb/db/mpp/buffer/ISourceHandle.java  |   29 +-
 .../org/apache/iotdb/db/mpp/buffer/SinkHandle.java |  204 +-
 .../apache/iotdb/db/mpp/buffer/SourceHandle.java   |  239 +-
 .../apache/iotdb/db/mpp/buffer/StubSinkHandle.java |  101 -
 .../iotdb/db/mpp/common/MPPQueryContext.java       |   27 +-
 .../org/apache/iotdb/db/mpp/common/QueryId.java    |    2 +-
 .../iotdb/db/mpp/common/ResultNodeContext.java     |    8 +-
 .../iotdb/db/mpp/common/filter/InFilter.java       |    8 +-
 .../iotdb/db/mpp/common/header/DatasetHeader.java  |   13 +-
 .../iotdb/db/mpp/common/header/HeaderConstant.java |   40 +
 .../db/mpp/common/schematree/DeviceSchemaInfo.java |   40 +-
 .../db/mpp/common/schematree/SchemaEntityNode.java |  119 -
 .../mpp/common/schematree/SchemaInternalNode.java  |  100 -
 .../common/schematree/SchemaMeasurementNode.java   |  102 -
 .../iotdb/db/mpp/common/schematree/SchemaNode.java |   80 -
 .../iotdb/db/mpp/common/schematree/SchemaTree.java |   34 +-
 .../mpp/common/schematree/SchemaTreeVisitor.java   |  235 -
 .../common/schematree/node/SchemaEntityNode.java   |  119 +
 .../common/schematree/node/SchemaInternalNode.java |  100 +
 .../schematree/node/SchemaMeasurementNode.java     |  102 +
 .../db/mpp/common/schematree/node/SchemaNode.java  |   82 +
 .../visitor/SchemaTreeDeviceVisitor.java           |   61 +
 .../visitor/SchemaTreeMeasurementVisitor.java      |   80 +
 .../schematree/visitor/SchemaTreeVisitor.java      |   60 +
 .../apache/iotdb/db/mpp/execution/Coordinator.java |   68 +-
 .../apache/iotdb/db/mpp/execution/DataDriver.java  |  192 +-
 .../iotdb/db/mpp/execution/DataDriverContext.java  |    1 +
 .../org/apache/iotdb/db/mpp/execution/Driver.java  |  435 +-
 .../iotdb/db/mpp/execution/DriverContext.java      |   13 +-
 .../db/mpp/execution/FragmentInstanceContext.java  |  100 +-
 .../mpp/execution/FragmentInstanceExecution.java   |   74 +-
 .../execution/FragmentInstanceFailureListener.java |   25 +
 .../db/mpp/execution/FragmentInstanceManager.java  |   63 +-
 .../db/mpp/execution/FragmentInstanceState.java    |    2 +-
 .../execution/FragmentInstanceStateMachine.java    |  182 +
 .../org/apache/iotdb/db/mpp/execution/IDriver.java |   71 +
 .../iotdb/db/mpp/execution/IQueryExecution.java    |    2 +
 .../iotdb/db/mpp/execution/QueryExecution.java     |   94 +-
 .../iotdb/db/mpp/execution/QueryStateMachine.java  |   14 +-
 .../iotdb/db/mpp/execution/SchemaDriver.java       |  136 +-
 .../db/mpp/execution/SchemaDriverContext.java      |    1 +
 .../mpp/execution/config/AuthorizerConfigTask.java |   76 +
 .../db/mpp/execution/config/ConfigExecution.java   |   94 +-
 .../db/mpp/execution/config/ConfigTaskResult.java  |   61 +
 .../db/mpp/execution/config/ConfigTaskVisitor.java |   54 +
 .../iotdb/db/mpp/execution/config/IConfigTask.java |    2 +-
 .../db/mpp/execution/config/SampleConfigTask.java  |   47 -
 .../mpp/execution/config/SetStorageGroupTask.java  |   70 +-
 .../mpp/execution/config/ShowStorageGroupTask.java |  113 +
 .../scheduler/AbstractFragInsStateTracker.java     |   46 +-
 .../mpp/execution/scheduler/ClusterScheduler.java  |   46 +-
 .../scheduler/FixedRateFragInsStateTracker.java    |   16 +-
 .../mpp/execution/scheduler/IQueryTerminator.java  |    4 +-
 .../scheduler/InternalServiceClientFactory.java    |  113 -
 .../scheduler/SimpleFragInstanceDispatcher.java    |   66 +-
 .../execution/scheduler/SimpleQueryTerminator.java |   80 +-
 .../execution/scheduler/StandaloneScheduler.java   |   63 +-
 .../org/apache/iotdb/db/mpp/memory/MemoryPool.java |   25 +-
 .../org/apache/iotdb/db/mpp/operator/Operator.java |    4 +-
 .../mpp/operator/process/DeviceMergeOperator.java  |   56 -
 .../mpp/operator/process/DeviceViewOperator.java   |  152 +
 .../db/mpp/operator/process/FilterOperator.java    |  155 +
 .../db/mpp/operator/process/LimitOperator.java     |    4 +-
 .../db/mpp/operator/process/TimeJoinOperator.java  |   56 +-
 .../db/mpp/operator/process/TransformOperator.java |  177 +-
 .../mpp/operator/process/merge/ColumnMerger.java   |   60 +
 .../operator/process/merge/MultiColumnMerger.java  |   96 +
 .../operator/process/merge/SingleColumnMerger.java |  124 +
 .../db/mpp/operator/schema/CountMergeOperator.java |  133 +
 .../mpp/operator/schema/DevicesCountOperator.java  |   90 +
 .../operator/schema/DevicesSchemaScanOperator.java |   32 +-
 .../schema/LevelTimeSeriesCountOperator.java       |  100 +
 .../mpp/operator/schema/SchemaFetchOperator.java   |    3 +-
 .../mpp/operator/schema/SchemaMergeOperator.java   |   31 +-
 .../db/mpp/operator/schema/SchemaScanOperator.java |   17 +-
 .../operator/schema/TimeSeriesCountOperator.java   |   90 +
 .../schema/TimeSeriesSchemaScanOperator.java       |   29 +-
 .../db/mpp/operator/source/ExchangeOperator.java   |   13 +-
 .../source/SeriesAggregateScanOperator.java        |  420 +-
 .../db/mpp/operator/source/SeriesScanOperator.java |    2 +-
 .../db/mpp/operator/source/SeriesScanUtil.java     |   10 +-
 .../db/mpp/schedule/AbstractDriverThread.java      |   71 +
 .../iotdb/db/mpp/schedule/AbstractExecutor.java    |   72 -
 .../iotdb/db/mpp/schedule/DriverScheduler.java     |  357 ++
 .../iotdb/db/mpp/schedule/DriverTaskThread.java    |   85 +
 .../schedule/DriverTaskTimeoutSentinelThread.java  |   56 +
 .../iotdb/db/mpp/schedule/ExecutionContext.java    |    4 +-
 .../schedule/FragmentInstanceAbortedException.java |   35 +
 .../db/mpp/schedule/FragmentInstanceScheduler.java |  356 --
 .../mpp/schedule/FragmentInstanceTaskExecutor.java |   84 -
 .../schedule/FragmentInstanceTimeoutSentinel.java  |   55 -
 .../iotdb/db/mpp/schedule/IDriverScheduler.java    |   62 +
 .../mpp/schedule/IFragmentInstanceScheduler.java   |   61 -
 .../iotdb/db/mpp/schedule/ITaskScheduler.java      |   35 +-
 .../db/mpp/schedule/queue/L1PriorityQueue.java     |   37 +-
 .../db/mpp/schedule/queue/L2PriorityQueue.java     |   66 +-
 .../iotdb/db/mpp/schedule/task/DriverTask.java     |  217 +
 .../iotdb/db/mpp/schedule/task/DriverTaskID.java   |   68 +
 .../db/mpp/schedule/task/DriverTaskStatus.java     |   37 +
 .../db/mpp/schedule/task/FragmentInstanceTask.java |  202 -
 .../mpp/schedule/task/FragmentInstanceTaskID.java  |   66 -
 .../schedule/task/FragmentInstanceTaskStatus.java  |   37 -
 .../apache/iotdb/db/mpp/sql/analyze/Analysis.java  |    4 +-
 .../apache/iotdb/db/mpp/sql/analyze/Analyzer.java  |  425 +-
 .../mpp/sql/analyze/ClusterPartitionFetcher.java   |  501 ++-
 .../db/mpp/sql/analyze/ClusterSchemaFetcher.java   |   10 +-
 .../mpp/sql/analyze/FakePartitionFetcherImpl.java  |  125 +-
 .../db/mpp/sql/analyze/FakeSchemaFetcherImpl.java  |    7 +-
 .../db/mpp/sql/analyze/IPartitionFetcher.java      |    4 +
 .../iotdb/db/mpp/sql/analyze/SchemaValidator.java  |   57 +
 .../sql/analyze/StandalonePartitionFetcher.java    |   74 +-
 .../mpp/sql/analyze/StandaloneSchemaFetcher.java   |   38 +-
 .../iotdb/db/mpp/sql/constant/StatementType.java   |    4 +-
 .../apache/iotdb/db/mpp/sql/parser/ASTVisitor.java |  225 +-
 .../db/mpp/sql/parser/StatementGenerator.java      |   25 +-
 .../db/mpp/sql/planner/DistributionPlanner.java    |  104 +-
 .../mpp/sql/planner/IFragmentParallelPlaner.java   |   38 +
 .../db/mpp/sql/planner/LocalExecutionPlanner.java  |  165 +-
 .../iotdb/db/mpp/sql/planner/LogicalPlanner.java   |  296 +-
 .../iotdb/db/mpp/sql/planner/QueryPlanBuilder.java |   57 +-
 .../sql/planner/SimpleFragmentParallelPlanner.java |  145 +
 .../sql/planner/WriteFragmentParallelPlanner.java  |   73 +
 .../db/mpp/sql/planner/plan/FragmentInstance.java  |   47 +-
 .../sql/planner/plan/IFragmentParallelPlaner.java  |   36 -
 .../db/mpp/sql/planner/plan/IOutputPlanNode.java   |   34 -
 .../db/mpp/sql/planner/plan/PlanFragment.java      |    8 +-
 .../plan/SimpleFragmentParallelPlanner.java        |  137 -
 .../planner/plan/WriteFragmentParallelPlanner.java |   70 -
 .../sql/planner/plan/node/PlanGraphPrinter.java    |  309 ++
 .../db/mpp/sql/planner/plan/node/PlanNode.java     |    8 +
 .../db/mpp/sql/planner/plan/node/PlanNodeId.java   |   16 -
 .../db/mpp/sql/planner/plan/node/PlanNodeType.java |   46 +-
 .../db/mpp/sql/planner/plan/node/PlanVisitor.java  |   35 +-
 .../mpp/sql/planner/plan/node/WritePlanNode.java   |    4 +-
 .../metedata/read/AbstractSchemaMergeNode.java     |   79 +
 .../node/metedata/read/CountSchemaMergeNode.java   |   54 +
 .../plan/node/metedata/read/DevicesCountNode.java  |   80 +
 .../node/metedata/read/DevicesSchemaScanNode.java  |   64 +-
 .../metedata/read/LevelTimeSeriesCountNode.java    |  110 +
 .../plan/node/metedata/read/SchemaFetchNode.java   |   26 +-
 .../plan/node/metedata/read/SchemaMergeNode.java   |   81 -
 .../plan/node/metedata/read/SchemaScanNode.java    |   57 +-
 .../node/metedata/read/SeriesSchemaMergeNode.java  |   60 +
 .../plan/node/metedata/read/ShowDevicesNode.java   |   67 -
 .../planner/plan/node/metedata/read/ShowNode.java  |   36 -
 .../node/metedata/read/TimeSeriesCountNode.java    |   80 +
 .../metedata/read/TimeSeriesSchemaScanNode.java    |   74 +-
 .../node/metedata/write/AlterTimeSeriesNode.java   |  147 +-
 .../plan/node/metedata/write/AuthorNode.java       |  351 --
 .../write/CreateAlignedTimeSeriesNode.java         |  145 +-
 .../node/metedata/write/CreateTimeSeriesNode.java  |   41 +-
 .../planner/plan/node/process/AggregateNode.java   |   31 +-
 .../planner/plan/node/process/DeviceMergeNode.java |   53 +-
 .../planner/plan/node/process/ExchangeNode.java    |   30 +-
 .../sql/planner/plan/node/process/FillNode.java    |    9 +-
 .../sql/planner/plan/node/process/FilterNode.java  |   10 +-
 .../planner/plan/node/process/FilterNullNode.java  |   81 +-
 .../plan/node/process/GroupByLevelNode.java        |   85 +-
 .../sql/planner/plan/node/process/LimitNode.java   |    9 +-
 .../sql/planner/plan/node/process/OffsetNode.java  |    9 +-
 .../sql/planner/plan/node/process/SortNode.java    |   11 +-
 .../planner/plan/node/process/TimeJoinNode.java    |  112 +-
 .../planner/plan/node/sink/FragmentSinkNode.java   |   30 +-
 .../plan/node/source/SeriesAggregateScanNode.java  |   87 +-
 .../planner/plan/node/source/SeriesScanNode.java   |   37 +-
 .../sql/planner/plan/node/source/SourceNode.java   |    6 +-
 .../planner/plan/node/write/BatchInsertNode.java   |   40 +
 .../plan/node/write/InsertMultiTabletsNode.java    |  124 +-
 .../sql/planner/plan/node/write/InsertNode.java    |  123 +-
 .../sql/planner/plan/node/write/InsertRowNode.java |  410 +-
 .../planner/plan/node/write/InsertRowsNode.java    |  122 +-
 .../plan/node/write/InsertRowsOfOneDeviceNode.java |  184 +-
 .../planner/plan/node/write/InsertTabletNode.java  |  566 +--
 .../sql/planner/plan/parameter/Aggregation.java    |   43 +
 .../planner/plan/parameter/AggregationStep.java    |   73 +
 .../plan/parameter/FilterNullParameter.java        |   88 +
 .../plan/parameter/GroupByTimeParameter.java       |  173 +
 .../sql/planner/plan/parameter/InputLocation.java  |   72 +
 .../sql/planner/plan/parameter/OutputColumn.java   |   91 +
 .../db/mpp/sql/rewriter/ConcatPathRewriter.java    |   11 +-
 .../db/mpp/sql/rewriter/WildcardsRemover.java      |   16 +-
 .../db/mpp/sql/statement/IConfigStatement.java     |   36 +
 .../db/mpp/sql/statement/StatementVisitor.java     |  114 +-
 .../statement/component/FilterNullComponent.java   |    5 +-
 .../component/GroupByLevelController.java          |   10 +-
 .../mpp/sql/statement/component/ResultColumn.java  |    2 +-
 .../sql/statement/component/SelectComponent.java   |    4 +-
 .../statement/crud/AggregationQueryStatement.java  |   13 +-
 .../sql/statement/crud/InsertBaseStatement.java    |   31 -
 .../crud/InsertMultiTabletsStatement.java          |   11 -
 .../mpp/sql/statement/crud/InsertRowStatement.java |  103 +-
 .../crud/InsertRowsOfOneDeviceStatement.java       |   36 +-
 .../sql/statement/crud/InsertRowsStatement.java    |   18 -
 .../sql/statement/crud/InsertTabletStatement.java  |   51 +-
 .../mpp/sql/statement/crud/LastQueryStatement.java |    2 +-
 .../db/mpp/sql/statement/crud/QueryStatement.java  |   21 +-
 .../mpp/sql/statement/crud/UDAFQueryStatement.java |    2 +-
 .../statement/metadata/CountDevicesStatement.java  |   34 +
 .../metadata/CountLevelTimeSeriesStatement.java    |   41 +
 .../statement/metadata/CountNodesStatement.java    |   31 +
 .../mpp/sql/statement/metadata/CountStatement.java |   47 +
 .../metadata/CountStorageGroupStatement.java       |   30 +
 .../metadata/CountTimeSeriesStatement.java         |   34 +
 .../metadata/SetStorageGroupStatement.java         |   15 +-
 .../metadata/ShowStorageGroupStatement.java        |   16 +-
 .../db/mpp/sql/statement/sys/AuthorStatement.java  |   36 +-
 .../protocol/influxdb/function/InfluxFunction.java |    2 +-
 .../influxdb/function/InfluxFunctionFactory.java   |    8 +-
 .../db/protocol/influxdb/handler/QueryHandler.java |    8 +-
 .../protocol/influxdb/input/InfluxLineParser.java  |    5 +-
 .../influxdb/operator/InfluxSelectComponent.java   |    4 +-
 .../protocol/influxdb/sql/InfluxDBSqlVisitor.java  |    7 +-
 .../db/protocol/influxdb/util/JacksonUtils.java    |   44 +
 .../db/protocol/influxdb/util/StringUtils.java     |    3 +-
 .../apache/iotdb/db/qp/executor/PlanExecutor.java  |   29 +-
 .../qp/logical/crud/AggregationQueryOperator.java  |    4 +-
 .../db/qp/logical/crud/LastQueryOperator.java      |    2 +-
 .../iotdb/db/qp/logical/crud/QueryOperator.java    |    4 +-
 .../iotdb/db/qp/logical/crud/SelectComponent.java  |    4 +-
 .../db/qp/logical/crud/UDAFQueryOperator.java      |    4 +-
 .../apache/iotdb/db/qp/physical/PhysicalPlan.java  |    9 +-
 .../iotdb/db/qp/physical/crud/InsertRowPlan.java   |   28 +-
 .../db/qp/physical/crud/InsertTabletPlan.java      |   69 +-
 .../iotdb/db/qp/physical/sys/AuthorPlan.java       |    2 +-
 .../db/qp/physical/sys/DeleteTimeSeriesPlan.java   |   12 +
 .../apache/iotdb/db/qp/sql/IoTDBSqlVisitor.java    |  140 +-
 .../iotdb/db/qp/strategy/LogicalGenerator.java     |    2 +-
 .../qp/strategy/optimizer/ConcatPathOptimizer.java |    2 +-
 .../iotdb/db/qp/utils/GroupByLevelController.java  |    2 +-
 .../iotdb/db/query/control/SessionManager.java     |    7 +-
 .../db/query/dataset/AlignByDeviceDataSet.java     |    4 +-
 .../query/dataset/groupby/GroupByFillDataSet.java  |    8 +-
 .../query/dataset/groupby/GroupByTimeDataSet.java  |   30 +-
 .../dataset/groupby/GroupByTimeEngineDataSet.java  |   24 +-
 .../groupby/GroupByWithValueFilterDataSet.java     |    6 +-
 .../groupby/GroupByWithoutValueFilterDataSet.java  |    9 +-
 .../iotdb/db/query/executor/LastQueryExecutor.java |    4 +-
 .../iotdb/db/query/executor/QueryRouter.java       |    7 +-
 .../db/query/executor/RawDataQueryExecutor.java    |    7 +-
 .../iotdb/db/query/expression/Expression.java      |  133 +-
 .../iotdb/db/query/expression/ExpressionType.java  |  120 +-
 .../iotdb/db/query/expression/ResultColumn.java    |   21 +-
 .../expression/binary/AdditionExpression.java      |   19 +-
 .../query/expression/binary/BinaryExpression.java  |   17 +-
 .../expression/binary/DivisionExpression.java      |   19 +-
 .../query/expression/binary/EqualToExpression.java |   20 +-
 .../expression/binary/GreaterEqualExpression.java  |   19 +-
 .../expression/binary/GreaterThanExpression.java   |   20 +-
 .../expression/binary/LessEqualExpression.java     |   19 +-
 .../expression/binary/LessThanExpression.java      |   19 +-
 .../expression/binary/LogicAndExpression.java      |   20 +-
 .../query/expression/binary/LogicOrExpression.java |   20 +-
 .../query/expression/binary/ModuloExpression.java  |   19 +-
 .../binary/MultiplicationExpression.java           |   19 +-
 .../expression/binary/NonEqualExpression.java      |   19 +-
 .../expression/binary/SubtractionExpression.java   |   19 +-
 .../db/query/expression/leaf/ConstantOperand.java  |  150 +
 .../db/query/expression/leaf/LeafOperand.java      |   42 +
 .../query/expression/leaf/TimeSeriesOperand.java   |  164 +
 .../query/expression/multi/FunctionExpression.java |  472 ++
 .../db/query/expression/unary/ConstantOperand.java |  159 -
 .../query/expression/unary/FunctionExpression.java |  462 --
 .../db/query/expression/unary/InExpression.java    |   86 +
 .../db/query/expression/unary/LikeExpression.java  |   69 +
 .../query/expression/unary/LogicNotExpression.java |  186 +-
 .../query/expression/unary/NegationExpression.java |  188 +-
 .../query/expression/unary/RegularExpression.java  |   81 +
 .../query/expression/unary/TimeSeriesOperand.java  |  180 -
 .../db/query/expression/unary/UnaryExpression.java |  196 +
 .../db/query/factory/AggregateResultFactory.java   |   17 +-
 .../query/reader/series/SeriesAggregateReader.java |   20 +-
 .../reader/series/SeriesRawDataBatchReader.java    |   39 +-
 .../iotdb/db/query/reader/series/SeriesReader.java |    3 +
 .../reader/series/SeriesReaderByTimestamp.java     |    6 +-
 .../api/customizer/parameter/UDFParameters.java    |    2 +-
 .../db/query/udf/builtin/BuiltinFunction.java      |    5 +-
 .../udf/builtin/UDTFEqualSizeBucketAggSample.java  |  487 ++
 .../udf/builtin/UDTFEqualSizeBucketM4Sample.java   |  238 +
 .../builtin/UDTFEqualSizeBucketRandomSample.java   |   68 +
 .../udf/builtin/UDTFEqualSizeBucketSample.java     |   48 +
 .../db/query/udf/core/executor/UDTFContext.java    |    2 +-
 .../db/query/udf/core/executor/UDTFExecutor.java   |    2 +-
 .../udf/core/layer/ConstantIntermediateLayer.java  |    2 +-
 .../query/udf/core/layer/LayerMemoryAssigner.java  |    2 +-
 .../udf/core/reader/ConstantLayerPointReader.java  |    2 +-
 .../query/udf/service/UDFRegistrationService.java  |    2 +-
 .../java/org/apache/iotdb/db/service/DataNode.java |  197 +-
 .../iotdb/db/service/DataNodeManagementServer.java |  102 -
 .../db/service/DataNodeManagementServerMBean.java  |   22 -
 .../iotdb/db/service/InfluxDBRPCService.java       |    5 -
 .../apache/iotdb/db/service/InternalService.java   |    9 +-
 .../iotdb/db/service/InternalServiceImpl.java      |  112 -
 .../db/service/InternalServiceThriftHandler.java   |   44 -
 .../java/org/apache/iotdb/db/service/IoTDB.java    |   20 +-
 .../org/apache/iotdb/db/service/RPCService.java    |    5 -
 .../iotdb/db/service/metrics/MetricsService.java   |    4 +-
 .../handler/DataNodeManagementServiceHandler.java  |   58 -
 .../handler/InternalServiceThriftHandler.java      |   44 +
 .../thrift/impl/DataNodeManagementServiceImpl.java |  146 -
 .../thrift/impl/DataNodeTSIServiceImpl.java        |   80 +-
 .../service/thrift/impl/InternalServiceImpl.java   |  241 +
 .../db/service/thrift/impl/TSServiceImpl.java      |   47 +-
 .../apache/iotdb/db/sync/conf/SyncConstant.java    |   54 +-
 .../apache/iotdb/db/sync/conf/SyncPathUtil.java    |   81 +-
 .../iotdb/db/sync/pipedata/DeletionPipeData.java   |    2 +-
 .../sync/pipedata/queue/BufferedPipeDataQueue.java |   34 +-
 .../db/sync/pipedata/queue/PipeDataQueue.java      |    2 +
 .../iotdb/db/sync/receiver/ReceiverService.java    |   70 +-
 .../db/sync/receiver/collector/Collector.java      |    4 +-
 .../db/sync/receiver/manager/ReceiverManager.java  |  130 +-
 .../db/sync/receiver/recovery/ReceiverLog.java     |   20 +-
 .../receiver/recovery/ReceiverLogAnalyzer.java     |   34 +-
 .../db/sync/sender/manager/SchemaSyncManager.java  |   24 +-
 .../iotdb/db/sync/sender/pipe/IoTDBPipeSink.java   |   18 +
 .../org/apache/iotdb/db/sync/sender/pipe/Pipe.java |   10 +
 .../iotdb/db/sync/sender/pipe/TsFilePipe.java      |   61 +-
 .../db/sync/sender/recovery/SenderLogAnalyzer.java |   25 +-
 .../db/sync/sender/recovery/SenderLogger.java      |   12 +-
 .../db/sync/sender/recovery/TsFilePipeLogger.java  |    2 +-
 .../iotdb/db/sync/sender/service/MsgManager.java   |  114 +
 .../db/sync/sender/service/SenderService.java      |   83 +-
 .../db/sync/sender/service/TransportHandler.java   |   47 +-
 .../db/sync/transport/client/TransportClient.java  |   56 +-
 .../transport/server/TransportServerManager.java   |    5 -
 .../transport/server/TransportServiceImpl.java     |   63 +-
 .../apache/iotdb/db/tools/TsFileSketchTool.java    |    6 +-
 .../org/apache/iotdb/db/tools/mlog/MLogParser.java |  251 --
 .../apache/iotdb/db/tools/schema/MLogParser.java   |  251 ++
 .../db/tools/schema/SchemaFileSketchTool.java      |  165 +
 .../apache/iotdb/db/utils/QueryDataSetUtils.java   |   89 +-
 .../timerangeiterator/AggrWindowIterator.java      |   38 +-
 .../timerangeiterator/ITimeRangeIterator.java      |    8 +-
 .../timerangeiterator/PreAggrWindowIterator.java   |   38 +-
 .../PreAggrWindowWithNaturalMonthIterator.java     |   50 +-
 .../SingleTimeWindowIterator.java                  |   65 +
 .../java/org/apache/iotdb/db/wal/WALManager.java   |   33 +-
 .../iotdb/db/wal/buffer/AbstractWALBuffer.java     |    5 -
 .../org/apache/iotdb/db/wal/buffer/WALBuffer.java  |  148 +-
 .../iotdb/db/wal/checkpoint/CheckpointManager.java |   28 +
 .../java/org/apache/iotdb/db/wal/node/WALNode.java |   85 +-
 .../iotdb/db/wal/recover/WALNodeRecoverTask.java   |    4 +
 .../iotdb/db/wal/recover/WALRecoverManager.java    |    4 +
 .../db/wal/recover/file/TsFilePlanRedoer.java      |   19 +-
 .../apache/iotdb/db/wal/utils/WALWriteUtils.java   |   42 +
 .../db/engine/cache/BloomFilterCacheTest.java      |    5 +-
 .../compaction/inner/InnerCompactionTest.java      |   20 +-
 .../inner/ReadChunkCompactionPerformerOldTest.java |    2 +-
 .../db/engine/storagegroup/DataRegionTest.java     |  922 ++++
 .../engine/storagegroup/TsFileProcessorTest.java   |   17 +
 .../engine/storagegroup/TsFileProcessorV2Test.java |  482 ++
 .../db/metadata/cache/DataNodeSchemaCacheTest.java |   95 +
 .../apache/iotdb/db/metadata/mnode/MNodeTest.java  |    4 +-
 .../iotdb/db/metadata/mtree/MTreeBelowSGTest.java  |   18 +-
 .../metadata/mtree/schemafile/SchemaFileTest.java  |    7 +-
 .../db/metadata/mtree/schemafile/SegmentTest.java  |    5 +-
 .../schemaregion/rocksdb/MRocksDBUnitTest.java     |   29 +-
 .../rocksdb/RSchemaRegionAdvancedTest.java         |    4 +-
 .../db/metadata/upgrade/MetadataUpgradeTest.java   |    7 +
 .../apache/iotdb/db/mpp/buffer/SinkHandleTest.java |  265 +-
 .../iotdb/db/mpp/buffer/SourceHandleTest.java      |  301 +-
 .../apache/iotdb/db/mpp/buffer/StubSinkHandle.java |   99 +
 .../db/mpp/common/schematree/SchemaTreeTest.java   |  222 +-
 .../db/mpp/execution/ConfigExecutionTest.java      |  170 +
 .../iotdb/db/mpp/execution/DataDriverTest.java     |   39 +-
 .../apache/iotdb/db/mpp/memory/MemoryPoolTest.java |   25 +
 .../db/mpp/operator/DeviceViewOperatorTest.java    |  198 +
 .../iotdb/db/mpp/operator/LimitOperatorTest.java   |   26 +-
 .../db/mpp/operator/MultiColumnMergerTest.java     |  208 +
 .../db/mpp/operator/SchemaScanOperatorTest.java    |  242 -
 .../operator/SeriesAggregateScanOperatorTest.java  |  384 ++
 .../db/mpp/operator/SeriesScanOperatorTest.java    |   25 +-
 .../db/mpp/operator/SingleColumnMergerTest.java    |  209 +
 .../db/mpp/operator/TimeJoinOperatorTest.java      |  148 +-
 .../operator/schema/CountMergeOperatorTest.java    |  193 +
 .../operator/schema/SchemaCountOperatorTest.java   |  231 +
 .../operator/schema/SchemaFetchOperatorTest.java   |    2 +-
 .../operator/schema/SchemaScanOperatorTest.java    |  253 ++
 .../db/mpp/schedule/DefaultTaskSchedulerTest.java  |  203 +-
 .../iotdb/db/mpp/schedule/DriverSchedulerTest.java |  164 +
 .../DriverTaskTimeoutSentinelThreadTest.java       |  269 ++
 .../schedule/FragmentInstanceSchedulerTest.java    |  148 -
 .../FragmentInstanceTimeoutSentinelTest.java       |  275 --
 .../db/mpp/schedule/queue/L1PriorityQueueTest.java |   22 +
 .../db/mpp/schedule/queue/L2PriorityQueueTest.java |   27 +
 .../db/mpp/sql/plan/DistributionPlannerTest.java   |  246 +-
 .../db/mpp/sql/plan/FragmentInstanceIdTest.java    |    2 +-
 .../db/mpp/sql/plan/FragmentInstanceSerdeTest.java |   61 +-
 .../iotdb/db/mpp/sql/plan/LogicalPlanPrinter.java  |   11 +-
 .../iotdb/db/mpp/sql/plan/LogicalPlannerTest.java  |  441 +-
 .../db/mpp/sql/plan/QueryLogicalPlanUtil.java      |    8 +
 .../iotdb/db/mpp/sql/plan/QueryPlannerTest.java    |   35 +-
 .../read/DeviceSchemaScanNodeSerdeTest.java        |   77 +
 .../metadata/read/SchemaCountNodeSerdeTest.java    |   92 +
 .../metadata/read/ShowDevicesNodeSerdeTest.java    |   42 -
 .../read/TimeSeriesSchemaScanNodeSerdeTest.java    |   80 +
 .../plan/node/process/AggregateNodeSerdeTest.java  |   19 +-
 .../node/process/DeviceMergeNodeSerdeTest.java     |   24 +-
 .../plan/node/process/ExchangeNodeSerdeTest.java   |   32 +-
 .../sql/plan/node/process/FillNodeSerdeTest.java   |   25 +-
 .../sql/plan/node/process/FilterNodeSerdeTest.java |   25 +-
 .../plan/node/process/FilterNullNodeSerdeTest.java |   30 +-
 .../node/process/GroupByLevelNodeSerdeTest.java    |   32 +-
 .../sql/plan/node/process/LimitNodeSerdeTest.java  |   32 +-
 .../sql/plan/node/process/OffsetNodeSerdeTest.java |   51 +-
 .../sql/plan/node/process/SortNodeSerdeTest.java   |   31 +-
 .../plan/node/process/TimeJoinNodeSerdeTest.java   |   36 +-
 .../plan/node/sink/FragmentSinkNodeSerdeTest.java  |   13 +-
 .../source/SeriesAggregateScanNodeSerdeTest.java   |   17 +-
 .../plan/node/source/SeriesScanNodeSerdeTest.java  |   10 +-
 .../write/InsertMultiTabletsNodeSerdeTest.java     |  101 +
 .../plan/node/write/InsertRowNodeSerdeTest.java    |  136 +-
 .../plan/node/write/InsertRowsNodeSerdeTest.java   |   72 +
 .../write/InsertRowsOfOneDeviceNodeSerdeTest.java  |   81 +
 .../plan/node/write/InsertTabletNodeSerdeTest.java |   98 +-
 .../influxdb/sql/InfluxDBLogicalGeneratorTest.java |    8 +-
 .../db/protocol/mqtt/PayloadFormatManagerTest.java |    2 +-
 .../iotdb/db/protocol/mqtt/PublishHandlerTest.java |   14 +-
 .../iotdb/db/qp/physical/SerializedSizeTest.java   |    2 +-
 .../dataset/EngineDataSetWithValueFilterTest.java  |    5 +-
 .../dataset/groupby/GroupByTimeDataSetTest.java    |   74 +-
 .../query/reader/series/SeriesReaderTestUtil.java  |    8 +
 .../SerializableBinaryTVListTest.java              |    3 +-
 .../datastructure/SerializableFloatTVListTest.java |    3 +-
 .../datastructure/SerializableIntTVListTest.java   |    3 +-
 .../datastructure/SerializableLongTVListTest.java  |    3 +-
 .../valuefilter/RawQueryWithValueFilterTest.java   |    4 +-
 .../iotdb/db/service/InternalServiceImplTest.java  |  173 +-
 .../sync/pipedata/BufferedPipeDataQueueTest.java   |   29 +-
 .../iotdb/db/sync/pipedata/PipeDataTest.java       |    7 +-
 .../sync/receiver/manager/ReceiverManagerTest.java |   14 +-
 .../receiver/recovery/ReceiverLogAnalyzerTest.java |   23 +-
 .../db/sync/transport/TransportServiceTest.java    |    5 +-
 .../org/apache/iotdb/db/tools/MLogParserTest.java  |    2 +-
 .../iotdb/db/tools/SchemaFileSketchTest.java       |  158 +
 .../iotdb/db/tools/TsFileSelfCheckToolTest.java    |    8 +-
 .../iotdb/db/utils/MathQueryDataSetUtilsTest.java  |    2 +-
 .../org/apache/iotdb/db/utils/MemUtilsTest.java    |    8 +-
 .../iotdb/db/utils/TimeRangeIteratorTest.java      |  230 +-
 .../org/apache/iotdb/db/wal/DisableWALTest.java    |    2 +-
 .../org/apache/iotdb/db/wal/WALManagerTest.java    |   12 +-
 .../iotdb/db/wal/buffer/WALBufferCommonTest.java   |    6 +-
 .../db/wal/checkpoint/CheckpointManagerTest.java   |    7 +-
 .../apache/iotdb/db/wal/io/CheckpointFileTest.java |    6 +-
 .../org/apache/iotdb/db/wal/io/WALFileTest.java    |    5 +-
 .../apache/iotdb/db/wal/node/WALFakeNodeTest.java  |   21 +-
 .../org/apache/iotdb/db/wal/node/WALNodeTest.java  |   19 +-
 .../db/wal/recover/WALRecoverManagerTest.java      |   14 +-
 .../file/SealedTsFileRecoverPerformerTest.java     |    5 +-
 .../db/wal/recover/file/TsFilePlanRedoerTest.java  |    4 +-
 .../file/UnsealedTsFileRecoverPerformerTest.java   |    5 +-
 .../datanode1conf/iotdb-engine.properties          |   37 +
 .../test/resources/datanode1conf/iotdb-metric.yml  |   21 +
 .../src/test/resources/datanode1conf/logback.xml   |  302 ++
 .../datanode2conf/iotdb-engine.properties          |   37 +
 .../test/resources/datanode2conf/iotdb-metric.yml  |   21 +
 .../src/test/resources/datanode2conf/logback.xml   |  302 ++
 .../datanode3conf/iotdb-engine.properties          |   37 +
 .../test/resources/datanode3conf/iotdb-metric.yml  |   21 +
 .../src/test/resources/datanode3conf/logback.xml   |  302 ++
 .../iotdb/rpc/ConfigNodeConnectionException.java   |   26 +
 .../org/apache/iotdb/rpc/RedirectException.java    |   14 +-
 .../main/java/org/apache/iotdb/rpc/RpcUtils.java   |    4 +-
 .../java/org/apache/iotdb/session/Session.java     |   52 +-
 .../apache/iotdb/session/SessionConnection.java    |   16 +-
 .../apache/iotdb/session/util/SessionUtils.java    |   12 +-
 .../apache/iotdb/session/SessionCacheLeaderUT.java |   28 +-
 spark-iotdb-connector/pom.xml                      |    2 +-
 .../java/org/apache/iotdb/db/sql/SingleNodeIT.java |    8 +-
 thrift-cluster/pom.xml                             |    5 +
 thrift-commons/pom.xml                             |   62 +
 thrift-commons/src/main/thrift/common.thrift       |   70 +
 thrift-confignode/pom.xml                          |    2 +-
 .../src/main/thrift/confignode.thrift              |   76 +-
 thrift-procedure/pom.xml                           |   66 +
 thrift-procedure/src/main/thrift/procedure.thrift  |   42 +
 thrift-sync/src/main/thrift/transport.thrift       |    6 +-
 thrift/pom.xml                                     |    5 +
 thrift/src/main/thrift/common.thrift               |   47 -
 thrift/src/main/thrift/management.thrift           |   77 -
 thrift/src/main/thrift/mpp.thrift                  |   99 +-
 .../iotdb/tsfile/read/TsFileSequenceReader.java    |   18 +-
 .../apache/iotdb/tsfile/read/common/TimeRange.java |   24 +-
 .../iotdb/tsfile/read/common/block/TsBlock.java    |   58 +-
 .../tsfile/read/common/block/TsBlockBuilder.java   |   20 +-
 .../common/block/column/BinaryColumnBuilder.java   |   32 +-
 .../common/block/column/BooleanColumnBuilder.java  |   32 +-
 .../read/common/block/column/ColumnBuilder.java    |   22 +-
 .../common/block/column/DoubleColumnBuilder.java   |   32 +-
 .../common/block/column/FloatColumnBuilder.java    |   26 +-
 .../read/common/block/column/IntColumnBuilder.java |   32 +-
 .../common/block/column/LongColumnBuilder.java     |   32 +-
 .../read/common/block/column/NullColumn.java       |   50 +
 .../block/column/RunLengthEncodedColumn.java       |   16 +-
 .../read/common/block/column/TimeColumn.java       |    4 +
 .../common/block/column/TimeColumnBuilder.java     |   21 +-
 .../read/controller/MetadataQuerierByFileImpl.java |   17 +-
 .../query/dataset/DataSetWithoutTimeGenerator.java |    6 +-
 .../apache/iotdb/tsfile/utils/BitConstructor.java  |    1 -
 .../iotdb/tsfile/utils/ReadWriteIOUtils.java       |   12 +
 .../tsfile/v2/read/TsFileSequenceReaderForV2.java  |   17 +-
 .../apache/iotdb/tsfile/write/TsFileWriter.java    |    4 -
 .../tsfile/common/block/NullColumnUnitTest.java    |  120 +
 .../iotdb/tsfile/common/block/TsBlockTest.java     |   12 +-
 .../tsfile/read/TsFileSequenceReaderTest.java      |   47 +
 .../iotdb/tsfile/read/common/BatchDataTest.java    |    4 +-
 .../write/writer/RestorableTsFileIOWriterTest.java |    5 +-
 zeppelin-interpreter/pom.xml                       |    1 -
 938 files changed, 62023 insertions(+), 26275 deletions(-)

diff --cc LICENSE
index 6919175829,e7cbf55047..2cabd6a47c
--- a/LICENSE
+++ b/LICENSE
@@@ -235,12 -235,3 +235,12 @@@ Copyright: 2016-2018 Michael Burman and
  Project page: https://github.com/burmanm/gorilla-tsc
  License: http://www.apache.org/licenses/LICENSE-2.0
  
 +--------------------------------------------------------------------------------
 +
 +The following files include code modified from Eclipse Collections project.
 +
 +./tsfile/src/main/java/org/apache/iotdb/tsfile/utils/ByteArrayList.java
 +
 +Copyright: 2021 Goldman Sachs
 +Project page: https://www.eclipse.org/collections
- License: https://github.com/eclipse/eclipse-collections/blob/master/LICENSE-EDL-1.0.txt
++License: https://github.com/eclipse/eclipse-collections/blob/master/LICENSE-EDL-1.0.txt
diff --cc tsfile/src/main/java/org/apache/iotdb/tsfile/utils/BitConstructor.java
index 5441c85071,307797bb37..7800fa9831
--- a/tsfile/src/main/java/org/apache/iotdb/tsfile/utils/BitConstructor.java
+++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/utils/BitConstructor.java
@@@ -16,9 -16,11 +16,8 @@@
   * specific language governing permissions and limitations
   * under the License.
   */
--
  package org.apache.iotdb.tsfile.utils;
  
 -import org.eclipse.collections.impl.list.mutable.primitive.ByteArrayList;
 -
  public class BitConstructor {
  
    private static final int BITS_IN_A_BYTE = 8;