Hi Ruwan,

 

There are a few issues with the shutdown-handling left, especially in error 
situations. Runtime-Exceptions are passing through the layers and are not 
always appropriately handled. Each time I’m encountering an issue, I’ll put it 
on a list. Sometimes I would like to fix those issues immediately, but as I’m 
currently working on a change which is also large enough without all those 
corrections on the way, I try to keep those issues for later to ease the review 
work.

 

I also started to move some classes from org.apache.synape to a subpackage 
org.apache.synapse.server, but then decided to go back as this makes it harder 
to follow up parallel changes to the same classes and also makes reviewing 
harder then it has to be. So I stepped back. Anyway I think moving some classes 
from the toplevel package to a server package would make sense as a next step.

 

I’ll post the patch today, as all my tests seem to be successful. I will now 
spend some hours on documenting and then look for the open issue in JIRA and 
attach the patch. So if you could wait with some further changes to 
ServerManager, Axis2SynapseController and those central classes this would help 
me.

 

Thanks,

   Eric

 

________________________________

From: Ruwan Linton [mailto:[email protected]] 
Sent: Sunday, April 26, 2009 7:28 PM
To: [email protected]
Subject: Re: [jira] Updated: (SYNAPSE-536) Error while stoping the Synapse 
server

 

Eric,

