This is an automated email from the ASF dual-hosted git repository. jackietien pushed a commit to branch rc/1.3.5 in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit 9da931acd609a0cbcf3fc78094507deaa4258f9d Author: Zhenyu Luo <[email protected]> AuthorDate: Mon Aug 4 10:30:56 2025 +0800 [To dev/1.3] Pipe: Fixed the issue that frequent logins on the receiving end caused indicator leaks #16076 (#16085) * Pipe: Fixed the issue that frequent logins on the receiving end caused indicator leaks * fix * spotless * spotless * spotless * spotless --- .../protocol/thrift/IoTDBDataNodeReceiver.java | 24 ++++++++++++++-------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/receiver/protocol/thrift/IoTDBDataNodeReceiver.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/receiver/protocol/thrift/IoTDBDataNodeReceiver.java index 9c841200ec2..4070773b8aa 100644 --- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/receiver/protocol/thrift/IoTDBDataNodeReceiver.java +++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/receiver/protocol/thrift/IoTDBDataNodeReceiver.java @@ -756,15 +756,21 @@ public class IoTDBDataNodeReceiver extends IoTDBFileReceiver { @Override protected TSStatus login() { - final BasicOpenSessionResp openSessionResp = - SESSION_MANAGER.login( - SESSION_MANAGER.getCurrSession(), - username, - password, - ZoneId.systemDefault().toString(), - SessionManager.CURRENT_RPC_VERSION, - IoTDBConstant.ClientVersion.V_1_0); - return RpcUtils.getStatus(openSessionResp.getCode(), openSessionResp.getMessage()); + final IClientSession session = SESSION_MANAGER.getCurrSession(); + + if (session != null && !session.isLogin()) { + final BasicOpenSessionResp openSessionResp = + SESSION_MANAGER.login( + session, + username, + password, + ZoneId.systemDefault().toString(), + SessionManager.CURRENT_RPC_VERSION, + IoTDBConstant.ClientVersion.V_1_0); + return RpcUtils.getStatus(openSessionResp.getCode(), openSessionResp.message); + } + + return AuthorityChecker.checkUser(username, password); } @Override
