Unable to re-deploy SA if one of SU failed during previous start
----------------------------------------------------------------

                 Key: SM-1919
                 URL: https://issues.apache.org/activemq/browse/SM-1919
             Project: ServiceMix
          Issue Type: Bug
          Components: servicemix-core
    Affects Versions: 3.3.1
         Environment: WinXP, Unix
            Reporter: Sergiy Mamitko
            Priority: Critical


It is impossible to undeploy/re-deploy SA if one of it's SU was not started 
successfully.  
In my case SU was not properly initialized because it's endpoint was not 
activated (SoapEndpoint failed to activate due to invalid URL) and left in 
SHUTDOWN state, BUT external endpoint was already registered. 
That is why during undeploy shutdown method is not called and endpoint is not 
unregistered.
During redeploy (even with corrected SA) new SU and new endpoint is not 
registered due to it is already registered.

In order to reproduce that you can create simple SA with http component and set 
to it invalid URL (for example port = 505050)

Below is part of stack traces if it will be helpful 

2009-12-22 16:00:34,894 | INFO  | Timer-4    | ServiceUnitLifeCycle           | 
Initializing service unit: tools-http
2009-12-22 16:00:41,081 | DEBUG | Timer-4    | HttpComponent                  | 
Initializing service unit
2009-12-22 16:02:49,192 | DEBUG | Timer-4    | HttpComponent                  | 
Retrieving proxied endpoint definition
2009-12-22 16:04:26,069 | DEBUG | Timer-4    | jetty                          | 
Container ser...@f9b31d + 
org.apache.servicemix.http.jetty.jettycontextmanager$threadpoolwrap...@15e3b92 
as threadpool
2009-12-22 16:04:26,069 | DEBUG | Timer-4    | jetty                          | 
Container ser...@f9b31d + selectchannelconnec...@localhost:505050 as connector
2009-12-22 16:04:26,115 | DEBUG | Timer-4    | jetty                          | 
Container ser...@f9b31d + handlercollect...@f61227 as handler
2009-12-22 16:04:26,115 | DEBUG | Timer-4    | jetty                          | 
Container handlercollect...@f61227 + contexthandlercollect...@121dba8as handler
2009-12-22 16:04:26,131 | DEBUG | Timer-4    | jetty                          | 
Container handlercollect...@f61227 + 
jettycontextmanager$displayservicehand...@1dc049d as handler
2009-12-22 16:04:26,131 | INFO  | Timer-4    | jetty                          | 
jetty-6.1.14
2009-12-22 16:04:26,194 | DEBUG | Timer-4    | jetty                          | 
started 
org.apache.servicemix.http.jetty.jettycontextmanager$threadpoolwrap...@15e3b92
2009-12-22 16:04:26,209 | DEBUG | Timer-4    | jetty                          | 
starting contexthandlercollect...@121dba8
2009-12-22 16:04:26,209 | DEBUG | Timer-4    | jetty                          | 
started contexthandlercollect...@121dba8
2009-12-22 16:04:26,209 | DEBUG | Timer-4    | jetty                          | 
starting jettycontextmanager$displayservicehand...@1dc049d
2009-12-22 16:04:26,209 | DEBUG | Timer-4    | jetty                          | 
started jettycontextmanager$displayservicehand...@1dc049d
2009-12-22 16:04:26,209 | DEBUG | Timer-4    | jetty                          | 
starting handlercollect...@f61227
2009-12-22 16:04:26,209 | DEBUG | Timer-4    | jetty                          | 
started handlercollect...@f61227
2009-12-22 16:04:26,209 | DEBUG | Timer-4    | jetty                          | 
starting ser...@f9b31d
2009-12-22 16:04:26,240 | DEBUG | Timer-4    | jetty                          | 
started org.mortbay.jetty.nio.selectchannelconnecto...@d39ac
2009-12-22 16:04:26,240 | WARN  | Timer-4    | jetty                          | 
failed selectchannelconnec...@localhost:505050
java.lang.IllegalArgumentException: port out of range:505050
        at java.net.InetSocketAddress.<init>(InetSocketAddress.java:118)
        at 
org.mortbay.jetty.nio.SelectChannelConnector.open(SelectChannelConnector.java:215)
        at 
org.mortbay.jetty.nio.SelectChannelConnector.doStart(SelectChannelConnector.java:315)
        at 
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
        at org.mortbay.jetty.Server.doStart(Server.java:233)
        at 
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
        at 
org.apache.servicemix.http.jetty.JettyContextManager.createServer(JettyContextManager.java:290)
        at 
org.apache.servicemix.http.jetty.JettyContextManager.createContext(JettyContextManager.java:146)
        at 
