RE: [JBoss-dev] Partition merge and service state merge algorithm

2003-04-02 Thread Sacha Labourey
> You are talking about a primary-partition approach. The 
> literature tells 
> you to shut down members in a non-primary partitions. It is simple to 
> implement, all right. But it reduces overall availability of a 
> distributed system, that's why there are many approaches 
> beyond primary 
> partition in research. But regardless of whether we want to have 
> progress or shutdown on a partition, we need to present to the user a 
> choice. E.g. shut down, continue and merge later etc. This way we can 
> implement both approaches.

Yes, I think we are speaking exactly about the same thing: pluggable policy
to let the application/user choose which is best for its app and if the
network partition is critical for him or not. The primiary partition was
just an example.

Cheers,


sacha



---
This SF.net email is sponsored by: ValueWeb: 
Dedicated Hosting for just $79/mo with 500 GB of bandwidth! 
No other company gives more support or power for your dedicated server
http://click.atdmt.com/AFF/go/sdnxxaff00300020aff/direct/01/
___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development


Re: [JBoss-dev] Partition merge and service state merge algorithm

2003-04-02 Thread Bela Ban
Sacha Labourey wrote:

Hello Bela,

Yes, we need some kind of policy. But I thought about something a 
little bit
different. In fact, there is already a way for services that have state to
know about partition merging and plug into it. Instead I thought about a
policy where you can receive events when you are no more "on the good 
side"
(defined by the policy) of the network partition. This could be, for
example, access to a common DB, some data in a common DB, the minimal size
of the partition, etc. As long as the policy is not satisfied, the service
would be in stand-by.


You are talking about a primary-partition approach. The literature tells 
you to shut down members in a non-primary partitions. It is simple to 
implement, all right. But it reduces overall availability of a 
distributed system, that's why there are many approaches beyond primary 
partition in research. But regardless of whether we want to have 
progress or shutdown on a partition, we need to present to the user a 
choice. E.g. shut down, continue and merge later etc. This way we can 
implement both approaches.

--
Bela Ban
www.javagroups.com
(408) 316-4459


---
This SF.net email is sponsored by: ValueWeb: 
Dedicated Hosting for just $79/mo with 500 GB of bandwidth! 
No other company gives more support or power for your dedicated server
http://click.atdmt.com/AFF/go/sdnxxaff00300020aff/direct/01/
___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development


RE: [JBoss-dev] Partition merge and service state merge algorithm

2003-03-31 Thread Sacha Labourey
Hello Bela,

Yes, we need some kind of policy. But I thought about something a little bit
different. In fact, there is already a way for services that have state to
know about partition merging and plug into it. Instead I thought about a
policy where you can receive events when you are no more "on the good side"
(defined by the policy) of the network partition. This could be, for
example, access to a common DB, some data in a common DB, the minimal size
of the partition, etc. As long as the policy is not satisfied, the service
would be in stand-by.

Cheers,


sacha

