On Thu, Aug 13, 2015 at 3:17 PM, Asanka Abeyweera <[email protected]> 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 <[email protected]>
> wrote:
>
>>
>>
>> On Wed, Aug 12, 2015 at 10:53 PM, Asanka Abeyweera <[email protected]>
>> 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 <[email protected]>
>>> 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
>>>> [email protected]
>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>>>
>>>>
>>>
>>>
>>> --
>>> Asanka Abeyweera
>>> Software Engineer
>>> WSO2 Inc.
>>>
>>> Phone: +94 712228648
>>> Blog: a5anka.github.io
>>>
>>> _______________________________________________
>>> Dev mailing list
>>> [email protected]
>>> 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
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to