[ 
http://jira.amdatu.org/jira/browse/AMDATUCASSANDRA-164?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12674#comment-12674
 ] 

Ivo Ladage - van Doorn commented on AMDATUCASSANDRA-164:
--------------------------------------------------------

At least there is 1 issue in the client: in the start() method it creates and 
starts a Thread which will register a service as soon as a successful Thrift 
connection could be made to the Cassandra server. However, concurrently the 
very same bundle may be stopped (in particular upon startup) which unregisters 
that very same bundle. Since there is no synchronized block, the service may 
even be unregistered before it is registered. 
                
> Updating the Cassandra client bundle causes errors en stacktraces
> -----------------------------------------------------------------
>
>                 Key: AMDATUCASSANDRA-164
>                 URL: http://jira.amdatu.org/jira/browse/AMDATUCASSANDRA-164
>             Project: Amdatu Cassandra
>          Issue Type: Bug
>          Components: Cassandra daemon
>            Reporter: Ivo Ladage - van Doorn
>            Assignee: Ivo Ladage - van Doorn
>             Fix For: 0.2.3
>
>
> If you update the Cassandra client bundle, the error messages below appear in 
> the log. This can easily be reproduces with the release-demo artifact:
> [2012-02-15 17:23:08] ERROR: FrameworkEvent ERROR 
> [org.amdatu.cassandra.client]
> org.osgi.framework.BundleException: Bundle state has changed unexpectedly 
> during refresh.
> org.apache.felix.log.LogException: org.osgi.framework.BundleException: Bundle 
> state has changed unexpectedly during refr
> esh.
>         at org.apache.felix.framework.Felix.refreshBundle(Felix.java:4192)
>         at org.apache.felix.framework.Felix.access$900(Felix.java:74)
>         at 
> org.apache.felix.framework.Felix$RefreshHelper.refreshOrRemove(Felix.java:4656)
>         at org.apache.felix.framework.Felix.refreshPackages(Felix.java:3960)
>         at 
> org.apache.felix.framework.FrameworkWiringImpl.run(FrameworkWiringImpl.java:172)
>         at java.lang.Thread.run(Thread.java:662)
> [2012-02-15 17:23:19] WARNING: Invocation of 'onAdded' failed. 
> [org.amdatu.opensocial.gadgetmanagement]
> The gadget definition provider 'class 
> org.amdatu.auth.useradmin.gadget.service.UserAdminGadgetDefinition' registers 
> a ga
> dget definition with URL '/gadget/useradmin/jsp/UserAdminGadget.jsp', but 
> this URL is already taken.
> java.lang.IllegalArgumentException: The gadget definition provider 'class 
> org.amdatu.auth.useradmin.gadget.service.UserA
> dminGadgetDefinition' registers a gadget definition with URL 
> '/gadget/useradmin/jsp/UserAdminGadget.jsp', but this URL i
> s already taken.
>         at 
> org.amdatu.opensocial.gadgetmanagement.service.InternalGadgetStoreImpl.isValid(InternalGadgetStoreImpl.java:1
> 23)
>         at 
> org.amdatu.opensocial.gadgetmanagement.service.InternalGadgetStoreImpl.onAdded(InternalGadgetStoreImpl.java:7
> 8)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>         at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:597)
>         at 
> org.apache.felix.dm.InvocationUtil.invokeMethod(InvocationUtil.java:70)
>         at 
> org.apache.felix.dm.InvocationUtil.invokeCallbackMethod(InvocationUtil.java:40)
> Then if you restart, the dashboard.jsp returns a 503 with this error:
> > [2012-02-15 17:25:56] WARNING: /dashboard/jsp/dashboard.jsp: 
> > javax.servlet.UnavailableException: java.lang.IllegalSta
> eException: Can only register services while bundle is active or activating. 
> [org.apache.felix.http.jetty]
>     java.lang.IllegalStateException: Can only register services while bundle 
> is active or activating.
> Caused by:
> javax.servlet.UnavailableException: java.lang.IllegalStateException: Can only 
> register services while bundle is active or activating.
>       at 
> org.mortbay.jetty.servlet.ServletHolder.makeUnavailable(ServletHolder.java:415)
>       at 
> org.mortbay.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:458)
>       at 
> org.mortbay.jetty.servlet.ServletHolder.doStart(ServletHolder.java:263)
>       at 
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
>       at 
> org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:685)
>       at org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
>       at 
> org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517)
>       at 
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
>       at 
> org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
>       at org.mortbay.jetty.Server.doStart(Server.java:224)
>       at 
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
>       at 
> org.apache.felix.http.jetty.internal.JettyService.initializeJetty(JettyService.java:145)
>       at 
> org.apache.felix.http.jetty.internal.JettyService.startJetty(JettyService.java:112)
>       at 
> org.apache.felix.http.jetty.internal.JettyService.run(JettyService.java:203)
>       at java.lang.Thread.run(Thread.java:662)
> Not sure to what extend this is a Cassandra issue, as it can be easily fixed 
> by removing the container.js file from work/shindig

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
http://jira.amdatu.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        
_______________________________________________
Amdatu-developers mailing list
[email protected]
http://lists.amdatu.org/mailman/listinfo/amdatu-developers

Reply via email to