karaf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jean-Baptiste Onofré (JIRA) <j...@apache.org>
Subject [jira] [Resolved] (KARAF-852) Cellar node registrations can be lost for groups and distributed service endpoints.
Date Fri, 20 Jun 2014 15:11:25 GMT

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

Jean-Baptiste Onofré resolved KARAF-852.

    Resolution: Cannot Reproduce
      Assignee: Jean-Baptiste Onofré

With the latest change (and the storage of the groups in ConfigAdmin), I was not able to reproduce
this issue.

> 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
>            Assignee: Jean-Baptiste Onofré
> 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 was sent by Atlassian JIRA

View raw message