You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@karaf.apache.org by "Jean-Baptiste Onofré (JIRA)" <ji...@apache.org> on 2013/05/19 07:17:16 UTC

[jira] [Updated] (KARAF-852) Cellar node registrations can be lost for groups and distributed service endpoints.

     [ https://issues.apache.org/jira/browse/KARAF-852?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jean-Baptiste Onofré updated KARAF-852:
---------------------------------------

    Fix Version/s:     (was: cellar-2.2.6)
                       (was: cellar-2.3.0)
                       (was: cellar-3.0.0)
    
> Cellar node registrations can be lost for groups and distributed service endpoints.
> -----------------------------------------------------------------------------------
>
>                 Key: KARAF-852
>                 URL: https://issues.apache.org/jira/browse/KARAF-852
>             Project: Karaf
>          Issue Type: Bug
>          Components: cellar-core
>    Affects Versions: cellar-2.2.2, cellar-2.2.1
>            Reporter: Ioannis Canellos
>
> Groups are stored in a distributed collection. Each group object keeps internally a set of members (the nodes that are registered to the group). If a group is registered simultaneously by two or more nodes, the group object will be overwritten. The result will be that the members that were registered in the object that was overwritten will be lost.
> Exactly the same issue can occur with nodes registering for remote services.
> Please note, that this is also a problem when two clusters are getting merged.
> This issue will probably never trigger when instances are started manually or on relatively small size clusters, but its a problem in cloud deployments of 10+ nodes.
> One solution would be to use a distributed lock before accessing these collections, but this won't solve the case of the clusters that merge.
> The alternative solution would be to refactor cellar and keep node registrations in separate collections. So instead of having a collection of groups and keep nodes inside the Group object, we could have a collection of group and a multimap of nodes (the key will be the the name and the value will be the nodes). We will need to check first how hazelcast multi map merge is handled by Hazelcast. If upon muti map merges the value objects are overriden instead of appended we will have to work this out the other way around. By other way around I mean having the groups & dist. services as part of the node.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira