This is an automated email from the ASF dual-hosted git repository.
rong pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/iotdb.git
The following commit(s) were added to refs/heads/master by this push:
new 40fa7b3 [ISSUE-3693] Memory leaks when executing select-into clauses
(#3694)
40fa7b3 is described below
commit 40fa7b35ee6b2868974b19daab438034a69a47d4
Author: Steve Yurong Su (宇荣) <[email protected]>
AuthorDate: Fri Aug 6 23:22:32 2021 -0500
[ISSUE-3693] Memory leaks when executing select-into clauses (#3694)
---
.../src/main/java/org/apache/iotdb/db/cost/statistic/Operation.java | 3 ++-
server/src/main/java/org/apache/iotdb/db/service/TSServiceImpl.java | 6 ++----
2 files changed, 4 insertions(+), 5 deletions(-)
diff --git
a/server/src/main/java/org/apache/iotdb/db/cost/statistic/Operation.java
b/server/src/main/java/org/apache/iotdb/db/cost/statistic/Operation.java
index b73691d..ccb2109 100644
--- a/server/src/main/java/org/apache/iotdb/db/cost/statistic/Operation.java
+++ b/server/src/main/java/org/apache/iotdb/db/cost/statistic/Operation.java
@@ -24,7 +24,8 @@ public enum Operation {
EXECUTE_ROWS_PLAN_IN_BATCH("EXECUTE_ROWS_PLAN_IN_BATCH"),
EXECUTE_MULTI_TIMESERIES_PLAN_IN_BATCH("EXECUTE_MULTI_TIMESERIES_PLAN_IN_BATCH"),
EXECUTE_RPC_BATCH_INSERT("EXECUTE_RPC_BATCH_INSERT"),
- EXECUTE_QUERY("EXECUTE_QUERY");
+ EXECUTE_QUERY("EXECUTE_QUERY"),
+ EXECUTE_SELECT_INTO("EXECUTE_SELECT_INTO");
public String getName() {
return name;
diff --git
a/server/src/main/java/org/apache/iotdb/db/service/TSServiceImpl.java
b/server/src/main/java/org/apache/iotdb/db/service/TSServiceImpl.java
index 6c627e7..59cff3e 100644
--- a/server/src/main/java/org/apache/iotdb/db/service/TSServiceImpl.java
+++ b/server/src/main/java/org/apache/iotdb/db/service/TSServiceImpl.java
@@ -1027,12 +1027,10 @@ public class TSServiceImpl implements TSIService.Iface {
}
return
RpcUtils.getTSExecuteStatementResp(TSStatusCode.SUCCESS_STATUS).setQueryId(queryId);
- } catch (Exception e) {
- sessionManager.releaseQueryResourceNoExceptions(queryId);
- throw e;
} finally {
+ sessionManager.releaseQueryResourceNoExceptions(queryId);
queryTimeManager.unRegisterQuery(queryId, queryPlan);
- Measurement.INSTANCE.addOperationLatency(Operation.EXECUTE_QUERY,
startTime);
+ Measurement.INSTANCE.addOperationLatency(Operation.EXECUTE_SELECT_INTO,
startTime);
long costTime = System.currentTimeMillis() - startTime;
if (costTime >= config.getSlowQueryThreshold()) {
SLOW_SQL_LOGGER.info("Cost: {} ms, sql is {}", costTime, statement);