>From Michael Blow <[email protected]>: Michael Blow has submitted this change. ( https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/19486 )
Change subject: [NO ISSUE][RT] Preserve interrupts, fix log typo ...................................................................... [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]> --- M hyracks-fullstack/hyracks/hyracks-http/src/main/java/org/apache/hyracks/http/server/WebManager.java M asterixdb/asterix-app/src/main/java/org/apache/asterix/app/active/ActiveEntityEventsListener.java M hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/rewriter/runtime/SuperActivityOperatorNodePushable.java 3 files changed, 22 insertions(+), 7 deletions(-) Approvals: Michael Blow: Looks good to me, but someone else must approve Hussain Towaileb: Looks good to me, approved Jenkins: Verified; Verified 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 ac636b7..6df2e3c 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.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 @@ 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 856979c..9f4ad5d 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 @@ } 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 b8347ae..3b17c06 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.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 @@ 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; } -- To view, visit https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/19486 To unsubscribe, or for help writing mail filters, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-Project: asterixdb Gerrit-Branch: ionic Gerrit-Change-Id: Idcf26ce492f2b9a868a5f77f62a0f24ac2b9b70d Gerrit-Change-Number: 19486 Gerrit-PatchSet: 4 Gerrit-Owner: Michael Blow <[email protected]> Gerrit-Reviewer: Anon. E. Moose #1000171 Gerrit-Reviewer: Hussain Towaileb <[email protected]> Gerrit-Reviewer: Jenkins <[email protected]> Gerrit-Reviewer: Michael Blow <[email protected]> Gerrit-MessageType: merged
