You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@brooklyn.apache.org by neykov <gi...@git.apache.org> on 2017/01/30 15:52:12 UTC

[GitHub] brooklyn-server pull request #542: Resolve deferred values in containers (li...

GitHub user neykov opened a pull request:

    https://github.com/apache/brooklyn-server/pull/542

    Resolve deferred values in containers (list, map) on config().getNonBlocking(...)

    Deferred values are not resolved in certain cases when in containers. The error I was getting was:
    ```
    2017-01-27 16:44:23,958 DEBUG 118 o.a.b.c.b.s.d.BrooklynDslDeferredSupplier [ger-GCJlrQu1-259] Resolved DynamicClusterImpl{id=q9r9izpwme} from $brooklyn:sensor("kubernetes.url")
    2017-01-27 16:44:23,958 DEBUG 118 o.a.b.c.b.s.d.BrooklynDslDeferredSupplier [ger-GCJlrQu1-625] Resolved Sensor: kubernetes.url (java.lang.Object) from $brooklyn:sensor("kubernetes.url")
    2017-01-27 16:44:23,959 WARN  143 o.a.b.u.j.c.TypeCoercerExtensible [ger-GCJlrQu1-628] Failed to coerce collection from java.util.Collections$UnmodifiableRandomAccessList to java.util.Collection<? exten
    ds org.apache.brooklyn.api.sensor.Sensor<?>>; returning uncoerced result to preserve (deprecated) backwards compatibility
    java.lang.IllegalStateException: Could not coerce entry 0 in [sensor("kubernetes.url")] to java.util.Collection<? extends org.apache.brooklyn.api.sensor.Sensor<?>>: Cannot coerce type org.apache.brooklyn.camp.brooklyn.spi.dsl.methods.DslComponent.DslSensorSupplier to org.apache.brooklyn.api.sensor.Sensor (sensor("kubernetes.url")): no adapter known
            at org.apache.brooklyn.util.guava.IllegalStateExceptionSupplier.get(IllegalStateExceptionSupplier.java:40)[143:org.apache.brooklyn.utils-common:0.11.0.20170126_1332]
            at org.apache.brooklyn.util.guava.IllegalStateExceptionSupplier.get(IllegalStateExceptionSupplier.java:26)[143:org.apache.brooklyn.utils-common:0.11.0.20170126_1332]
            at org.apache.brooklyn.util.guava.Maybe$Absent.getException(Maybe.java:337)[143:org.apache.brooklyn.utils-common:0.11.0.20170126_1332]
            at org.apache.brooklyn.util.guava.Maybe.getException(Maybe.java:465)[143:org.apache.brooklyn.utils-common:0.11.0.20170126_1332]
            at org.apache.brooklyn.util.javalang.coerce.TypeCoercerExtensible.tryCoerceInternal(TypeCoercerExtensible.java:125)[143:org.apache.brooklyn.utils-common:0.11.0.20170126_1332]
            at org.apache.brooklyn.util.javalang.coerce.TypeCoercerExtensible.tryCoerce(TypeCoercerExtensible.java:108)[143:org.apache.brooklyn.utils-common:0.11.0.20170126_1332]
            at org.apache.brooklyn.util.core.flags.TypeCoercions.tryCoerce(TypeCoercions.java:82)[120:org.apache.brooklyn.core:0.11.0.20170126_1332]
            at org.apache.brooklyn.core.objs.AbstractConfigurationSupportInternal.getNonBlockingResolvingSimple(AbstractConfigurationSupportInternal.java:149)[120:org.apache.brooklyn.core:0.11.0.20170126_1332]
            at org.apache.brooklyn.core.objs.AbstractConfigurationSupportInternal.getNonBlocking(AbstractConfigurationSupportInternal.java:83)[120:org.apache.brooklyn.core:0.11.0.20170126_1332]
            at org.apache.brooklyn.core.config.ConfigConstraints.validateAll(ConfigConstraints.java:126)[120:org.apache.brooklyn.core:0.11.0.20170126_1332]
            at org.apache.brooklyn.core.config.ConfigConstraints.getViolations(ConfigConstraints.java:115)[120:org.apache.brooklyn.core:0.11.0.20170126_1332]
            at org.apache.brooklyn.core.config.ConfigConstraints.assertValid(ConfigConstraints.java:73)[120:org.apache.brooklyn.core:0.11.0.20170126_1332]
            at org.apache.brooklyn.core.entity.AbstractEntity$BasicEnricherSupport.add(AbstractEntity.java:1691)[120:org.apache.brooklyn.core:0.11.0.20170126_1332]
            at org.apache.brooklyn.core.objs.proxy.InternalEntityFactory$1.run(InternalEntityFactory.java:350)[120:org.apache.brooklyn.core:0.11.0.20170126_1332]
            at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)[:1.7.0_80]
            at org.apache.brooklyn.util.core.task.BasicExecutionManager$SubmissionCallable.call(BasicExecutionManager.java:522)[120:org.apache.brooklyn.core:0.11.0.20170126_1332]
            at java.util.concurrent.FutureTask.run(FutureTask.java:262)[:1.7.0_80]
            at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)[:1.7.0_80]
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)[:1.7.0_80]
            at java.lang.Thread.run(Thread.java:745)[:1.7.0_80]
    Caused by: org.apache.brooklyn.util.javalang.coerce.ClassCoercionException: Could not coerce entry 0 in [sensor("kubernetes.url")] to java.util.Collection<? extends org.apache.brooklyn.api.sensor.Sensor<?>>
            at org.apache.brooklyn.util.javalang.coerce.TypeCoercerExtensible.tryCoerceCollection(TypeCoercerExtensible.java:298)[143:org.apache.brooklyn.utils-common:0.11.0.20170126_1332]
            at org.apache.brooklyn.util.javalang.coerce.TypeCoercerExtensible.tryCoerceInternal(TypeCoercerExtensible.java:122)[143:org.apache.brooklyn.utils-common:0.11.0.20170126_1332]
            ... 15 more
    Caused by: org.apache.brooklyn.util.javalang.coerce.ClassCoercionException: Cannot coerce type org.apache.brooklyn.camp.brooklyn.spi.dsl.methods.DslComponent.DslSensorSupplier to org.apache.brooklyn.api.sensor.Sensor (sensor("kubernetes.url")): no adapter known
            at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)[:1.7.0_80]
            at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)[:1.7.0_80]
            at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)[:1.7.0_80]
            at java.lang.reflect.Constructor.newInstance(Constructor.java:526)[:1.7.0_80]
            at org.apache.brooklyn.util.javalang.Reflections.loadInstance(Reflections.java:347)[143:org.apache.brooklyn.utils-common:0.11.0.20170126_1332]
            at org.apache.brooklyn.util.javalang.Reflections.invokeConstructorFromArgs(Reflections.java:328)[143:org.apache.brooklyn.utils-common:0.11.0.20170126_1332]
            at org.apache.brooklyn.util.javalang.Reflections.invokeConstructorFromArgs(Reflections.java:289)[143:org.apache.brooklyn.utils-common:0.11.0.20170126_1332]
            at org.apache.brooklyn.util.javalang.Reflections.invokeConstructorFromArgs(Reflections.java:251)[143:org.apache.brooklyn.utils-common:0.11.0.20170126_1332]
            at org.apache.brooklyn.util.guava.AnyExceptionSupplier.get(AnyExceptionSupplier.java:50)[143:org.apache.brooklyn.utils-common:0.11.0.20170126_1332]
            at org.apache.brooklyn.util.guava.AnyExceptionSupplier.get(AnyExceptionSupplier.java:27)[143:org.apache.brooklyn.utils-common:0.11.0.20170126_1332]
            at org.apache.brooklyn.util.guava.Maybe$Absent.getException(Maybe.java:337)[143:org.apache.brooklyn.utils-common:0.11.0.20170126_1332]
            ... 17 more
    Caused by: org.apache.brooklyn.util.javalang.coerce.ClassCoercionException: Cannot coerce type org.apache.brooklyn.camp.brooklyn.spi.dsl.methods.DslComponent.DslSensorSupplier to org.apache.brooklyn.api.sensor.Sensor (sensor("kubernetes.url")): no adapter known
            at org.apache.brooklyn.util.javalang.coerce.TypeCoercerExtensible.tryCoerceInternal(TypeCoercerExtensible.java:212)[143:org.apache.brooklyn.utils-common:0.11.0.20170126_1332]
            at org.apache.brooklyn.util.javalang.coerce.TypeCoercerExtensible.tryCoerce(TypeCoercerExtensible.java:108)[143:org.apache.brooklyn.utils-common:0.11.0.20170126_1332]
            at org.apache.brooklyn.util.javalang.coerce.TypeCoercerExtensible.tryCoerceCollection(TypeCoercerExtensible.java:294)[143:org.apache.brooklyn.utils-common:0.11.0.20170126_1332]
            ... 16 more
    ```

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/neykov/brooklyn-server fix-nested-nonblocking-config

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/brooklyn-server/pull/542.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #542
    
----
commit c425099af0e3fa4b1c578ea1bb47be23be548600
Author: Svetoslav Neykov <sv...@cloudsoftcorp.com>
Date:   2017-01-30T15:50:53Z

    Resolve deferred values in containers (list, map) on config().get(...)

----


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] brooklyn-server pull request #542: Resolve deferred values in containers (li...

Posted by asfgit <gi...@git.apache.org>.
Github user asfgit closed the pull request at:

    https://github.com/apache/brooklyn-server/pull/542


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] brooklyn-server issue #542: Resolve deferred values in containers (list, map...

Posted by drigodwin <gi...@git.apache.org>.
Github user drigodwin commented on the issue:

    https://github.com/apache/brooklyn-server/pull/542
  
    LGTM, thanks @neykov 


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---