You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@brooklyn.apache.org by he...@apache.org on 2023/05/24 10:50:17 UTC
[brooklyn-server] 04/08: more thorough cancellation of DST jobs
This is an automated email from the ASF dual-hosted git repository.
heneveld pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/brooklyn-server.git
commit 7844795e2fbd680331e21f8c7a231f975168d656
Author: Alex Heneveld <al...@cloudsoft.io>
AuthorDate: Wed May 24 00:23:03 2023 +0100
more thorough cancellation of DST jobs
---
.../java/org/apache/brooklyn/util/core/task/DynamicSequentialTask.java | 3 +++
1 file changed, 3 insertions(+)
diff --git a/core/src/main/java/org/apache/brooklyn/util/core/task/DynamicSequentialTask.java b/core/src/main/java/org/apache/brooklyn/util/core/task/DynamicSequentialTask.java
index 7d10b3124c..ed76e7b12c 100644
--- a/core/src/main/java/org/apache/brooklyn/util/core/task/DynamicSequentialTask.java
+++ b/core/src/main/java/org/apache/brooklyn/util/core/task/DynamicSequentialTask.java
@@ -26,6 +26,7 @@ import java.util.List;
import java.util.Map;
import java.util.Queue;
import java.util.concurrent.Callable;
+import java.util.concurrent.CancellationException;
import java.util.concurrent.ConcurrentLinkedQueue;
import org.apache.brooklyn.api.mgmt.HasTaskChildren;
@@ -297,6 +298,7 @@ public class DynamicSequentialTask<T> extends BasicTask<T> implements HasTaskChi
List<Object> result = new ArrayList<Object>();
try {
while (!secondaryQueueAborted && (!primaryFinished || !secondaryJobsRemaining.isEmpty())) {
+ if (isCancelled()) throw new CancellationException();
synchronized (jobTransitionLock) {
if (!primaryFinished && secondaryJobsRemaining.isEmpty()) {
currentSecondary = null;
@@ -306,6 +308,7 @@ public class DynamicSequentialTask<T> extends BasicTask<T> implements HasTaskChi
@SuppressWarnings("rawtypes")
Task secondaryJob = secondaryJobsRemaining.poll();
if (secondaryJob != null) {
+ if (isCancelled()) throw new CancellationException();
synchronized (jobTransitionLock) {
currentSecondary = secondaryJob;
submitBackgroundInheritingContext(secondaryJob);