You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ha...@apache.org on 2023/02/08 01:28:06 UTC
[iotdb] 02/03: fix sessionconnection npe
This is an automated email from the ASF dual-hosted git repository.
haonan pushed a commit to branch fix_session_pool_oom
in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit 93a627f25ecb71f591ec190d111a5bda6bfc86ee
Author: HTHou <hh...@outlook.com>
AuthorDate: Tue Feb 7 11:54:36 2023 +0800
fix sessionconnection npe
---
session/src/main/java/org/apache/iotdb/session/Session.java | 13 +++++++------
1 file changed, 7 insertions(+), 6 deletions(-)
diff --git a/session/src/main/java/org/apache/iotdb/session/Session.java b/session/src/main/java/org/apache/iotdb/session/Session.java
index f7b048b30b..19ea1965f0 100644
--- a/session/src/main/java/org/apache/iotdb/session/Session.java
+++ b/session/src/main/java/org/apache/iotdb/session/Session.java
@@ -1047,7 +1047,8 @@ public class Session implements ISession {
TEndPoint endPoint;
if (enableRedirection
&& !deviceIdToEndpoint.isEmpty()
- && (endPoint = deviceIdToEndpoint.get(deviceId)) != null) {
+ && (endPoint = deviceIdToEndpoint.get(deviceId)) != null
+ && endPointToSessionConnection.containsKey(endPoint)) {
return endPointToSessionConnection.get(endPoint);
} else {
return defaultSessionConnection;
@@ -1092,11 +1093,10 @@ public class Session implements ISession {
return;
}
AtomicReference<IoTDBConnectionException> exceptionReference = new AtomicReference<>();
- if (deviceIdToEndpoint.containsKey(deviceId)
- && deviceIdToEndpoint.get(deviceId).equals(endpoint)) {
- return;
+ if (!deviceIdToEndpoint.containsKey(deviceId)
+ || !deviceIdToEndpoint.get(deviceId).equals(endpoint)) {
+ deviceIdToEndpoint.put(deviceId, endpoint);
}
- deviceIdToEndpoint.put(deviceId, endpoint);
SessionConnection connection =
endPointToSessionConnection.computeIfAbsent(
endpoint,
@@ -3344,7 +3344,8 @@ public class Session implements ISession {
* @param insertConsumer insert function
* @param <T>
* <ul>
- B * <li>{@link TSInsertRecordsReq}
+ * B *
+ * <li>{@link TSInsertRecordsReq}
* <li>{@link TSInsertStringRecordsReq}
* <li>{@link TSInsertTabletsReq}
* </ul>