> -Original Message-
> From: [EMAIL PROTECTED] 
> [mailto:[EMAIL PROTECTED] On 
> Behalf Of Bela Ban
> Sent: mardi, 1. avril 2003 02:31
> To: [EMAIL PROTECTED]
> Subject: Re: [JBoss-dev] Partition merge and service state 
> merge algorithm
> 
> 
> David Klimek wrote:
> 
> > Hi Sacha,
> >
> > thank you very much for your comments. Now I believe I have quite 
> > clean picture of partition merge issues.
> >
> > Maybe the conditions and limitations you mentioned should 
> be added to 
> > documentation as they are not obvious and there can be a 
> lot of people 
> > living, as I did before, in paradise, where all the mess with state 
> > merging, is handled by clustering framework. 
> 
> 
> Maybe we should come up with a conflict resolution policy, similar to 
> the failover policy: the policy is user-defined and - 
> whenever there is 
> a merge - it is called with all substates. At this point it needs to 
> implement the merge and update the local copy.
> 
> For the state service we could for instance provide a simple default 
> policy which applies the union of all states and sees this as the new 
> state. The only requirement for such a policy is that it is 
> deterministic.
> 
> -- 
> Bela Ban
> www.javagroups.com
> (408) 316-4459
> 
> 
> 
> 
> ---
> This SF.net email is sponsored by: ValueWeb: 
> Dedicated Hosting for just $79/mo with 500 GB of bandwidth! 
> No other company gives more support or power for your dedicated server
> http://click.atdmt.com/AFF/go/sdnxxaff00300020aff/direct/01/
> ___
> Jboss-development mailing list
> [EMAIL PROTECTED]
> https://lists.sourceforge.net/lists/listinfo/jboss-development
> 



---
This SF.net email is sponsored by: ValueWeb:
Dedicated Hosting for just $79/mo with 500 GB of bandwidth!
No other company gives more support or power for your dedicated server
http://click.atdmt.com/AFF/go/sdnxxaff00300020aff/direct/01/
___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development


Re: [JBoss-dev] Partition merge and service state merge algorithm

2003-03-31 Thread Bela Ban
David Klimek wrote:

Hi Sacha,

thank you very much for your comments. Now I believe I have quite 
clean picture of partition merge issues.

Maybe the conditions and limitations you mentioned should be added to 
documentation as they are not obvious and there can be a lot of people 
living, as I did before, in paradise, where all the mess with state 
merging, is handled by clustering framework. 


Maybe we should come up with a conflict resolution policy, similar to 
the failover policy: the policy is user-defined and - whenever there is 
a merge - it is called with all substates. At this point it needs to 
implement the merge and update the local copy.

For the state service we could for instance provide a simple default 
policy which applies the union of all states and sees this as the new 
state. The only requirement for such a policy is that it is deterministic.

--
Bela Ban
www.javagroups.com
(408) 316-4459


---
This SF.net email is sponsored by: ValueWeb: 
Dedicated Hosting for just $79/mo with 500 GB of bandwidth! 
No other company gives more support or power for your dedicated server
http://click.atdmt.com/AFF/go/sdnxxaff00300020aff/direct/01/
___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development


RE: [JBoss-dev] Partition merge and service state merge algorithm

2003-03-30 Thread Sacha Labourey
Yes, sure. In the meantime, I've added my SFSB proposal to the clustering
todo list.

Thank you for this discussion,



sacha

> -Original Message-
> From: [EMAIL PROTECTED] 
> [mailto:[EMAIL PROTECTED] On 
> Behalf Of David Klimek
> Sent: lundi, 31. mars 2003 00:07
> To: [EMAIL PROTECTED]
> Subject: Re: [JBoss-dev] Partition merge and service state 
> merge algorithm
> 
> 
> Hi Sacha,
> 
> thank you very much for your comments. Now I believe I have 
> quite clean 
> picture of partition merge issues.
> 
> Maybe the conditions and limitations you mentioned should be added to 
> documentation as they are not obvious and there can be a lot 
> of people 
> living, as I did before, in paradise, where all the mess with state 
> merging, is handled by clustering framework.
> 
> Greet's
> David
> 
> Sacha Labourey wrote:
> >>Maybe that's one of the points. As I understand partion 
> "split" each 
> >>groups things that all nodes in other group are down, but 
> >>they are not 
> >>so there is not chance how to avoid concurrent access.
> > 
> > 
> > Yes. But solutions may be found, such as using a central DB 
> as a way to
> > decide who is up/down.
> > 
> > 
> >>Anyway the same problem can occur in  DistributedState service from 
> >>JBoss Clustering framework, where no such limitaton is 
> >>explicitly given 
> >>by spec.
> > 
> > 
> > Yes, this must be added for generic use. But let's finish our SFSB
> > discussion first as it is a little bit different.
> > 
> > 
> >>>Furthermore, even in the strange
> >>>scenario you describe (concurrent access to a same SFSB), 
> >>
> >>the merge would
> >>
> >>>not update the remote nodes until a new SFSB operation 
> >>
> >>occurs i.e. with
> >>
> >>>SFSB, we replicate only when we modify a SFSB, not when a 
> >>
> >>merge occurs.
> >>
> >>That's even worst.
> >>
> >>Suppose after partition merge group 1. has SFSB in state A 
> >>and group 2. 
> >>has SFSB in state B.
> > 
> > 
> > We DON'T merge state for SFSB.
> > 
> > 
> >>First, as I belive, after partition merge you can get inconstent 
> >>behavior. If you use SFSB replica from node in group 1. you 
> >>get state A 
> >>if you read SFSB replica from node in group 2. you get state B.
> > 
> > 
> > Yes, but remember that the choice of the node is done in 
> the CLIENT proxy
> > which will ALWAYS use the same target as long as it is available.
> > 
> > 
> >>Second, when SFSB modify to state C occurs, one node 
> rewrites state B 
> >>and A on all other nodes. So group of nodes went through 
> >>states A-C and 
> >>group through states A-B-C with all consequences.
> > 
> > 
> > Yes, the solution is in the fact that we don't merge the 
> state and we always
> > go to the same node. The only situation where something bad 
> could occur is:
> >  - client A use node 1
> >  - partition is split
> >  - client A continue using node 1
> >  - node 1 cannot transmit its updates to node 2 because of 
> the net partition
> >  - client can suddently no more reach node1
> >  - it failover to node 2 but node 2 has the old state!
> > 
> > If this is a problem for you, we could imagine to send 
> piggy-back to the
> > client proxy, the state version id. If, when we failover, 
> we have a lower
> > value, we could throw an exception.
> > 
> > 
> >>Maybe I could try to prepare some testcase demonstrating problem.
> >>
> >>Sorry if am I missing something, but I still strongly believe, that 
> >>merging partions is very dangerous and can put cluster in 
> > 
> > 
> > Yes, which is why we don't merge.
> > 
> > 
> >>inconsistent 
> >>state. It seems to me, that it is as complicated as to try 
> >>"merge" the 
> >>state of two computers (processors, memory, I/O devices) 
> >>after they run 
> >>separateted for a while.
> > 
> > 
> > Yes, you are right, it is application specific, there is no 
> generic way to
> > take such a decision.
> > 
> > Cheers,
> > 
> > 
> > 
> > Sacha
> > 
> > 
> > 
> > ---
> > This SF.net email is sponsored

Re: [JBoss-dev] Partition merge and service state merge algorithm

2003-03-30 Thread David Klimek
Hi Sacha,

thank you very much for your comments. Now I believe I have quite clean 
picture of partition merge issues.

Maybe the conditions and limitations you mentioned should be added to 
documentation as they are not obvious and there can be a lot of people 
living, as I did before, in paradise, where all the mess with state 
merging, is handled by clustering framework.

Greet's
David
Sacha Labourey wrote:
Maybe that's one of the points. As I understand partion "split" each 
groups things that all nodes in other group are down, but 
they are not 
so there is not chance how to avoid concurrent access.


Yes. But solutions may be found, such as using a central DB as a way to
decide who is up/down.

Anyway the same problem can occur in  DistributedState service from 
JBoss Clustering framework, where no such limitaton is 
explicitly given 
by spec.


Yes, this must be added for generic use. But let's finish our SFSB
discussion first as it is a little bit different.

Furthermore, even in the strange
scenario you describe (concurrent access to a same SFSB), 
the merge would

not update the remote nodes until a new SFSB operation 
occurs i.e. with

SFSB, we replicate only when we modify a SFSB, not when a 
merge occurs.

That's even worst.

Suppose after partition merge group 1. has SFSB in state A 
and group 2. 
has SFSB in state B.


We DON'T merge state for SFSB.


First, as I belive, after partition merge you can get inconstent 
behavior. If you use SFSB replica from node in group 1. you 
get state A 
if you read SFSB replica from node in group 2. you get state B.


Yes, but remember that the choice of the node is done in the CLIENT proxy
which will ALWAYS use the same target as long as it is available.

Second, when SFSB modify to state C occurs, one node rewrites state B 
and A on all other nodes. So group of nodes went through 
states A-C and 
group through states A-B-C with all consequences.


Yes, the solution is in the fact that we don't merge the state and we always
go to the same node. The only situation where something bad could occur is:
 - client A use node 1
 - partition is split
 - client A continue using node 1
 - node 1 cannot transmit its updates to node 2 because of the net partition
 - client can suddently no more reach node1
 - it failover to node 2 but node 2 has the old state!
If this is a problem for you, we could imagine to send piggy-back to the
client proxy, the state version id. If, when we failover, we have a lower
value, we could throw an exception.

Maybe I could try to prepare some testcase demonstrating problem.

Sorry if am I missing something, but I still strongly believe, that 
merging partions is very dangerous and can put cluster in 


Yes, which is why we don't merge.


inconsistent 
state. It seems to me, that it is as complicated as to try 
"merge" the 
state of two computers (processors, memory, I/O devices) 
after they run 
separateted for a while.


Yes, you are right, it is application specific, there is no generic way to
take such a decision.
Cheers,



			Sacha



---
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


RE: [JBoss-dev] Partition merge and service state merge algorithm

2003-03-28 Thread Sacha Labourey
> Maybe that's one of the points. As I understand partion "split" each 
> groups things that all nodes in other group are down, but 
> they are not 
> so there is not chance how to avoid concurrent access.

Yes. But solutions may be found, such as using a central DB as a way to
decide who is up/down.

> Anyway the same problem can occur in  DistributedState service from 
> JBoss Clustering framework, where no such limitaton is 
> explicitly given 
> by spec.

Yes, this must be added for generic use. But let's finish our SFSB
discussion first as it is a little bit different.

> > Furthermore, even in the strange
> > scenario you describe (concurrent access to a same SFSB), 
> the merge would
> > not update the remote nodes until a new SFSB operation 
> occurs i.e. with
> > SFSB, we replicate only when we modify a SFSB, not when a 
> merge occurs.
> 
> That's even worst.
> 
> Suppose after partition merge group 1. has SFSB in state A 
> and group 2. 
> has SFSB in state B.

We DON'T merge state for SFSB.

> First, as I belive, after partition merge you can get inconstent 
> behavior. If you use SFSB replica from node in group 1. you 
> get state A 
> if you read SFSB replica from node in group 2. you get state B.

Yes, but remember that the choice of the node is done in the CLIENT proxy
which will ALWAYS use the same target as long as it is available.

> Second, when SFSB modify to state C occurs, one node rewrites state B 
> and A on all other nodes. So group of nodes went through 
> states A-C and 
> group through states A-B-C with all consequences.

Yes, the solution is in the fact that we don't merge the state and we always
go to the same node. The only situation where something bad could occur is:
 - client A use node 1
 - partition is split
 - client A continue using node 1
 - node 1 cannot transmit its updates to node 2 because of the net partition
 - client can suddently no more reach node1
 - it failover to node 2 but node 2 has the old state!

If this is a problem for you, we could imagine to send piggy-back to the
client proxy, the state version id. If, when we failover, we have a lower
value, we could throw an exception.

> Maybe I could try to prepare some testcase demonstrating problem.
> 
> Sorry if am I missing something, but I still strongly believe, that 
> merging partions is very dangerous and can put cluster in 

Yes, which is why we don't merge.

> inconsistent 
> state. It seems to me, that it is as complicated as to try 
> "merge" the 
> state of two computers (processors, memory, I/O devices) 
> after they run 
> separateted for a while.

Yes, you are right, it is application specific, there is no generic way to
take such a decision.

Cheers,



Sacha



---
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


Re: [JBoss-dev] Partition merge and service state merge algorithm

2003-03-28 Thread David Klimek
Hi Sacha,

6. Partition merge occurs


Ok.


7. SFBS state on nodes of second group is rewriten by state of first 
unfished group


No. Here, you make the assumption that you can have CONCURRENT access to the
SAME SFSB which is not allowed per spec. 
Maybe that's one of the points. As I understand partion "split" each 
groups things that all nodes in other group are down, but they are not 
so there is not chance how to avoid concurrent access.

Anyway the same problem can occur in  DistributedState service from 
JBoss Clustering framework, where no such limitaton is explicitly given 
by spec.

Furthermore, even in the strange
scenario you describe (concurrent access to a same SFSB), the merge would
not update the remote nodes until a new SFSB operation occurs i.e. with
SFSB, we replicate only when we modify a SFSB, not when a merge occurs.
That's even worst.

Suppose after partition merge group 1. has SFSB in state A and group 2. 
has SFSB in state B.

First, as I belive, after partition merge you can get inconstent 
behavior. If you use SFSB replica from node in group 1. you get state A 
if you read SFSB replica from node in group 2. you get state B.

Second, when SFSB modify to state C occurs, one node rewrites state B 
and A on all other nodes. So group of nodes went through states A-C and 
group through states A-B-C with all consequences.

Maybe I could try to prepare some testcase demonstrating problem.

Sorry if am I missing something, but I still strongly believe, that 
merging partions is very dangerous and can put cluster in inconsistent 
state. It seems to me, that it is as complicated as to try "merge" the 
state of two computers (processors, memory, I/O devices) after they run 
separateted for a while.

Anyway, beside my complains, jboss clustering is really great, thank you 
for this great job.

David



8. Cluster finishes computation again and changes SFBS state and 
produces output (assigns AGAIN money to account)

So we get as I belive incorrect and dangerous cluster behavior.


Do we agree now?

Cheers,



			Sacha



---
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


RE: [JBoss-dev] Partition merge and service state merge algorithm

2003-03-28 Thread Sacha Labourey
> Disagree.
> 
> Consider following:
> 
> 1. Cluster running banking application with SFSB's

Ok.

> 2. Cluster is split into two groups

ok

> 3. Each group continues concurently previous computation

You mean: you may have work in progress for a given set of SFSB on each node
(each node being on a given network partition)

> 4. Second group finishes computation and changes SFSB state 
> and produces 
> output (assigns money to account)

 => go to the DB => no network partition wrt database access. OK.

> 5. First group still doesn't finish its computation

Ok.

> 6. Partition merge occurs

Ok.

> 7. SFBS state on nodes of second group is rewriten by state of first 
> unfished group

No. Here, you make the assumption that you can have CONCURRENT access to the
SAME SFSB which is not allowed per spec. Furthermore, even in the strange
scenario you describe (concurrent access to a same SFSB), the merge would
not update the remote nodes until a new SFSB operation occurs i.e. with
SFSB, we replicate only when we modify a SFSB, not when a merge occurs.

> 8. Cluster finishes computation again and changes SFBS state and 
> produces output (assigns AGAIN money to account)
> 
> So we get as I belive incorrect and dangerous cluster behavior.

Do we agree now?

Cheers,



Sacha



---
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


Re: [JBoss-dev] Partition merge and service state merge algorithm

2003-03-27 Thread David Klimek
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.


No. Cases:
 - DRM: we refresh total view after merging
Agree.

 - Http session: sticky sessions => the last state is always correct
Agree.

 - SFSB: we always use the same node and the last state will be resent to
other node at merge time
Disagree.

Consider following:

1. Cluster running banking application with SFSB's
2. Cluster is split into two groups
3. Each group continues concurently previous computation
4. Second group finishes computation and changes SFSB state and produces 
output (assigns money to account)
5. First group still doesn't finish its computation
6. Partition merge occurs
7. SFBS state on nodes of second group is rewriten by state of first 
unfished group
8. Cluster finishes computation again and changes SFBS state and 
produces output (assigns AGAIN money to account)

So we get as I belive incorrect and dangerous cluster behavior.

Greets
David
--
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


RE: [JBoss-dev] Partition merge and service state merge algorithm

2003-03-27 Thread Sacha Labourey
> 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.

No. Cases:
 - DRM: we refresh total view after merging
 - Http session: sticky sessions => the last state is always correct
 - SFSB: we always use the same node and the last state will be resent to
other node at merge time



---
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


Re: [JBoss-dev] Partition merge and service state merge algorithm

2003-03-27 Thread David Klimek
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


RE: [JBoss-dev] Partition merge and service state merge algorithm

2003-03-27 Thread Sacha Labourey
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.

> -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


[JBoss-dev] Partition merge and service state merge algorithm

2003-03-27 Thread David Klimek
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