BROOKLYN-356: workaround, by increasing timeout

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

Branch: refs/heads/master
Commit: 0edce9879670560c245f2f6f4df3eae9fd2c27a8
Parents: c45777f
Author: Aled Sage <aled.s...@gmail.com>
Authored: Wed Oct 12 14:17:01 2016 +0100
Committer: Aled Sage <aled.s...@gmail.com>
Committed: Wed Oct 12 14:17:01 2016 +0100

----------------------------------------------------------------------
 .../core/objs/AbstractConfigurationSupportInternal.java |  2 +-
 .../org/apache/brooklyn/enricher/stock/Transformer.java |  2 +-
 .../apache/brooklyn/util/core/task/ValueResolver.java   | 12 +++++++++++-
 3 files changed, 13 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/0edce987/core/src/main/java/org/apache/brooklyn/core/objs/AbstractConfigurationSupportInternal.java
----------------------------------------------------------------------
diff --git 
a/core/src/main/java/org/apache/brooklyn/core/objs/AbstractConfigurationSupportInternal.java
 
b/core/src/main/java/org/apache/brooklyn/core/objs/AbstractConfigurationSupportInternal.java
index 1b87d3c..61dc513 100644
--- 
a/core/src/main/java/org/apache/brooklyn/core/objs/AbstractConfigurationSupportInternal.java
+++ 
b/core/src/main/java/org/apache/brooklyn/core/objs/AbstractConfigurationSupportInternal.java
@@ -111,7 +111,7 @@ public abstract class AbstractConfigurationSupportInternal 
implements BrooklynOb
                 .tag(BrooklynTaskTags.TRANSIENT_TASK_TAG)
                 .build());
         try {
-            T result = t.get(ValueResolver.PRETTY_QUICK_WAIT);
+            T result = t.get(ValueResolver.NON_BLOCKING_WAIT);
             return Maybe.of(result);
         } catch (TimeoutException e) {
             t.cancel(true);

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/0edce987/core/src/main/java/org/apache/brooklyn/enricher/stock/Transformer.java
----------------------------------------------------------------------
diff --git 
a/core/src/main/java/org/apache/brooklyn/enricher/stock/Transformer.java 
b/core/src/main/java/org/apache/brooklyn/enricher/stock/Transformer.java
index 8445076..9c4e657 100644
--- a/core/src/main/java/org/apache/brooklyn/enricher/stock/Transformer.java
+++ b/core/src/main/java/org/apache/brooklyn/enricher/stock/Transformer.java
@@ -90,7 +90,7 @@ public class Transformer<T,U> extends 
AbstractTransformer<T,U> {
                 return (U) 
Tasks.resolving(targetValueRaw).as(targetSensor.getType())
                     .context(entity)
                     .description("Computing sensor "+targetSensor+" from 
"+targetValueRaw)
-                    .timeout(ValueResolver.PRETTY_QUICK_WAIT)
+                    .timeout(ValueResolver.NON_BLOCKING_WAIT)
                     .getMaybe().orNull();
             }
             public String toString() {

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/0edce987/core/src/main/java/org/apache/brooklyn/util/core/task/ValueResolver.java
----------------------------------------------------------------------
diff --git 
a/core/src/main/java/org/apache/brooklyn/util/core/task/ValueResolver.java 
b/core/src/main/java/org/apache/brooklyn/util/core/task/ValueResolver.java
index 73309ef..2942b23 100644
--- a/core/src/main/java/org/apache/brooklyn/util/core/task/ValueResolver.java
+++ b/core/src/main/java/org/apache/brooklyn/util/core/task/ValueResolver.java
@@ -83,7 +83,17 @@ public class ValueResolver<T> implements DeferredSupplier<T> 
{
      * <p>
      * See {@link #REAL_QUICK_WAIT}. */
     public static Duration PRETTY_QUICK_WAIT = Duration.millis(200);
-    
+
+    /** 
+     * Period to wait if we're expecting the operation to be non-blocking, so 
want to abort if the 
+     * invoked task/supplier is taking too long (likely because its value is 
not yet ready, and 
+     * the invoked task is blocked waiting for it). 
+     * <p>
+     * See {@link #REAL_QUICK_WAIT} and <a 
href="https://issues.apache.org/jira/browse/BROOKLYN-356";>BROOKLYN-356</a>.
+     */
+    @Beta
+    public static final Duration NON_BLOCKING_WAIT = Duration.millis(500);
+
     /** Period to wait when we have to poll but want to give the illusion of 
no wait.
      * See {@link Repeater#DEFAULT_REAL_QUICK_PERIOD} */ 
     public static Duration REAL_QUICK_PERIOD = 
Repeater.DEFAULT_REAL_QUICK_PERIOD;

Reply via email to