Hi All,

We have already done a similar implementation for durable topics on member
removed.

+1 for Asanka's suggestion to remove non-topic subscriptions on both
occasions.

Regards,
Hemika

Hemika Kodikara
Software Engineer
WSO2 Inc.
lean . enterprise . middleware
http://wso2.com

Mobile : +94777688882

On Thu, Aug 13, 2015 at 11:09 AM, Asitha Nanayakkara <asi...@wso2.com>
wrote:

>
> On Thu, Aug 13, 2015 at 3:17 PM, Asanka Abeyweera <asank...@wso2.com>
> wrote:
>
>> Hi Asitha,
>>
>> I don't think we can achieve this by only doing the cleanup at the
>> coordinator selection point. We have to clean the topic subscriptions for a
>> non-coordinator node when it leaves (In this case a new coordinator will
>> not be elected).
>>
>> Oh! yes agreed!
>
>>
>> On Thu, Aug 13, 2015 at 5:04 AM, Asitha Nanayakkara <asi...@wso2.com>
>> wrote:
>>
>>>
>>>
>>> On Wed, Aug 12, 2015 at 10:53 PM, Asanka Abeyweera <asank...@wso2.com>
>>> wrote:
>>>
>>>> Hi Pumudu,
>>>>
>>>> I think we have to do the clean up in both places. Case 1 is required
>>>> when the only node in the cluster leaves and come back. Case 2 is required
>>>> when a single node leaves in a multi node cluster.
>>>>
>>>> On Wed, Aug 12, 2015 at 5:38 PM, Pumudu Ruhunage <pum...@wso2.com>
>>>> wrote:
>>>>
>>>>> Hi,
>>>>>
>>>>> Currently if MB node got killed unexpectedly non-durable topic
>>>>> subscriptions bind to that node will remain in cluster. This can cause
>>>>> unexpected behaviors in cluster since that node has already removed.
>>>>>
>>>>> IMO these topic subscriptions can clean up in two methods.
>>>>>
>>>>> 1. During each MB node start up, remove all non-durable topic
>>>>> subscriptions for it's local node id. (This will ensure newly started node
>>>>> won't receive any non-durable topic messages related to previously killed
>>>>> MB node with same node id)
>>>>>
>>>>
>>>> I think  we can do this in org.wso2.andes.kernel.AndesKernelBoot or in
>>>> a similar class. May be we can do this similar to the way we do the slot
>>>> recovery task.
>>>>
>>>>>
>>>>>
>>>> 2. Cluster coordinator should remove all non-durable topic
>>>>> subscriptions when a member left from cluster. (This can be a problem if
>>>>> coordinator node killed. If there's a method to get previous coordinator
>>>>> node id by newly elected coordinator this method can be implemented)
>>>>>
>>>>
>>>> For this case we can do the clean up in
>>>> org.wso2.andes.server.cluster.ClusterManager#memberRemoved method after
>>>> checking if the current node is the coordinator. This will work even if the
>>>> coordinator node get killed.
>>>>
>>>
>>> When a new coordinator is elected can't we let that newly elected
>>> coordinator do this ? Even at startup there is a coordinator election
>>> right? if that's the case we can cover both scenarios IMO?
>>>
>>>
>>>>>
>>>> How should we do the clean up. WDYT?
>>>>>
>>>>> Regards,
>>>>> Pumudu
>>>>> --
>>>>> Pumudu Ruhunage
>>>>> Associate Software Engineer | WSO2 Inc
>>>>> M: +94 779 664493  | http://wso2.com
>>>>>
>>>>> _______________________________________________
>>>>> Dev mailing list
>>>>> Dev@wso2.org
>>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> Asanka Abeyweera
>>>> Software Engineer
>>>> WSO2 Inc.
>>>>
>>>> Phone: +94 712228648
>>>> Blog: a5anka.github.io
>>>>
>>>> _______________________________________________
>>>> Dev mailing list
>>>> Dev@wso2.org
>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>>>
>>>>
>>>
>>>
>>> --
>>> *Asitha Nanayakkara*
>>> Software Engineer
>>> WSO2, Inc. http://wso2.com/
>>> Mob: + 94 77 85 30 682
>>>
>>>
>>
>>
>> --
>> Asanka Abeyweera
>> Software Engineer
>> WSO2 Inc.
>>
>> Phone: +94 712228648
>> Blog: a5anka.github.io
>>
>
>
>
> --
> *Asitha Nanayakkara*
> Software Engineer
> WSO2, Inc. http://wso2.com/
> Mob: + 94 77 85 30 682
>
>
> _______________________________________________
> Dev mailing list
> Dev@wso2.org
> http://wso2.org/cgi-bin/mailman/listinfo/dev
>
>
_______________________________________________
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to