Sacha Labourey wrote:
You can subscribe to merge events if you want to implement the merging
yourself i.e. if you use the clustering framework for your own mbeans.

Hi, thank's for answering. Yes I'm using clustering framwork and
membershipChangedDuringMerge, but I didn't find any correct alghorithm how to choose value for conflicting keys. (e.g. Timestamping)


I hoped that I would find this idea in source code for DistributedStateService but as I understand its and JavaGroups behavior after partition merge, DistributedStateService can be in inconsistent state. (differend global state data on differend cluster nodes) Am I right?

I'm afraid that this problem is unsolvable and there allways be situations in cluster, that after partition merge, cluster will be in inconsistent state and would produce wrong output.

And only safe solution to this state conflict after partition merge is to "core dump" application and call admin :))).





-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of David Klimek
Sent: jeudi, 27. mars 2003 12:36
To: [EMAIL PROTECTED]
Subject: [JBoss-dev] Partition merge and service state merge algorithm



Hello,


I'm looking for correct algorithm, that merges states of some clustered service when parition merge occurs.

Consider following scenario:
1. Running 8 node cluster
2. Added key "name" with value="beforesplit" into state (state is replicated across all nodes of cluster)
3. Because of network failure cluster is splited into two groups (each with 4 nodes)
4. On first group key "name" is modified to value "groupone"
5. On second group key "name" is modified to value "grouptwo"
6. Network is recovered. Cluster partion merge occurs.


After merge all nodes should have one value for key "name" but which value? (groupone, grouptwo, beforesplit) or exception should be raised?

If we drop one value, what if already this value was used in some computation or output and simple drop will cause inconsistent behavior?


Current JBoss clustering services doesn't throw light at it now. DistributedStateService doesn't handle partion merge at all and DistributedReplicaManager simply drops one of values when there are differend values for one key.


Thank you for any thoughts

David Klimek

--
http://www.sweb.cz/david.klimek



-------------------------------------------------------
This SF.net email is sponsored by:
The Definitive IT and Networking Event. Be There!
NetWorld+Interop Las Vegas 2003 -- Register today!
http://ads.sourceforge.net/cgi-bin/redirect.pl?keyn0001en
_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development





-------------------------------------------------------
This SF.net email is sponsored by:
The Definitive IT and Networking Event. Be There!
NetWorld+Interop Las Vegas 2003 -- Register today!
http://ads.sourceforge.net/cgi-bin/redirect.pl?keyn0001en
_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development





-- http://www.sweb.cz/david.klimek



-------------------------------------------------------
This SF.net email is sponsored by:
The Definitive IT and Networking Event. Be There!
NetWorld+Interop Las Vegas 2003 -- Register today!
http://ads.sourceforge.net/cgi-bin/redirect.pl?keyn0001en
_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to