org.apache.servicemix.http.processors.ConsumerProcessor.init(ConsumerProcessor.java:122)
        at 
org.apache.servicemix.soap.SoapEndpoint.activate(SoapEndpoint.java:356)
        at 
org.apache.servicemix.common.DefaultServiceUnit.init(DefaultServiceUnit.java:54)
        at 
org.apache.servicemix.common.BaseServiceUnitManager.init(BaseServiceUnitManager.java:122)
        at 
org.apache.servicemix.jbi.framework.ServiceUnitLifeCycle.init(ServiceUnitLifeCycle.java:85)
        at 
org.apache.servicemix.jbi.framework.ServiceAssemblyLifeCycle.start(ServiceAssemblyLifeCycle.java:145)
        at 
org.apache.servicemix.jbi.framework.DeploymentService.start(DeploymentService.java:390)
        at 
org.apache.servicemix.jbi.framework.AutoDeploymentService.updateServiceAssembly(AutoDeploymentService.java:351)
        at 
org.apache.servicemix.jbi.framework.AutoDeploymentService.updateArchive(AutoDeploymentService.java:255)
        at 
org.apache.servicemix.jbi.framework.AutoDeploymentService.monitorDirectory(AutoDeploymentService.java:658)
        at 
org.apache.servicemix.jbi.framework.AutoDeploymentService.access$800(AutoDeploymentService.java:63)
        at 
org.apache.servicemix.jbi.framework.AutoDeploymentService$1.run(AutoDeploymentService.java:625)
        at java.util.TimerThread.mainLoop(Timer.java:512)
        at java.util.TimerThread.run(Timer.java:462)
2009-12-22 16:04:26,256 | WARN  | Timer-4    | jetty                          | 
failed ser...@f9b31d
java.lang.IllegalArgumentException: port out of range:505050
        at java.net.InetSocketAddress.<init>(InetSocketAddress.java:118)
        at 
org.mortbay.jetty.nio.SelectChannelConnector.open(SelectChannelConnector.java:215)
        at 
org.mortbay.jetty.nio.SelectChannelConnector.doStart(SelectChannelConnector.java:315)
        at 
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
        at org.mortbay.jetty.Server.doStart(Server.java:233)
        at 
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
        at 
org.apache.servicemix.http.jetty.JettyContextManager.createServer(JettyContextManager.java:290)
        at 
org.apache.servicemix.http.jetty.JettyContextManager.createContext(JettyContextManager.java:146)
        at 
org.apache.servicemix.http.processors.ConsumerProcessor.init(ConsumerProcessor.java:122)
        at 
org.apache.servicemix.soap.SoapEndpoint.activate(SoapEndpoint.java:356)
        at 
org.apache.servicemix.common.DefaultServiceUnit.init(DefaultServiceUnit.java:54)
        at 
org.apache.servicemix.common.BaseServiceUnitManager.init(BaseServiceUnitManager.java:122)
        at 
org.apache.servicemix.jbi.framework.ServiceUnitLifeCycle.init(ServiceUnitLifeCycle.java:85)
        at 
org.apache.servicemix.jbi.framework.ServiceAssemblyLifeCycle.start(ServiceAssemblyLifeCycle.java:145)
        at 
org.apache.servicemix.jbi.framework.DeploymentService.start(DeploymentService.java:390)
        at 
org.apache.servicemix.jbi.framework.AutoDeploymentService.updateServiceAssembly(AutoDeploymentService.java:351)
        at 
org.apache.servicemix.jbi.framework.AutoDeploymentService.updateArchive(AutoDeploymentService.java:255)
        at 
org.apache.servicemix.jbi.framework.AutoDeploymentService.monitorDirectory(AutoDeploymentService.java:658)
        at 
org.apache.servicemix.jbi.framework.AutoDeploymentService.access$800(AutoDeploymentService.java:63)
        at 
org.apache.servicemix.jbi.framework.AutoDeploymentService$1.run(AutoDeploymentService.java:625)
        at java.util.TimerThread.mainLoop(Timer.java:512)
        at java.util.TimerThread.run(Timer.java:462)
2009-12-22 16:06:41,336 | INFO  | Timer-4    | DeploymentService              | 
Error in start
java.lang.Exception: <?xml version="1.0" encoding="UTF-8"?>
<jbi-task xmlns="http://java.sun.com/xml/ns/jbi/management-message"; 
version="1.0">
<jbi-task-result>
<frmwk-task-result>
<frmwk-task-result-details>
<task-result-details>
<task-id>start</task-id>
<task-result>FAILED</task-result>
<message-type>ERROR</message-type>
</task-result-details>
</frmwk-task-result-details>
</frmwk-task-result>
<component-task-result 
xmlns="http://java.sun.com/xml/ns/jbi/management-message";>
        <component-name>servicemix-http</component-name>
        <component-task-result-details>
                <task-result-details>
                        <task-id>init</task-id>
                        <task-result>FAILED</task-result>
                        <message-type>ERROR</message-type>
                        <task-status-msg>
