This is an automated email from the ASF dual-hosted git repository. jiangtian pushed a commit to branch strong_password in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit 5c004404ec703c092321ed988b291142a92ac04e Merge: cab0ac53050 966cfc73348 Author: Tian Jiang <[email protected]> AuthorDate: Wed Jul 9 15:31:42 2025 +0800 Merge branch 'master' into strong_password # Conflicts: # integration-test/src/test/java/org/apache/iotdb/confignode/it/IoTDBConfigNodeSnapshotIT.java # iotdb-client/session/src/main/java/org/apache/iotdb/session/util/SessionUtils.java dependencies.json | 14 +-- .../confignode/it/IoTDBConfigNodeSnapshot2IT.java | 47 +++++++++ .../confignode/it/IoTDBConfigNodeSnapshotIT.java | 5 +- .../db/it/IoTDBMultiTAGsWithAttributesTableIT.java | 8 +- .../iotdb/session/it/IoTDBSessionSimpleIT.java | 16 +++ .../java/org/apache/iotdb/session/Session.java | 17 ++-- .../apache/iotdb/session/util/SessionUtils.java | 105 +++++++++++--------- .../iotdb/session/util/SessionUtilsTest.java | 26 ++++- iotdb-core/ainode/ainode/core/config.py | 3 +- iotdb-core/ainode/ainode/core/constant.py | 3 + iotdb-core/ainode/ainode/core/exception.py | 5 + iotdb-core/ainode/ainode/core/handler.py | 5 +- iotdb-core/ainode/ainode/core/ingress/iotdb.py | 1 + .../ainode/core/manager/inference_manager.py | 27 +++--- .../ainode/ainode/core/manager/model_manager.py | 19 ++-- .../ainode/core/model/built_in_model_factory.py | 10 +- .../ainode/ainode/core/model/model_storage.py | 108 +++++++++++++++------ iotdb-core/confignode/pom.xml | 2 +- .../iotdb/confignode/manager/ModelManager.java | 7 +- .../protocol/IoTDBConfigRegionAirGapConnector.java | 5 + .../protocol/IoTDBConfigRegionConnector.java | 5 + .../receiver/protocol/IoTDBConfigNodeReceiver.java | 3 + .../iotdb/confignode/persistence/TriggerInfo.java | 3 - .../iotdb/confignode/persistence/UDFInfo.java | 3 - .../procedure/impl/model/DropModelProcedure.java | 57 +++++------ iotdb-core/consensus/pom.xml | 14 +-- iotdb-core/datanode/pom.xml | 2 +- .../iotdb/db/exception/load/LoadFileException.java | 4 + .../task/builder/PipeDataNodeTaskBuilder.java | 68 ++++++++----- .../airgap/IoTDBDataRegionAirGapConnector.java | 31 ++++++ .../airgap/IoTDBSchemaRegionAirGapConnector.java | 5 + .../async/IoTDBDataRegionAsyncConnector.java | 16 ++- .../async/handler/PipeTransferTsFileHandler.java | 6 ++ .../thrift/sync/IoTDBDataRegionSyncConnector.java | 21 ++++ .../thrift/sync/IoTDBSchemaRegionConnector.java | 5 + .../connector/util/builder/PipeTsFileBuilder.java | 40 +++++--- .../dataregion/IoTDBDataRegionExtractor.java | 10 +- ...oricalDataRegionTsFileAndDeletionExtractor.java | 20 +++- .../pipe/metric/overview/PipeResourceMetrics.java | 14 +++ .../pipeconsensus/PipeConsensusReceiver.java | 75 +++++++------- .../protocol/thrift/IoTDBDataNodeReceiver.java | 5 + .../iotdb/db/protocol/mqtt/MPPPublishHandler.java | 4 + .../fragment/FragmentInstanceExecution.java | 6 +- .../relational/AbstractMergeSortJoinOperator.java | 14 +++ .../queryengine/plan/analyze/AnalyzeVisitor.java | 24 +++-- .../config/executor/ClusterConfigTaskExecutor.java | 6 +- .../plan/planner/LogicalPlanBuilder.java | 4 +- .../plan/relational/planner/QueryPlanner.java | 2 +- .../metadata/view/CreateLogicalViewStatement.java | 13 ++- .../org/apache/iotdb/db/service/MQTTService.java | 2 +- .../metrics/IoTDBInternalLocalReporter.java | 2 +- .../dataregion/snapshot/SnapshotLoader.java | 67 +++++++++---- .../tsfile/generator/TsFileNameGenerator.java | 63 ++++++------ .../allocation/AbstractNodeAllocationStrategy.java | 13 +-- .../db/storageengine/load/LoadTsFileManager.java | 12 ++- .../storageengine/load/disk/ILoadDiskSelector.java | 3 +- .../InheritSystemMultiDisksStrategySelector.java | 42 +++++--- .../db/storageengine/load/disk/MinIOSelector.java | 3 +- .../load/limiter/LoadTsFileRateLimiter.java | 64 ++---------- .../storageengine/rescon/disk/FolderManager.java | 63 ++++++++++++ .../db/storageengine/rescon/disk/TierManager.java | 4 + .../rescon/disk/strategy/DirectoryStrategy.java | 34 +++++++ .../strategy/MaxDiskUsableSpaceFirstStrategy.java | 3 + .../MinFolderOccupiedSpaceFirstStrategy.java | 4 + .../strategy/RandomOnDiskUsableSpaceStrategy.java | 4 + .../rescon/disk/strategy/SequenceStrategy.java | 4 +- .../apache/iotdb/db/utils/ErrorHandlingUtils.java | 3 +- .../iotdb/db/utils/sort/FileSpillerReader.java | 4 +- .../process/TableStreamSortOperatorTest.java | 11 +-- iotdb-core/node-commons/pom.xml | 2 +- .../iotdb/commons/client/ainode/AINodeClient.java | 5 +- .../apache/iotdb/commons/conf/CommonConfig.java | 16 +++ .../iotdb/commons/pipe/config/PipeConfig.java | 6 ++ .../iotdb/commons/pipe/config/PipeDescriptor.java | 6 ++ .../config/constant/PipeConnectorConstant.java | 5 + .../connector/limiter/GlobalRPCRateLimiter.java} | 17 ++-- .../pipe/connector/limiter/GlobalRateLimiter.java | 14 +-- .../connector/limiter/TsFileSendRateLimiter.java} | 29 ++++-- .../connector/protocol/IoTDBAirGapConnector.java | 3 + .../pipe/connector/protocol/IoTDBConnector.java | 4 +- .../connector/protocol/IoTDBSslSyncConnector.java | 3 + .../commons/pipe/receiver/IoTDBFileReceiver.java | 66 +++++++------ .../iotdb/commons/service/metric/enums/Metric.java | 1 + .../apache/iotdb/commons/utils/JVMCommonUtils.java | 56 ++++++----- .../thrift-ainode/src/main/thrift/ainode.thrift | 6 +- pom.xml | 20 ++-- 86 files changed, 1076 insertions(+), 501 deletions(-) diff --cc integration-test/src/test/java/org/apache/iotdb/confignode/it/IoTDBConfigNodeSnapshotIT.java index 4f3453b3547,1c8b7c5fb29..3c373dfbf63 --- a/integration-test/src/test/java/org/apache/iotdb/confignode/it/IoTDBConfigNodeSnapshotIT.java +++ b/integration-test/src/test/java/org/apache/iotdb/confignode/it/IoTDBConfigNodeSnapshotIT.java @@@ -92,7 -91,7 +91,7 @@@ public class IoTDBConfigNodeSnapshotIT .getConfig() .getCommonConfig() .setConfigNodeConsensusProtocolClass(ConsensusFactory.RATIS_CONSENSUS) - .setConfigNodeRatisSnapshotTriggerThreshold(testRatisSnapshotTriggerThreshold) - .setConfigNodeRatisSnapshotTriggerThreshold(100) ++ .setConfigNodeRatisSnapshotTriggerThreshold(1000) .setTimePartitionInterval(testTimePartitionInterval); // Init 2C2D cluster environment diff --cc iotdb-client/session/src/main/java/org/apache/iotdb/session/util/SessionUtils.java index cde07acd834,7a43578b975..1e3249ee8b6 --- a/iotdb-client/session/src/main/java/org/apache/iotdb/session/util/SessionUtils.java +++ b/iotdb-client/session/src/main/java/org/apache/iotdb/session/util/SessionUtils.java @@@ -204,54 -208,60 +208,63 @@@ public class SessionUtils * @param buffer buffer to insert * @throws IoTDBConnectionException */ - private static void putValues( - List<TSDataType> types, List<Object> values, ByteBuffer buffer, List<String> measurements) + public static void putValues( - List<TSDataType> types, List<? extends Object> values, ByteBuffer buffer) ++ List<TSDataType> types, ++ List<? extends Object> values, ++ ByteBuffer buffer, ++ List<String> measurements) throws IoTDBConnectionException { for (int i = 0; i < values.size(); i++) { - if (values.get(i) == null) { - ReadWriteIOUtils.write(TYPE_NULL, buffer); - continue; - } - ReadWriteIOUtils.write(types.get(i), buffer); - switch (types.get(i)) { - case BOOLEAN: - ReadWriteIOUtils.write((Boolean) values.get(i), buffer); - break; - case INT32: - ReadWriteIOUtils.write((Integer) values.get(i), buffer); - break; - case DATE: - ReadWriteIOUtils.write( - DateUtils.parseDateExpressionToInt((LocalDate) values.get(i)), buffer); - break; - case INT64: - case TIMESTAMP: - ReadWriteIOUtils.write((Long) values.get(i), buffer); - break; - case FLOAT: - ReadWriteIOUtils.write((Float) values.get(i), buffer); - break; - case DOUBLE: - ReadWriteIOUtils.write((Double) values.get(i), buffer); - break; - case TEXT: - case STRING: - byte[] bytes; - if (values.get(i) instanceof Binary) { + try { + if (values.get(i) == null) { + ReadWriteIOUtils.write(TYPE_NULL, buffer); + continue; + } + ReadWriteIOUtils.write(types.get(i), buffer); + switch (types.get(i)) { + case BOOLEAN: + ReadWriteIOUtils.write((Boolean) values.get(i), buffer); + break; + case INT32: + ReadWriteIOUtils.write((Integer) values.get(i), buffer); + break; + case DATE: + ReadWriteIOUtils.write( + DateUtils.parseDateExpressionToInt((LocalDate) values.get(i)), buffer); + break; + case INT64: + case TIMESTAMP: + ReadWriteIOUtils.write((Long) values.get(i), buffer); + break; + case FLOAT: + ReadWriteIOUtils.write((Float) values.get(i), buffer); + break; + case DOUBLE: + ReadWriteIOUtils.write((Double) values.get(i), buffer); + break; + case TEXT: + case STRING: + byte[] bytes; + if (values.get(i) instanceof Binary) { + bytes = ((Binary) values.get(i)).getValues(); + } else { + bytes = ((String) values.get(i)).getBytes(TSFileConfig.STRING_CHARSET); + } + ReadWriteIOUtils.write(bytes.length, buffer); + buffer.put(bytes); + break; + case BLOB: bytes = ((Binary) values.get(i)).getValues(); - } else { - bytes = ((String) values.get(i)).getBytes(TSFileConfig.STRING_CHARSET); - } - ReadWriteIOUtils.write(bytes.length, buffer); - buffer.put(bytes); - break; - case BLOB: - bytes = ((Binary) values.get(i)).getValues(); - ReadWriteIOUtils.write(bytes.length, buffer); - buffer.put(bytes); - break; - default: - throw new IoTDBConnectionException(MSG_UNSUPPORTED_DATA_TYPE + types.get(i)); + ReadWriteIOUtils.write(bytes.length, buffer); + buffer.put(bytes); + break; + default: + throw new IoTDBConnectionException(MSG_UNSUPPORTED_DATA_TYPE + types.get(i)); + } + } catch (Throwable e) { + LOGGER.error( + "Cannot put values for measurement {}, type={}", measurements.get(i), types.get(i), e); + throw e; } } buffer.flip();
