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();

Reply via email to