Fixing an intermittent concurrent modification exception in task tags

Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/c6a22124
Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/c6a22124
Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/c6a22124

Branch: refs/heads/master
Commit: c6a2212493c98d6884ad8f0c895478988d073a66
Parents: fbe97e5
Author: Andrew Kennedy <[email protected]>
Authored: Thu Aug 28 12:58:28 2014 +0100
Committer: Andrew Kennedy <[email protected]>
Committed: Sat Aug 30 17:23:48 2014 +0100

----------------------------------------------------------------------
 core/src/main/java/brooklyn/util/task/BasicTask.java | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/c6a22124/core/src/main/java/brooklyn/util/task/BasicTask.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/util/task/BasicTask.java 
b/core/src/main/java/brooklyn/util/task/BasicTask.java
index e4424b8..44f2535 100644
--- a/core/src/main/java/brooklyn/util/task/BasicTask.java
+++ b/core/src/main/java/brooklyn/util/task/BasicTask.java
@@ -57,6 +57,7 @@ import com.google.common.base.Function;
 import com.google.common.base.Objects;
 import com.google.common.base.Throwables;
 import com.google.common.collect.Iterables;
+import com.google.common.collect.Sets;
 import com.google.common.util.concurrent.ExecutionList;
 import com.google.common.util.concurrent.ListenableFuture;
 
@@ -81,7 +82,7 @@ public class BasicTask<T> implements TaskInternal<T> {
     public final String displayName;
     public final String description;
 
-    protected final Set<Object> tags = new LinkedHashSet<Object>();
+    protected final Set<Object> tags = Sets.newConcurrentHashSet();
     // for debugging, to record where tasks were created
 //    { tags.add(new Throwable("Creation stack trace")); }
 

Reply via email to