This is an automated email from the ASF dual-hosted git repository. tanxinyu pushed a commit to branch enable_cache_leader in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit bd2d839031356d3e2df8b72ec1cbda7068f39ede Author: LebronAl <[email protected]> AuthorDate: Tue Jun 29 11:11:02 2021 +0800 enable cache leader --- .../src/main/java/org/apache/iotdb/session/Config.java | 2 +- .../main/java/org/apache/iotdb/session/Session.java | 18 ++++++++++++------ 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/session/src/main/java/org/apache/iotdb/session/Config.java b/session/src/main/java/org/apache/iotdb/session/Config.java index 4114594..02e7e70 100644 --- a/session/src/main/java/org/apache/iotdb/session/Config.java +++ b/session/src/main/java/org/apache/iotdb/session/Config.java @@ -24,7 +24,7 @@ public class Config { public static final String DEFAULT_PASSWORD = "root"; public static final int DEFAULT_FETCH_SIZE = 5000; public static final int DEFAULT_CONNECTION_TIMEOUT_MS = 0; - public static final boolean DEFAULT_CACHE_LEADER_MODE = false; + public static final boolean DEFAULT_CACHE_LEADER_MODE = true; public static final int RETRY_NUM = 3; public static final long RETRY_INTERVAL_MS = 1000; 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 447c2b5..ca32cfc 100644 --- a/session/src/main/java/org/apache/iotdb/session/Session.java +++ b/session/src/main/java/org/apache/iotdb/session/Session.java @@ -679,7 +679,9 @@ public class Session { private SessionConnection getSessionConnection(String deviceId) { EndPoint endPoint; - if (enableCacheLeader && (endPoint = deviceIdToEndpoint.get(deviceId)) != null) { + if (enableCacheLeader + && deviceIdToEndpoint.size() != 0 + && (endPoint = deviceIdToEndpoint.get(deviceId)) != null) { return endPointToSessionConnection.get(endPoint); } else { return defaultSessionConnection; @@ -898,7 +900,7 @@ public class Session { EndPoint endPoint; SessionConnection connection; for (int i = 0; i < deviceIds.size(); i++) { - endPoint = deviceIdToEndpoint.get(deviceIds.get(i)); + endPoint = deviceIdToEndpoint.size() == 0 ? null : deviceIdToEndpoint.get(deviceIds.get(i)); if (endPoint != null) { connection = endPointToSessionConnection.get(endPoint); } else { @@ -1120,7 +1122,7 @@ public class Session { EndPoint endPoint; SessionConnection connection; for (int i = 0; i < deviceIds.size(); i++) { - endPoint = deviceIdToEndpoint.get(deviceIds.get(i)); + endPoint = deviceIdToEndpoint.size() == 0 ? null : deviceIdToEndpoint.get(deviceIds.get(i)); if (endPoint != null) { connection = endPointToSessionConnection.get(endPoint); } else { @@ -1205,7 +1207,9 @@ public class Session { TSInsertTabletReq request = genTSInsertTabletReq(tablet, false); EndPoint endPoint; try { - if (enableCacheLeader && (endPoint = deviceIdToEndpoint.get(tablet.prefixPath)) != null) { + if (enableCacheLeader + && deviceIdToEndpoint.size() != 0 + && (endPoint = deviceIdToEndpoint.get(tablet.prefixPath)) != null) { endPointToSessionConnection.get(endPoint).insertTablet(request); } else { defaultSessionConnection.insertTablet(request); @@ -1226,7 +1230,9 @@ public class Session { TSInsertTabletReq request = genTSInsertTabletReq(tablet, sorted); EndPoint endPoint; try { - if (enableCacheLeader && (endPoint = deviceIdToEndpoint.get(tablet.prefixPath)) != null) { + if (enableCacheLeader + && deviceIdToEndpoint.size() != 0 + && (endPoint = deviceIdToEndpoint.get(tablet.prefixPath)) != null) { endPointToSessionConnection.get(endPoint).insertTablet(request); } else { defaultSessionConnection.insertTablet(request); @@ -1313,7 +1319,7 @@ public class Session { SessionConnection connection; Map<SessionConnection, TSInsertTabletsReq> tabletGroup = new HashMap<>(); for (Entry<String, Tablet> entry : tablets.entrySet()) { - endPoint = deviceIdToEndpoint.get(entry.getKey()); + endPoint = deviceIdToEndpoint.size() == 0 ? null : deviceIdToEndpoint.get(entry.getKey()); if (endPoint != null) { connection = endPointToSessionConnection.get(endPoint); } else {
