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 2016/02/01 18:50:08 UTC
[11/50] [abbrv] brooklyn-server git commit: treat tasks submitted by
transient tasks as transient by default
treat tasks submitted by transient tasks as transient by default
Project: http://git-wip-us.apache.org/repos/asf/brooklyn-server/repo
Commit: http://git-wip-us.apache.org/repos/asf/brooklyn-server/commit/56909922
Tree: http://git-wip-us.apache.org/repos/asf/brooklyn-server/tree/56909922
Diff: http://git-wip-us.apache.org/repos/asf/brooklyn-server/diff/56909922
Branch: refs/heads/0.7.0-incubating
Commit: 56909922a3d0b0ae389e63f9441ffd1de1bea709
Parents: f5336d6
Author: Alex Heneveld <al...@cloudsoftcorp.com>
Authored: Sat Jun 20 16:33:41 2015 -0700
Committer: Alex Heneveld <al...@cloudsoftcorp.com>
Committed: Wed Jun 24 00:40:33 2015 -0700
----------------------------------------------------------------------
.../src/main/java/brooklyn/entity/basic/BrooklynTaskTags.java | 7 ++++++-
.../main/java/brooklyn/util/task/BasicExecutionContext.java | 5 +++++
2 files changed, 11 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/56909922/core/src/main/java/brooklyn/entity/basic/BrooklynTaskTags.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/basic/BrooklynTaskTags.java b/core/src/main/java/brooklyn/entity/basic/BrooklynTaskTags.java
index 41b2371..e90a014 100644
--- a/core/src/main/java/brooklyn/entity/basic/BrooklynTaskTags.java
+++ b/core/src/main/java/brooklyn/entity/basic/BrooklynTaskTags.java
@@ -267,7 +267,12 @@ public class BrooklynTaskTags extends TaskTags {
public static void setInessential(Task<?> task) { addTagDynamically(task, INESSENTIAL_TASK); }
public static void setTransient(Task<?> task) { addTagDynamically(task, TRANSIENT_TASK_TAG); }
- public static boolean isTransient(Task<?> task) { return hasTag(task, TRANSIENT_TASK_TAG); }
+ public static boolean isTransient(Task<?> task) {
+ if (hasTag(task, TRANSIENT_TASK_TAG)) return true;
+ if (hasTag(task, NON_TRANSIENT_TASK_TAG)) return true;
+ if (task.getSubmittedByTask()!=null) return isTransient(task.getSubmittedByTask());
+ return false;
+ }
public static boolean isSubTask(Task<?> task) { return hasTag(task, SUB_TASK_TAG); }
public static boolean isEffectorTask(Task<?> task) { return hasTag(task, EFFECTOR_TAG); }
http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/56909922/core/src/main/java/brooklyn/util/task/BasicExecutionContext.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/util/task/BasicExecutionContext.java b/core/src/main/java/brooklyn/util/task/BasicExecutionContext.java
index bff6e2d..6346ecd 100644
--- a/core/src/main/java/brooklyn/util/task/BasicExecutionContext.java
+++ b/core/src/main/java/brooklyn/util/task/BasicExecutionContext.java
@@ -169,6 +169,11 @@ public class BasicExecutionContext extends AbstractExecutionContext {
taskTags.addAll(tags);
+ if (Tasks.current()!=null && BrooklynTaskTags.isTransient(Tasks.current()) && !taskTags.contains(BrooklynTaskTags.NON_TRANSIENT_TASK_TAG)) {
+ // tag as transient if submitter is transient, unless explicitly tagged as non-transient
+ taskTags.add(BrooklynTaskTags.TRANSIENT_TASK_TAG);
+ }
+
final Object startCallback = properties.get("newTaskStartCallback");
properties.put("newTaskStartCallback", new Function<Object,Void>() {
public Void apply(Object it) {