Hi HasithaH,

In the  shutdown logs i could see following line, before start andes
deactivation,  what does actually mean? does it stop cassandra transport
listener?

[2014-05-02 10:12:19,021]  INFO {org.apache.cassandra.transport.Server} -
Stop listening for CQL clients





On Fri, May 2, 2014 at 10:26 AM, Hasitha Hiranya <hasit...@wso2.com> wrote:

> Hi Shameera,
>
> I have added logs and tested. Full Log is attached at (
> https://drive.google.com/a/wso2.com/file/d/0B57HoxWKqqNnN2FPRE9FeC0yYXM/edit?usp=sharing).
> Deactivate of andes service is like follows.
>
>     protected void deactivate(ComponentContext ctx) {
>         // Unregister QpidService
>         System.out.println("+++++++++++++++++++Started deactivating
> andes");
>         System.out.println("++++++++++++Unregistering qpid service");
>         try {
>             if (null != qpidService) {
>                 qpidService.unregister();
>             }
>         } catch (Exception e) {}
>         System.out.println("+++++++++++++++++Unregistered qpidService");
>         // Shutdown the Qpid broker
>         System.out.println("+++++++++++++++++Shutting down andes");
>         ApplicationRegistry.remove();
>         System.out.println("+++++++++++done shutting down andes");
>         System.out.println("+++++++++++done deactivating of andes
> component");
>     }
>
> +++++++++++++++++++Started deactivating andes
> ++++++++++++Unregistering qpid service
> +++++++++++++++++Unregistered qpidService
> +++++++++++++++++Shutting down andes
> +++++++++++done shutting down andes
> +++++++++++done deactivating of andes component
> ++++++++++++++++++++started deactivating cassandra
> ++++++++++++++++++done deactivating cassandra
>
> I have a doubt like is it correct to unregister qpidService before
> actually shutting down the broker?
> Then I changed the code swapping the order.
>
>     protected void deactivate(ComponentContext ctx) {
>         // Unregister QpidService
>         // Shutdown the Qpid broker
>         ApplicationRegistry.remove();
>         try {
>             if (null != qpidService) {
>                 qpidService.unregister();
>             }
>         } catch (Exception e) {}
>     }
>
>
> Still errors happened. Order was as follows.
>
> +++++++++++++++++++Started deactivating andes
> +++++++++++++++++++++shutting down andes
> +++++++++++done shutting down andes
> unregistering qpidservice
>  +++++++++++++++++Unregistered qpidService
> +++++++++++done deactivating of andes component
> ++++++++++++++++++++started deactivating cassandra
> ++++++++++++++++++done deactivating cassandra
>
> Pom file has cassandra as a dependency.
>
>                         <Import-Package>
>                             org.apache.axis2.*;
> version="${axis2.osgi.version.range.qpid}",
>                             org.apache.axiom.*;
> version="${axiom.osgi.version.range.qpid}",
>                             org.wso2.carbon.andes.authentication.service,
>                             org.wso2.carbon.andes.commons,
>                             org.wso2.carbon.andes.commons.registry,
>                          *   org.wso2.carbon.cassandra.server;
> version="4.2.2",*
>                             *;resolution:=optional
>                         </Import-Package>
>
> What is going wrong?
>
> Thanks
>
>
> On Fri, May 2, 2014 at 9:33 AM, Shameera Rathnayaka <shame...@wso2.com>wrote:
>
>> Hi HasithaH,
>>
>> Shall we try with log messages to identify service deactivation and
>> bundle undeployment order of andes and cassandra ?
>>
>> Thanks,
>> Shameera.
>>
>>
>> On Fri, May 2, 2014 at 9:18 AM, Hasitha Hiranya <hasit...@wso2.com>wrote:
>>
>>> During testing I followed following steps.
>>>
>>> 1. create a topic subscriber
>>> 2. publish 1000 msgs
>>> 3. wait until the subscriber get 1000 messages and close
>>> 4. now underneath MB will still be leisurely deleting the content of
>>> removed messages (with timeouts etc)
>>> 5. I shutdown the broker by Ctrl+c
>>> 6. Now with my above fixes it will delete all records that needs to be
>>> deleted before shutting down.
>>>
>>> I can see when the code is at step 6 MB is saying cassandra is down.
>>> Thus before returning from the Close() of message store (hence before
>>> returning from deactivte of andes service), cassandra service get
>>> disappeared. It boils down to an OSGI problem.
>>>
>>> @Shameera,
>>>
>>> I have the dependency to the cassandra bundle as you have suggested in
>>> the andes bundle. But seems there is a problem still. Any idea why that
>>> happens?
>>>
>>>
>>> On Thu, May 1, 2014 at 10:56 AM, Hasitha Hiranya <hasit...@wso2.com>wrote:
>>>
>>>> Hi,
>>>>
>>>> Also in order to stop connection to Cassandra gracefully, we need to do
>>>> following.
>>>>
>>>>         cluster.getConnectionManager().shutdown();
>>>>
>>>> Thanks
>>>>
>>>>
>>>> On Thu, May 1, 2014 at 10:52 AM, Hasitha Hiranya <hasit...@wso2.com>wrote:
>>>>
>>>>> Hi,
>>>>>
>>>>> I intend to cleanup graceful shutdown code of WSO2 Message Broker in
>>>>> following way. We have to do them as a part of fixing shutdown errors. We
>>>>> have managed to keep Cassandra until broker service shutdown properly in
>>>>> OSGI env, but we see problems due to lack of these.
>>>>>
>>>>> 1. When shutting down we have to flush
>>>>> all pubSubMessageContentRemoverTasks, meaning we have to delete all acked
>>>>> messages for topics, otherwise they will never be removed again (After
>>>>> shutting down memory is gone). Concern is we have to wait for timeout for
>>>>> those messages to happen, which will cause shutting down of MB on hold
>>>>> untill all messages are timed out. For now MB will shut down hoping some
>>>>> other node will clear them up.
>>>>>
>>>>> 2. Above argument goes with content removal tasks as well. Merely
>>>>> stopping deletion thread will not help.
>>>>>
>>>>> 3. above two tasks should be done AFTER stopping queue/topic flusher
>>>>> threads.
>>>>>
>>>>> 4. When shutting down we have to clear in-memory message status (for
>>>>> message count to be correct).
>>>>>
>>>>> 5. We have to copy back NQ messages back to GQ.
>>>>>
>>>>> 6. Flush message counts.
>>>>>
>>>>> @pamod,
>>>>>
>>>>> You have a fix to flush the message count before shutdown (As we
>>>>> update it per message chunks). Is it committed? If so, where is the code?
>>>>> It should come as point 6.
>>>>>
>>>>> Apart from point 6 have have done other. Testing now.
>>>>>
>>>>> Thanks
>>>>>
>>>>> --
>>>>> *Hasitha Abeykoon*
>>>>> Software Engineer; WSO2, Inc.; http://wso2.com
>>>>> *cell:* *+94 719363063*
>>>>> *blog: **abeykoon.blogspot.com* <http://abeykoon.blogspot.com>
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> *Hasitha Abeykoon*
>>>> Software Engineer; WSO2, Inc.; http://wso2.com
>>>> *cell:* *+94 719363063*
>>>> *blog: **abeykoon.blogspot.com* <http://abeykoon.blogspot.com>
>>>>
>>>>
>>>
>>>
>>> --
>>> *Hasitha Abeykoon*
>>> Senior Software Engineer; WSO2, Inc.; http://wso2.com
>>>  *cell:* *+94 719363063*
>>> *blog: **abeykoon.blogspot.com* <http://abeykoon.blogspot.com>
>>>
>>>
>>
>>
>> --
>> *Software Engineer - WSO2 Inc.*
>> *email: shameera AT wso2.com <shame...@wso2.com> , shameera AT apache.org
>> <shame...@apache.org>*
>> *phone:  +9471 922 1454 <%2B9471%20922%201454>*
>>
>> *Linked in : *http://lk.linkedin.com/pub/shameera-rathnayaka/1a/661/561
>> *Twitter     : *https://twitter.com/Shameera_R
>>
>
>
>
> --
> *Hasitha Abeykoon*
> Senior Software Engineer; WSO2, Inc.; http://wso2.com
> *cell:* *+94 719363063*
> *blog: **abeykoon.blogspot.com* <http://abeykoon.blogspot.com>
>
>


-- 
*Software Engineer - WSO2 Inc.*
*email: shameera AT wso2.com <shame...@wso2.com> , shameera AT apache.org
<shame...@apache.org>*
*phone:  +9471 922 1454*

*Linked in : *http://lk.linkedin.com/pub/shameera-rathnayaka/1a/661/561
*Twitter     : *https://twitter.com/Shameera_R
_______________________________________________
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to