[infinispan-dev] TotalOrder and jgroups

Bela Ban bban at redhat.com
Wed Mar 7 07:57:42 EST 2012



On 3/7/12 1:34 PM, Mircea Markus wrote:
>
>>> +1 - I've started doing that and it's an ugly business.
>>>
>>> Here's another approach:
>>> - all jgroups configs shipped with ISPN come with the SEQUENCER added
>>> - by default all messages have NO_TOTAL_ORDER flag attached
>>> - RpcManager.invoke mthods would also support a totalOrder flag (similar to OBB flag currently supported)
>>>
>>> With this approach:
>>> - we would support heterogeneous caches on the same cache manager: TO, 2PC *and* non-tx caches
>>> - we would allow existing users to switch to total order replication without the need to change the jgroups configuration
>>> - the performance penalty of having the SEQUENCER for caches that don't need it, e.g. not tx caches, is minimal by the look of the code
>>>
>>> How does it sound?
>>
>> Intuitively, not nice ! Can't we have different configurations for these
>> use cases ?
>
> We can, but the users that want to use both TO transactional caches and non transactional caches on the same transport - a pretty common scenario IMO - would have to add the seqeuncer to the jgroups configuration by hand.


Why not have 2 separate channels, but both residing on the same shared 
transport. I think Infinispan is injected a shared transport anyway, but 
AS, so this could be reused...

Not sure on the details though, you'd have to talk to Paul for clarification

>  As the seqeuncer doesn't harm performance, why not have it there by 
default?

Because this suggests total order when looking at the config. A user 
looking at the config, doesn't know that we're secretly bypassing SEQUENCER.

-- 
Bela Ban
Lead JGroups (http://www.jgroups.org)
JBoss / Red Hat


More information about the infinispan-dev mailing list