How to do gracefull shutdown of ActiveMQ 3.2 broker?

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

How to do gracefull shutdown of ActiveMQ 3.2 broker?

Ulhas Bhole
Hi All,

Can anyone tell me how can I shutdown activemq 3.2 broker gracefully ? I am getting database corruption in case of durable subscription and shutting down broker with Ctrl-C.


Regards,

Ulhas Bhole

> -----Original Message-----
> From: Bhole, Ulhas
> Sent: 14 February 2006 11:09
> To: [hidden email]; [hidden email]
> Cc: [hidden email]; [hidden email]
> Subject: FW: [celtix-dev] RE: [activemq-user] Strange blocking createDurableSubscriber() call in ActiveMQ 3.2
>
>
> Hi all,
>
> Does anyone know what may be wrong from the stack trace? I also seeing Broker startup failure once in a while after the following problem with the stack trace attached because of the size restricition. The only option I have here is to cleanup var directory and start over clean.
>
> Any help is appriciated.
>
> Regards,
>
> Ulhas Bhole.
>
>
>
>
> -----Original Message-----
> From:   Bhole, Ulhas
> Sent:   Tue 07/02/2006 18:03
> To:     [hidden email]
> Cc:     [hidden email]
> Subject:        [activemq-user] Strange blocking createDurableSubscriber() call in ActiveMQ 3.2
>
> Hi,
>
> I am trying to use ActiveMQ 3.2 Durable Topic Subscrition in one of the ObjectWeb Celtix ESB samples. I am working on Redhat Linux 9 but saw similar problem on Windows also. I am getting problem using the durable subscription in a way that It is blocking on createDurableSubscriber() call.
> The problem occures after some repeated shutdown and restart of JMS Broker and my Client/Server (producer/receivers).
>
> I tried to reproduce the problem with the pure JMS client(producer) and server(receiver) but was unable to produce it. However, once I get the problem with the my Celtix demo. my Pure Server(receiver) which also would block in the same call with similar stack trace.
>
> Here is a stack trace of the blocking call from Pure Server(receiver).
>
>
> "JmsSessionDispatcher: 1" prio=1 tid=0x083f4380 nid=0x271a in Object.wait() [0xbe7ff000..0xbe7ff5dc]
>         at java.lang.Object.wait(Native Method)
>         at org.activemq.io.util.MemoryBoundedQueue.dequeue(MemoryBoundedQueue.java:242)
>         - locked <0x659e0060> (a java.lang.Object)
>         at org.activemq.ActiveMQSessionExecutor.run(ActiveMQSessionExecutor.java:93)
>         at java.lang.Thread.run(Thread.java:595)
>
> "TcpTransportChannel: Socket[addr=localhost/127.0.0.1,port=61616,localport=33917]" prio=1 tid=0x083b0340 nid=0x2717 runnable [0xbe9ff000..0xbe9ff75c]
>         at java.net.SocketInputStream.socketRead0(Native Method)
>         at java.net.SocketInputStream.read(SocketInputStream.java:129)
>         at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
>         at java.io.BufferedInputStream.read(BufferedInputStream.java:235)
>         - locked <0x65ef9f38> (a java.io.BufferedInputStream)
>         at java.io.DataInputStream.readByte(DataInputStream.java:241)
>         at org.activemq.io.AbstractWireFormat.readPacket(AbstractWireFormat.java:230)
>         at org.activemq.transport.tcp.TcpTransportChannel.run(TcpTransportChannel.java:313)
>         at java.lang.Thread.run(Thread.java:595)
>
> "Low Memory Detector" daemon prio=1 tid=0x080a50f0 nid=0x2714 runnable [0x00000000..0x00000000]
>
> "CompilerThread0" daemon prio=1 tid=0x080a3c70 nid=0x2713 waiting on condition [0x00000000..0xbefff1c4]
>
> "Signal Dispatcher" daemon prio=1 tid=0x080a2be0 nid=0x2712 waiting on condition [0x00000000..0x00000000]
>
> "Finalizer" daemon prio=1 tid=0x0809bf38 nid=0x2711 in Object.wait() [0xbf3ff000..0xbf3ff4dc]
>         at java.lang.Object.wait(Native Method)
>         - waiting on <0x65e5ac20> (a java.lang.ref.ReferenceQueue$Lock)
>         at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:116)
>         - locked <0x65e5ac20> (a java.lang.ref.ReferenceQueue$Lock)
>         at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:132)>
>         at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)
>
> "Reference Handler" daemon prio=1 tid=0x0809b240 nid=0x2710 in Object.wait() [0xbf5ff000..0xbf5ff65c]
>         at java.lang.Object.wait(Native Method)
>         - waiting on <0x65e5aca0> (a java.lang.ref.Reference$Lock)
>         at java.lang.Object.wait(Object.java:474)
>         at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
>         - locked <0x65e5aca0> (a java.lang.ref.Reference$Lock)
>
> "main" prio=1 tid=0x0805bce0 nid=0x270d in Object.wait() [0xbfffc000..0xbfffce78]
>         at java.lang.Object.wait(Native Method)
>         - waiting on <0x6598dde0> (a java.lang.Object)
>         at org.activemq.message.ReceiptHolder.getReceipt(ReceiptHolder.java:68)
>         - locked <0x6598dde0> (a java.lang.Object)
>         at org.activemq.transport.TransportChannelSupport.send(TransportChannelSupport.java:146)
>         at org.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1377)
>         at org.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1362)
>         at org.activemq.ActiveMQSession.addConsumer(ActiveMQSession.java:1198)
>         at org.activemq.ActiveMQMessageConsumer.<init>(ActiveMQMessageConsumer.java:145)
>         at org.activemq.ActiveMQTopicSubscriber.<init>(ActiveMQTopicSubscriber.java:116)
>         at org.activemq.ActiveMQSession.createDurableSubscriber(ActiveMQSession.java:793)
>         at org.activemq.ActiveMQTopicSession.createDurableSubscriber(ActiveMQTopicSession.java:156)
>         at DurableSubscriberServer.run(DurableSubscriberServer.java:45)
>         at DurableSubscriberServer.main(DurableSubscriberServer.java:24)
>
> "VM Thread" prio=1 tid=0x080967e0 nid=0x270f runnable
>
> "VM Periodic Task Thread" prio=1 tid=0x080c7df8 nid=0x2715 waiting on condition
>
>
> Can anyone help me in telling what the problem might be?
>
> If required I have the state of the ActiveMQ Journal and Database on which this problem is occuring. One more thing that I observed is after coming at this state If I Ctrl-C the JMS Broker It shuts down TCP transport Adapter and hangs in Shutdown Hook.
>
> Regards,
>
> Ulhas Bhole
>
>
>
>
>
>
>
>
>  << File: broker-failure-stack.txt >>