brooklyn-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Valentin Aitken (JIRA)" <j...@apache.org>
Subject [jira] [Created] (BROOKLYN-497) Rebind failure on connectSensors is not properly reported
Date Thu, 04 May 2017 10:32:04 GMT
Valentin Aitken created BROOKLYN-497:
----------------------------------------

             Summary: Rebind failure on connectSensors is not properly reported
                 Key: BROOKLYN-497
                 URL: https://issues.apache.org/jira/browse/BROOKLYN-497
             Project: Brooklyn
          Issue Type: Bug
            Reporter: Valentin Aitken


Normally if Apache Brooklyn fails to read an entity class it fails to start or continues depending
on how it is configured.
However if there are class loading errors which happen on connect sensors this is only reported
in the log. This could be not so fatal rebind error  however it still need some status reporting
at least in Brooklyn API.

Test which I did:
I created a type which has in it reference to a class which is only in Apache Brooklyn 0.11.0
rc2 and presumably it will be in final 0.11.0 and it will not be in the upcoming 0.12.0.
{noformat}
    @Override
    protected void connectSensors() {
        super.connectSensors();
        logger.info(org.apache.brooklyn.rest.api.VersionApi.class.getName());
    }
{noformat}

When I launch Apache Brooklyn 0.12.0 SNAPSHOT
 I get a warning in logs but still Apache Brooklyn starts successfully.
The warning was:
{noformat}
2017-05-04 13:17:31,018 WARN  129 o.a.b.e.s.b.SoftwareProcessImpl [nager-QR5KLdgy-2] Problem
connecting sensors on rebind of TypeReferringToAnOldApiImpl{id=n7o0ghxs0p}
java.lang.NoClassDefFoundError: org/apache/brooklyn/rest/api/VersionApi
	at org.apache.brooklyn.test.osgi.entities.rebind.oldapi.brooklynnodewithapi.TypeReferringToAnOldApiImpl.connectSensors(TypeReferringToAnOldApiImpl.java:32)
	at org.apache.brooklyn.entity.software.base.SoftwareProcessImpl$2.call(SoftwareProcessImpl.java:402)[129:org.apache.brooklyn.software-base:0.12.0.SNAPSHOT]
	at org.apache.brooklyn.entity.software.base.SoftwareProcessImpl$2.call(SoftwareProcessImpl.java:395)[129:org.apache.brooklyn.software-base:0.12.0.SNAPSHOT]
	at org.apache.brooklyn.util.core.task.BasicExecutionManager$ScheduledTaskCallable$1.call(BasicExecutionManager.java:451)[120:org.apache.brooklyn.core:0.12.0.SNAPSHOT]
	at org.apache.brooklyn.util.core.task.BasicExecutionManager$SubmissionCallable.call(BasicExecutionManager.java:529)[120:org.apache.brooklyn.core:0.12.0.SNAPSHOT]
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)[:1.8.0_121]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)[:1.8.0_121]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)[:1.8.0_121]
	at java.lang.Thread.run(Thread.java:745)[:1.8.0_121]
Caused by: java.lang.ClassNotFoundException: org.apache.brooklyn.rest.api.VersionApi not found
by org.apache.brooklyn.rest-api [128]
	at org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1574)[org.apache.felix.framework-5.6.1.jar:]
	at org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:79)[org.apache.felix.framework-5.6.1.jar:]
	at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:2018)[org.apache.felix.framework-5.6.1.jar:]
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)[:1.8.0_121]
	at org.apache.felix.framework.BundleWiringImpl.getClassByDelegation(BundleWiringImpl.java:1415)[org.apache.felix.framework-5.6.1.jar:]
	at org.apache.felix.framework.BundleWiringImpl.searchImports(BundleWiringImpl.java:1595)[org.apache.felix.framework-5.6.1.jar:]
	at org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1525)[org.apache.felix.framework-5.6.1.jar:]
	at org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:79)[org.apache.felix.framework-5.6.1.jar:]
	at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:2018)[org.apache.felix.framework-5.6.1.jar:]
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)[:1.8.0_121]
	... 9 more
{noformat} 

I think there is helpful explanation about that in https://issues.apache.org/jira/browse/BROOKLYN-425?focusedCommentId=15821864&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-15821864




--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Mime
View raw message