This is an automated email from the ASF dual-hosted git repository.

mhubail pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/asterixdb.git

commit c9a82db30c8e4a9255e378b420c24c0090681df4
Author: Michael Blow <[email protected]>
AuthorDate: Mon Mar 3 15:59:27 2025 -0500

    [NO ISSUE][RT] Preserve interrupts, fix log typo
    
    Ext-ref: MB-65548
    Change-Id: Idcf26ce492f2b9a868a5f77f62a0f24ac2b9b70d
    Reviewed-on: https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/19486
    Reviewed-by: Michael Blow <[email protected]>
    Reviewed-by: Hussain Towaileb <[email protected]>
    Integration-Tests: Jenkins <[email protected]>
    Tested-by: Jenkins <[email protected]>
---
 .../org/apache/asterix/app/active/ActiveEntityEventsListener.java | 4 +++-
 .../api/rewriter/runtime/SuperActivityOperatorNodePushable.java   | 2 +-
 .../src/main/java/org/apache/hyracks/http/server/WebManager.java  | 8 +++-----
 3 files changed, 7 insertions(+), 7 deletions(-)

diff --git 
a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/active/ActiveEntityEventsListener.java
 
b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/active/ActiveEntityEventsListener.java
index ac636b7b52..6df2e3cf3b 100644
--- 
a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/active/ActiveEntityEventsListener.java
+++ 
b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/active/ActiveEntityEventsListener.java
@@ -65,6 +65,7 @@ import org.apache.hyracks.api.client.IHyracksClientConnection;
 import org.apache.hyracks.api.exceptions.HyracksDataException;
 import org.apache.hyracks.api.job.JobId;
 import org.apache.hyracks.api.job.JobStatus;
+import org.apache.hyracks.api.util.ExceptionUtils;
 import org.apache.hyracks.api.util.InvokeUtil;
 import org.apache.hyracks.util.ExitUtil;
 import org.apache.hyracks.util.Span;
@@ -454,7 +455,8 @@ public abstract class ActiveEntityEventsListener implements 
IActiveEntityControl
             metadataProvider.getApplicationContext().getHcc().cancelJob(jobId);
         } catch (Throwable th) {
             LOGGER.warn("Failed to cancel active job {}", jobId, th);
-            e.addSuppressed(th);
+            // use ExceptionUtils.suppress() here to ensure we don't lose an 
interrupt
+            ExceptionUtils.suppress(e, th);
         }
     }
 
diff --git 
a/hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/rewriter/runtime/SuperActivityOperatorNodePushable.java
 
b/hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/rewriter/runtime/SuperActivityOperatorNodePushable.java
index 856979c371..9f4ad5dfa2 100644
--- 
a/hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/rewriter/runtime/SuperActivityOperatorNodePushable.java
+++ 
b/hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/rewriter/runtime/SuperActivityOperatorNodePushable.java
@@ -305,7 +305,7 @@ public class SuperActivityOperatorNodePushable implements 
IOperatorNodePushable
             }
             
preCancelStackTraces.keySet().removeIf(Predicate.not(runningThreads::contains));
             preCancelStackTraces.forEach((thread, stack) -> {
-                Throwable t = new Throwable(thread.getName() + "pre-interrupt 
stack");
+                Throwable t = new Throwable(thread.getName() + " pre-interrupt 
stack");
                 t.setStackTrace(stack);
                 LOGGER.warn("Task of job {} did not complete within {}: ", 
ctx.getJobletContext().getJobId(),
                         completionPoll, t);
diff --git 
a/hyracks-fullstack/hyracks/hyracks-http/src/main/java/org/apache/hyracks/http/server/WebManager.java
 
b/hyracks-fullstack/hyracks/hyracks-http/src/main/java/org/apache/hyracks/http/server/WebManager.java
index b8347ae23f..3b17c06ad0 100644
--- 
a/hyracks-fullstack/hyracks/hyracks-http/src/main/java/org/apache/hyracks/http/server/WebManager.java
+++ 
b/hyracks-fullstack/hyracks/hyracks-http/src/main/java/org/apache/hyracks/http/server/WebManager.java
@@ -22,6 +22,8 @@ import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
 
+import org.apache.hyracks.api.util.ExceptionUtils;
+
 import io.netty.channel.EventLoopGroup;
 import io.netty.channel.nio.NioEventLoopGroup;
 import io.netty.util.internal.logging.Log4J2LoggerFactory;
@@ -102,11 +104,7 @@ public class WebManager {
         if (!stopExceptions.isEmpty()) {
             Exception ex = null;
             for (Exception stopException : stopExceptions) {
-                if (ex == null) {
-                    ex = stopException;
-                } else {
-                    ex.addSuppressed(stopException);
-                }
+                ex = ExceptionUtils.suppress(ex, stopException);
             }
             throw ex;
         }

Reply via email to