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 <[email protected]>
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);

Reply via email to