<msg-loc-info>
<loc-token/>
<loc-message>Unable to init service unit</loc-message>
</msg-loc-info>
</task-status-msg>
                        <exception-info>
                                <nesting-level>1</nesting-level>
                                <msg-loc-info>
                                        <loc-token/>
                                        <loc-message>port out of 
range:505050</loc-message>
                                        
<stack-trace><![CDATA[java.lang.IllegalArgumentException: port out of 
range:505050
        at java.net.InetSocketAddress.<init>(InetSocketAddress.java:118)
        at 
org.mortbay.jetty.nio.SelectChannelConnector.open(SelectChannelConnector.java:215)
        at 
org.mortbay.jetty.nio.SelectChannelConnector.doStart(SelectChannelConnector.java:315)
        at 
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
        at org.mortbay.jetty.Server.doStart(Server.java:233)
        at 
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
        at 
org.apache.servicemix.http.jetty.JettyContextManager.createServer(JettyContextManager.java:290)
        at 
org.apache.servicemix.http.jetty.JettyContextManager.createContext(JettyContextManager.java:146)
        at 
org.apache.servicemix.http.processors.ConsumerProcessor.init(ConsumerProcessor.java:122)
        at 
org.apache.servicemix.soap.SoapEndpoint.activate(SoapEndpoint.java:356)
        at 
org.apache.servicemix.common.DefaultServiceUnit.init(DefaultServiceUnit.java:54)
        at 
org.apache.servicemix.common.BaseServiceUnitManager.init(BaseServiceUnitManager.java:122)
        at 
org.apache.servicemix.jbi.framework.ServiceUnitLifeCycle.init(ServiceUnitLifeCycle.java:85)
        at 
org.apache.servicemix.jbi.framework.ServiceAssemblyLifeCycle.start(ServiceAssemblyLifeCycle.java:145)
        at 
org.apache.servicemix.jbi.framework.DeploymentService.start(DeploymentService.java:390)
        at 
org.apache.servicemix.jbi.framework.AutoDeploymentService.updateServiceAssembly(AutoDeploymentService.java:351)
        at 
org.apache.servicemix.jbi.framework.AutoDeploymentService.updateArchive(AutoDeploymentService.java:255)
        at 
org.apache.servicemix.jbi.framework.AutoDeploymentService.monitorDirectory(AutoDeploymentService.java:658)
        at 
org.apache.servicemix.jbi.framework.AutoDeploymentService.access$800(AutoDeploymentService.java:63)
        at 
org.apache.servicemix.jbi.framework.AutoDeploymentService$1.run(AutoDeploymentService.java:625)
        at java.util.TimerThread.mainLoop(Timer.java:512)
        at java.util.TimerThread.run(Timer.java:462)
]]></stack-trace>
                                </msg-loc-info>
                        </exception-info>
                </task-result-details>
        </component-task-result-details>
</component-task-result>
</jbi-task-result>
</jbi-task>

        at 
org.apache.servicemix.jbi.framework.ManagementSupport.failure(ManagementSupport.java:125)
        at 
org.apache.servicemix.jbi.framework.ManagementSupport.failure(ManagementSupport.java:111)
        at 
org.apache.servicemix.jbi.framework.ServiceAssemblyLifeCycle.start(ServiceAssemblyLifeCycle.java:168)
        at 
org.apache.servicemix.jbi.framework.DeploymentService.start(DeploymentService.java:390)
        at 
org.apache.servicemix.jbi.framework.AutoDeploymentService.updateServiceAssembly(AutoDeploymentService.java:351)
        at 
org.apache.servicemix.jbi.framework.AutoDeploymentService.updateArchive(AutoDeploymentService.java:255)
        at 
org.apache.servicemix.jbi.framework.AutoDeploymentService.monitorDirectory(AutoDeploymentService.java:658)
        at 
org.apache.servicemix.jbi.framework.AutoDeploymentService.access$800(AutoDeploymentService.java:63)
        at 
org.apache.servicemix.jbi.framework.AutoDeploymentService$1.run(AutoDeploymentService.java:625)
        at java.util.TimerThread.mainLoop(Timer.java:512)
        at java.util.TimerThread.run(Timer.java:462)



-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to