[IOTDB-6340] Clear Coordinator.queryExecutionMap while encountering MemoryNotEnough Exception

diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/thrift/impl/ClientRPCServiceImpl.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/thrift/impl/ClientRPCServiceImpl.java
index 78f7d03..650621c 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/thrift/impl/ClientRPCServiceImpl.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/thrift/impl/ClientRPCServiceImpl.java
@@ -323,6 +323,7 @@
 
       if (result.status.code != TSStatusCode.SUCCESS_STATUS.getStatusCode()
           && result.status.code != TSStatusCode.REDIRECTION_RECOMMEND.getStatusCode()) {
+        finished = true;
         return RpcUtils.getTSExecuteStatementResp(result.status);
       }
 
@@ -348,6 +349,7 @@
       return RpcUtils.getTSExecuteStatementResp(
           onQueryException(e, "\"" + statement + "\". " + OperationType.EXECUTE_STATEMENT));
     } catch (Error error) {
+      finished = true;
       t = error;
       throw error;
     } finally {
@@ -413,6 +415,7 @@
               req.getTimeout());
 
       if (result.status.code != TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
+        finished = true;
         throw new RuntimeException(ERROR_CODE + result.status);
       }
 
@@ -437,6 +440,7 @@
       return RpcUtils.getTSExecuteStatementResp(
           onQueryException(e, "\"" + req + "\". " + OperationType.EXECUTE_RAW_DATA_QUERY));
     } catch (Error error) {
+      finished = true;
       t = error;
       throw error;
     } finally {
@@ -501,6 +505,7 @@
               req.getTimeout());
 
       if (result.status.code != TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
+        finished = true;
         throw new RuntimeException(ERROR_CODE + result.status);
       }
 
@@ -526,6 +531,7 @@
       return RpcUtils.getTSExecuteStatementResp(
           onQueryException(e, "\"" + req + "\". " + OperationType.EXECUTE_LAST_DATA_QUERY));
     } catch (Error error) {
+      finished = true;
       t = error;
       throw error;
     } finally {
@@ -588,6 +594,7 @@
               req.getTimeout());
 
       if (result.status.code != TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
+        finished = true;
         throw new RuntimeException(ERROR_CODE + result.status);
       }
 
@@ -613,6 +620,7 @@
       return RpcUtils.getTSExecuteStatementResp(
           onQueryException(e, "\"" + req + "\". " + OperationType.EXECUTE_LAST_DATA_QUERY));
     } catch (Error error) {
+      finished = true;
       t = error;
       throw error;
     } finally {
@@ -921,6 +929,7 @@
               req.getTimeout());
 
       if (result.status.code != TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
+        finished = true;
         throw new RuntimeException("error code: " + result.status);
       }
 
@@ -953,6 +962,7 @@
       return RpcUtils.getTSExecuteStatementResp(
           onQueryException(e, "\"" + req + "\". " + OperationType.EXECUTE_LAST_DATA_QUERY));
     } catch (Error error) {
+      finished = true;
       t = error;
       throw error;
     } finally {
@@ -1073,6 +1083,7 @@
     try {
       IClientSession clientSession = SESSION_MANAGER.getCurrSessionAndUpdateIdleTime();
       if (!SESSION_MANAGER.checkLogin(clientSession)) {
+        finished = true;
         return RpcUtils.getTSFetchResultsResp(getNotLoggedInStatus());
       }
       TSFetchResultsResp resp = RpcUtils.getTSFetchResultsResp(TSStatusCode.SUCCESS_STATUS);
@@ -1595,6 +1606,7 @@
     try {
       IClientSession clientSession = SESSION_MANAGER.getCurrSessionAndUpdateIdleTime();
       if (!SESSION_MANAGER.checkLogin(clientSession)) {
+        finished = true;
         return RpcUtils.getTSFetchResultsResp(getNotLoggedInStatus());
       }
 
@@ -1626,6 +1638,7 @@
       return RpcUtils.getTSFetchResultsResp(
           onQueryException(e, getContentOfRequest(req, queryExecution)));
     } catch (Error error) {
+      finished = true;
       t = error;
       throw error;
     } finally {