I applied the patch and tested... Even though this particular exception is not 
there, it doesn't seem to go on the clean shutdown path instead it just halts 
and seems to be the shutdown hook is not executing.... :-( Also this doesn't 
seem to be relevant to this fix, but there is something wrong on the trunk 
about the shutdown process.

I will further look into this in the mean time if you happen to see the same 
issue on your environment please do let me know.

Thanks,
Ruwan

On Sun, Apr 26, 2009 at 4:41 AM, Hubert, Eric <[email protected]> wrote:

Hi Ruwan,

I submitted a patch which should fix this issue you reported. Fortunately I was 
not able to reproduce it locally. Could you please first apply this patch 
locally and test if it fixes the issue for you!

By the way, which log4j configuration are we using if running the server from 
synapse.sh? There is one directly in the lib directory which does not seem to 
be used and one in the synapse-core.jar and likely others...

There are still a couple of other issues in the startup/shutdown logic you will 
notice once you call stop and start from ServerManager. I'm working on those 
issues as well.

Thanks,
  Eric



>
>      [ https://issues.apache.org/jira/browse/SYNAPSE-
> 536?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
>
> Eric Hubert updated SYNAPSE-536:
> --------------------------------
>
>     Attachment: Shutdown.patch
>
> > Error while stoping the Synapse server
> > --------------------------------------
> >
> >                 Key: SYNAPSE-536
> >                 URL: https://issues.apache.org/jira/browse/SYNAPSE-536
> >             Project: Synapse
> >          Issue Type: Bug
> >          Components: Core
> >    Affects Versions: NIGHTLY
> >            Reporter: Eric Hubert
> >             Fix For: 1.3
> >
> >         Attachments: Shutdown.patch
> >
> >
> > Originally reported by Ruwan and confirmed by Hiranya:
> > On the latest build I am seeing an error while trying to stop Synapse,
> by killing the process (CTRL+C) on Unix.
> > Is this local to me? I do have some local changes but they have nothing
> to do with this I guess. :-(
> > 2009-04-25 09:49:40,580 [-] [Thread-9]  INFO SynapseServer Shutting down
> Apache Synapse...
> > 2009-04-25 09:49:40,582 [-] [HttpCoreNIOListener]  INFO
> HttpCoreNIOListener HTTPS Listener Shutdown
> > 2009-04-25 09:49:40,583 [-] [Thread-9]  INFO VFSTransportListener VFS
> Listener Shutdown
> > 2009-04-25 09:49:40,583 [-] [HttpCoreNIOListener]  INFO
> HttpCoreNIOListener HTTP Listener Shutdown
> > 2009-04-25 09:49:40,584 [-] [Thread-9]  INFO MailTransportListener
> MAILTO Listener Shutdown
> > 2009-04-25 09:49:40,585 [-] [HttpCoreNIOSender]  INFO HttpCoreNIOSender
> HTTPS Sender Shutdown
> > 2009-04-25 09:49:40,586 [-] [HttpCoreNIOSender]  INFO HttpCoreNIOSender
> HTTP Sender Shutdown
> > 2009-04-25 09:49:40,586 [-] [Thread-9]  INFO VFSTransportSender VFS
> Sender Shutdown
> > 2009-04-25 09:49:40,587 [-] [Thread-9]  INFO JMSSender JMS Sender
> Shutdown
> > 2009-04-25 09:49:40,588 [-] [Thread-9]  INFO RMIRegistryController
> Removing the RMI registry bound to port : 1099
> > 2009-04-25 09:49:40,604 [-] [Thread-9]  INFO JmxAdapter
> JMXConnectorServer stopping on
> service:jmx:rmi:///jndi/rmi://ruwan:1099/synapse
> > 2009-04-25 09:49:40,761 [-] [Thread-9] ERROR JmxAdapter Error while
> stopping remote JMX connector
> > java.io.IOException: Cannot bind to URL:
> > javax.naming.CommunicationException [Root exception is
> > java.rmi.NoSuchObjectException: no such object in table]
> >         at
> javax.management.remote.rmi.RMIConnectorServer.newIOException(RMIConnector
> Server.java:814)
> >         at
> javax.management.remote.rmi.RMIConnectorServer.stop(RMIConnectorServer.jav
> a:572)
> >         at org.apache.synapse.JmxAdapter.stop(JmxAdapter.java:140)
> >         at
> org.apache.synapse.Axis2SynapseController.stopJmxAdapter(Axis2SynapseContr
> oller.java:583)
> >         at
> org.apache.synapse.Axis2SynapseController.destroy(Axis2SynapseController.j
> ava:143)
> >         at
> org.apache.synapse.ServerManager.doDestroy(ServerManager.java:252)
> >         at
> org.apache.synapse.ServerManager.destroy(ServerManager.java:117)
> >         at org.apache.synapse.SynapseServer$1.run(SynapseServer.java:88)
> > Caused by: javax.naming.CommunicationException [Root exception is
> > java.rmi.NoSuchObjectException: no such object in table]
> >         at
> com.sun.jndi.rmi.registry.RegistryContext.unbind(RegistryContext.java:156)
> >         at
> com.sun.jndi.toolkit.url.GenericURLContext.unbind(GenericURLContext.java:2
> 54)
> >         at javax.naming.InitialContext.unbind(InitialContext.java:375)
> >         at
> javax.management.remote.rmi.RMIConnectorServer.stop(RMIConnectorServer.jav
> a:565)
> >         ... 6 more
> > Caused by: java.rmi.NoSuchObjectException: no such object in table
> >         at
> sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemot
> eCall.java:247)
> >         at
> sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:223)
> >         at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:343)
> >         at sun.rmi.registry.RegistryImpl_Stub.unbind(Unknown Source)
> >         at
> com.sun.jndi.rmi.registry.RegistryContext.unbind(RegistryContext.java:152)
> >         ... 9 more
> > 2009-04-25 09:49:40,772 [-] [Thread-9]  INFO SynapseServer Apache
> Synapse shutdown complete
> > 2009-04-25 09:49:40,773 [-] [Thread-9]  INFO SynapseServer Halting JVM
> > Unfortunately I'm not able to reproduce this issue in my environment
> although from looking at the code the obvious reason seems to be the RMI
> registry is shutdown before the JmxAdapter is stopped.
> > Attached you'll find a patch which moves the RMI registry stop to a
> later position after stopping the JmxAdapter. This should fix the issue.
>
> --
> This message is automatically generated by JIRA.
> -
> You can reply to this email to add a comment to the issue online.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]




-- 
Ruwan Linton
Senior Software Engineer & Product Manager; WSO2 ESB; http://wso2.org/esb
WSO2 Inc.; http://wso2.org
email: [email protected]; cell: +94 77 341 3097
blog: http://ruwansblog.blogspot.com 

Reply via email to