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

justinchen pushed a commit to branch login-restart
in repository https://gitbox.apache.org/repos/asf/iotdb.git


The following commit(s) were added to refs/heads/login-restart by this push:
     new 421af6e0d6c login
421af6e0d6c is described below

commit 421af6e0d6c08bba0182fdf769c75c19eaec287a
Author: Caideyipi <[email protected]>
AuthorDate: Wed Feb 11 11:08:49 2026 +0800

    login
---
 .../manager/pipe/source/IoTDBConfigRegionSource.java          |  3 +++
 .../db/pipe/source/dataregion/IoTDBDataRegionSource.java      |  3 +++
 .../db/pipe/source/schemaregion/IoTDBSchemaRegionSource.java  |  3 +++
 .../org/apache/iotdb/commons/pipe/source/IoTDBSource.java     | 11 +++++++++++
 4 files changed, 20 insertions(+)

diff --git 
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/pipe/source/IoTDBConfigRegionSource.java
 
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/pipe/source/IoTDBConfigRegionSource.java
index 60512887703..47507c9a33b 100644
--- 
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/pipe/source/IoTDBConfigRegionSource.java
+++ 
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/pipe/source/IoTDBConfigRegionSource.java
@@ -108,6 +108,9 @@ public class IoTDBConfigRegionSource extends 
IoTDBNonDataRegionSource {
     PipeConfigNodeRemainingTimeMetrics.getInstance().register(this);
   }
 
+  @Override
+  protected void login() {}
+
   @Override
   protected AbstractPipeListeningQueue getListeningQueue() {
     return PipeConfigNodeAgent.runtime().listener();
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/source/dataregion/IoTDBDataRegionSource.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/source/dataregion/IoTDBDataRegionSource.java
index d1ceb48e8aa..aeb817b89ec 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/source/dataregion/IoTDBDataRegionSource.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/source/dataregion/IoTDBDataRegionSource.java
@@ -546,6 +546,9 @@ public class IoTDBDataRegionSource extends IoTDBSource {
     PipeDataNodeSinglePipeMetrics.getInstance().register(this);
   }
 
+  @Override
+  protected void login() {}
+
   @Override
   public void start() throws Exception {
     if (hasNoExtractionNeed || hasBeenStarted.get()) {
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/source/schemaregion/IoTDBSchemaRegionSource.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/source/schemaregion/IoTDBSchemaRegionSource.java
index b70ff4b7d8d..c4795f8bd04 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/source/schemaregion/IoTDBSchemaRegionSource.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/source/schemaregion/IoTDBSchemaRegionSource.java
@@ -146,6 +146,9 @@ public class IoTDBSchemaRegionSource extends 
IoTDBNonDataRegionSource {
     super.start();
   }
 
+  @Override
+  protected void login() {}
+
   @Override
   protected boolean needTransferSnapshot() {
     // Note: the schema region will transfer snapshot if there are table or 
tree planNode captured.
diff --git 
a/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/pipe/source/IoTDBSource.java
 
b/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/pipe/source/IoTDBSource.java
index 91a149c9f66..7e0ba8ca4f2 100644
--- 
a/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/pipe/source/IoTDBSource.java
+++ 
b/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/pipe/source/IoTDBSource.java
@@ -34,16 +34,20 @@ import 
org.apache.iotdb.pipe.api.customizer.parameter.PipeParameterValidator;
 import org.apache.iotdb.pipe.api.customizer.parameter.PipeParameters;
 import org.apache.iotdb.pipe.api.exception.PipeParameterNotValidException;
 
+import javax.annotation.Nonnull;
+
 import java.util.Arrays;
 import java.util.Objects;
 import java.util.Set;
 import java.util.concurrent.atomic.AtomicBoolean;
 import java.util.stream.Collectors;
 
+import static 
org.apache.iotdb.commons.pipe.config.constant.PipeSourceConstant.EXTRACTOR_IOTDB_PASSWORD_KEY;
 import static 
org.apache.iotdb.commons.pipe.config.constant.PipeSourceConstant.EXTRACTOR_IOTDB_SKIP_IF_NO_PRIVILEGES;
 import static 
org.apache.iotdb.commons.pipe.config.constant.PipeSourceConstant.EXTRACTOR_IOTDB_USERNAME_KEY;
 import static 
org.apache.iotdb.commons.pipe.config.constant.PipeSourceConstant.EXTRACTOR_IOTDB_USER_KEY;
 import static 
org.apache.iotdb.commons.pipe.config.constant.PipeSourceConstant.EXTRACTOR_SKIP_IF_KEY;
+import static 
org.apache.iotdb.commons.pipe.config.constant.PipeSourceConstant.SOURCE_IOTDB_PASSWORD_KEY;
 import static 
org.apache.iotdb.commons.pipe.config.constant.PipeSourceConstant.SOURCE_IOTDB_USERNAME_KEY;
 import static 
org.apache.iotdb.commons.pipe.config.constant.PipeSourceConstant.SOURCE_IOTDB_USER_KEY;
 import static 
org.apache.iotdb.commons.pipe.config.constant.PipeSourceConstant.SOURCE_SKIP_IF_KEY;
@@ -199,8 +203,15 @@ public abstract class IoTDBSource implements PipeExtractor 
{
     userEntity.setAuditLogOperation(AuditLogOperation.QUERY);
 
     skipIfNoPrivileges = getSkipIfNoPrivileges(parameters);
+    final String password =
+        parameters.getStringByKeys(EXTRACTOR_IOTDB_PASSWORD_KEY, 
SOURCE_IOTDB_PASSWORD_KEY);
+    if (Objects.nonNull(password)) {
+      login(password);
+    }
   }
 
+  protected abstract void login(final @Nonnull String password);
+
   public static boolean getSkipIfNoPrivileges(final PipeParameters 
extractorParameters) {
     final String extractorSkipIfValue =
         extractorParameters

Reply via email to