You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@asterixdb.apache.org by AsterixDB Code Review <do...@asterix-gerrit.ics.uci.edu> on 2026/09/18 22:47:26 UTC
[L] Change in asterixdb[master]: [ASTERIXDB-3869][*DB][HYR] Refuse a cancel once a statement's job is ...
From Ali Alsuliman <al...@gmail.com>:
Attention is currently required from: Ali Alsuliman.
Hello Anon. E. Moose #1000171, Jenkins,
I'd like you to reexamine a change. Please visit
https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/21821?usp=email
to look at the new patch set (#3).
The following approvals got outdated and were removed:
Contrib-2 by Anon. E. Moose #1000171, Integration-Tests+1 by Jenkins, Verified-1 by Jenkins
Change subject: [ASTERIXDB-3869][*DB][HYR] Refuse a cancel once a statement's job is done
......................................................................
[ASTERIXDB-3869][*DB][HYR] Refuse a cancel once a statement's job is done
A cancel whose request has no unfinished job interrupts the executing
thread, which is what stops the statements that remain. Once a
statement's job has finished, though, all that is left is committing it
and sending its result, and the interrupt lands on a thread doing one of
those: the two-phase commit throws part way, its caller rolls back a
transaction the nodes may already have committed, and the node halts
when that rollback fails. A result being written is torn instead, and
the lost bytes leave a response that parses as complete with rows
missing from the middle of it.
A request now refuses to be cancelled from the moment its job finishes
until its statement is done, so neither the commit nor the response can
be interrupted. Where a write is lost anyway, the stream refuses every
later write and the response is aborted rather than terminated, which a
client can tell from a complete one.
Ext-ref: MB-73873,MB-74066
Co-Authored-By: Claude Opus 5 <no...@anthropic.com>
Change-Id: I097f15c464f9a8179433ed499376ab0439586ca2
---
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/BaseClientRequest.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/ClientRequest.java
M asterixdb/asterix-app/src/main/java/org/apache/asterix/api/common/APIFramework.java
M asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/QueryResultApiServlet.java
M asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/QueryServiceServlet.java
M asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/QueryStatusApiServlet.java
M asterixdb/asterix-app/src/main/java/org/apache/asterix/app/translator/QueryTranslator.java
A asterixdb/asterix-app/src/test/java/org/apache/asterix/api/http/server/CancelDuringCommitTest.java
A asterixdb/asterix-app/src/test/java/org/apache/asterix/api/http/server/CancelDuringResultStreamingTest.java
A asterixdb/asterix-app/src/test/java/org/apache/asterix/api/http/server/CancelWhileCompilingTest.java
M asterixdb/asterix-common/src/main/java/org/apache/asterix/common/api/IClientRequest.java
M hyracks-fullstack/hyracks/hyracks-http/src/main/java/org/apache/hyracks/http/server/ChunkedNettyOutputStream.java
M hyracks-fullstack/hyracks/hyracks-http/src/main/java/org/apache/hyracks/http/server/ChunkedResponse.java
M hyracks-fullstack/hyracks/hyracks-http/src/test/java/org/apache/hyracks/test/http/HttpServerTest.java
A hyracks-fullstack/hyracks/hyracks-http/src/test/java/org/apache/hyracks/test/http/servlet/InterruptedWriteServlet.java
15 files changed, 908 insertions(+), 63 deletions(-)
git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/21/21821/3
--
To view, visit https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/21821?usp=email
To unsubscribe, or for help writing mail filters, visit https://asterix-gerrit.ics.uci.edu/settings?usp=email
Gerrit-MessageType: newpatchset
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Change-Id: I097f15c464f9a8179433ed499376ab0439586ca2
Gerrit-Change-Number: 21821
Gerrit-PatchSet: 3
Gerrit-Owner: Ali Alsuliman <al...@gmail.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Attention: Ali Alsuliman <al...@gmail.com>