>From Peeyush Gupta <[email protected]>:

Peeyush Gupta has submitted this change. ( 
https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/20770?usp=email )

 (

2 is the latest approved patch-set.
No files were changed between the latest approved patch-set and the submitted 
one.
 )Change subject: [ASTERIXDB-3685][API] Async request shown in active requests 
even after completion
......................................................................

[ASTERIXDB-3685][API] Async request shown in active requests even after 
completion

- user model changes: no
- storage format changes: no
- interface changes: no

Details:
A request with mode parameter set as async can be seen in active requests even 
after completion in cas the statement itself was empty or the statement does 
not support async result delivery. The patch fixes both these cases

Ext-ref: MB-69765, MB-69763
Change-Id: Ie304a6831eadb93b7b8cb825b2180b933b208dbb
Reviewed-on: https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/20770
Reviewed-by: Peeyush Gupta <[email protected]>
Reviewed-by: Ian Maxon <[email protected]>
Tested-by: Jenkins <[email protected]>
---
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/translator/QueryTranslator.java
1 file changed, 5 insertions(+), 1 deletion(-)

Approvals:
  Jenkins: Verified
  Peeyush Gupta: Looks good to me, but someone else must approve
  Ian Maxon: Looks good to me, approved




diff --git 
a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/translator/QueryTranslator.java
 
b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/translator/QueryTranslator.java
index c3f7c55..c4f5b3d 100644
--- 
a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/translator/QueryTranslator.java
+++ 
b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/translator/QueryTranslator.java
@@ -392,6 +392,7 @@
         final ResultMetadata outMetadata = requestParameters.getOutMetadata();
         final Map<String, IAObject> stmtParams = 
requestParameters.getStatementParameters();
         warningCollector.setMaxWarnings(sessionConfig.getMaxWarnings());
+        boolean stmtWithAsyncSupportUsed = false;
         try {
             for (Statement stmt : statements) {
                 if (sessionConfig.is(SessionConfig.FORMAT_HTML)) {
@@ -521,6 +522,7 @@
                         }
                         handleCopyToStatement(metadataProvider, stmt, hcc, 
resultSet, resultDelivery, outMetadata,
                                 requestParameters, stmtParams, stats);
+                        stmtWithAsyncSupportUsed = true;
                         break;
                     case INSERT:
                     case UPDATE:
@@ -530,6 +532,7 @@
                             metadataProvider.setResultAsyncMode(resultDelivery 
== ResultDelivery.ASYNC
                                     || resultDelivery == 
ResultDelivery.DEFERRED);
                             metadataProvider.setMaxResultReads(maxResultReads);
+                            stmtWithAsyncSupportUsed = true;
                         }
                         if (stats.getProfileType() == Stats.ProfileType.FULL) {
                             this.jobFlags.add(JobFlag.PROFILE_RUNTIME);
@@ -575,6 +578,7 @@
                         }
                         handleQuery(metadataProvider, (Query) stmt, hcc, 
resultSet, resultDelivery, outMetadata, stats,
                                 requestParameters, stmtParams, stmtRewriter);
+                        stmtWithAsyncSupportUsed = true;
                         break;
                     case ANALYZE:
                         handleAnalyzeStatement(metadataProvider, stmt, hcc, 
requestParameters);
@@ -610,7 +614,7 @@
             throw ex;
         } finally {
             // async queries are completed after their job completes
-            if (ResultDelivery.ASYNC != resultDelivery) {
+            if (statements.isEmpty() || ResultDelivery.ASYNC != resultDelivery 
|| !stmtWithAsyncSupportUsed) {
                 
appCtx.getRequestTracker().complete(requestParameters.getRequestReference().getUuid());
             }
             Thread.currentThread().setName(threadName);

--
To view, visit https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/20770?usp=email
To unsubscribe, or for help writing mail filters, visit 
https://asterix-gerrit.ics.uci.edu/settings?usp=email

Gerrit-MessageType: merged
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Change-Id: Ie304a6831eadb93b7b8cb825b2180b933b208dbb
Gerrit-Change-Number: 20770
Gerrit-PatchSet: 4
Gerrit-Owner: Peeyush Gupta <[email protected]>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Ian Maxon <[email protected]>
Gerrit-Reviewer: Jenkins <[email protected]>
Gerrit-Reviewer: Peeyush Gupta <[email protected]>
Gerrit-CC: Murtadha Hubail <[email protected]>

Reply via email to