You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by pt...@apache.org on 2022/05/30 12:15:52 UTC
[ignite-3] branch ignite-14972 updated: Fix asyncResultSet.closeAsync
This is an automated email from the ASF dual-hosted git repository.
ptupitsyn pushed a commit to branch ignite-14972
in repository https://gitbox.apache.org/repos/asf/ignite-3.git
The following commit(s) were added to refs/heads/ignite-14972 by this push:
new 648dcb518 Fix asyncResultSet.closeAsync
648dcb518 is described below
commit 648dcb518f0c4166f1fe49cfa578037a4afbed50
Author: Pavel Tupitsyn <pt...@apache.org>
AuthorDate: Mon May 30 15:15:45 2022 +0300
Fix asyncResultSet.closeAsync
---
.../handler/requests/sql/ClientSqlExecuteRequest.java | 13 ++++++++-----
1 file changed, 8 insertions(+), 5 deletions(-)
diff --git a/modules/client-handler/src/main/java/org/apache/ignite/client/handler/requests/sql/ClientSqlExecuteRequest.java b/modules/client-handler/src/main/java/org/apache/ignite/client/handler/requests/sql/ClientSqlExecuteRequest.java
index e641f69dd..affad42a4 100644
--- a/modules/client-handler/src/main/java/org/apache/ignite/client/handler/requests/sql/ClientSqlExecuteRequest.java
+++ b/modules/client-handler/src/main/java/org/apache/ignite/client/handler/requests/sql/ClientSqlExecuteRequest.java
@@ -85,14 +85,15 @@ public class ClientSqlExecuteRequest {
Statement statement = statementBuilder.build();
- return session.executeAsync(tx, statement).thenAccept(asyncResultSet -> {
+ return session.executeAsync(tx, statement).thenCompose(asyncResultSet -> {
if (asyncResultSet.hasRowSet() && asyncResultSet.hasMorePages()) {
try {
- long resourceId = resources.put(new ClientResource(asyncResultSet, asyncResultSet::close));
+ long resourceId = resources.put(new ClientResource(asyncResultSet, asyncResultSet::closeAsync));
out.packLong(resourceId);
} catch (IgniteInternalCheckedException e) {
- asyncResultSet.close();
- throw new IgniteInternalException(e.getMessage(), e);
+ return asyncResultSet
+ .closeAsync()
+ .thenRun(() -> { throw new IgniteInternalException(e.getMessage(), e); });
}
} else {
out.packNil(); // resourceId
@@ -125,8 +126,10 @@ public class ClientSqlExecuteRequest {
if (asyncResultSet.hasRowSet()) {
packCurrentPage(out, asyncResultSet);
} else {
- asyncResultSet.close();
+ return asyncResultSet.closeAsync();
}
+
+ return CompletableFuture.completedFuture(null);
});
}
}