[jbosscache-dev] JBCACHE-471 - Handling JGroups MERGE
Bela Ban
bela at jboss.com
Wed Mar 19 06:00:17 EDT 2008
Vladimir Blagojevic wrote:
> Looking through JGroups merge code; there is a possibility of n-way
> merge so it is not always the case that we have a two way merge as
> suggested interface indicates. How about something like:
>
> public interface MergeHandler
> {
> void handleMerge(Cache currentInstance, List<Address> preMergeView,
> List<Address> postMergeView);
> }
>
> Manik Surtani wrote:
>> This was on 2.2.0's task list:
>>
>> http://jira.jboss.com/jira/browse/JBCACHE-471
>>
>> The last time we spoke about this was in Neuchatel, and we decided
>> we'd expose an interface, a MergeHandler, that people could
>> implement. We'd also provide a few standard implementations, like
>> EvictEntireClusterStateHandler and FatalStopMergeHandler? I think a
>> SingleWinnerHandler and DisjointedSubtreeMergeHandler can come
>> later, as they would both involve a proxying mechanism to talk to
>> remote caches being in place - something which will be developed as a
>> part of Partitioning [1].
>>
>> We didn't discuss the design of this interface - how about a single
>> callback with:
>>
>> public interface MergeHandler
>> {
>> void handleMerge(Cache currentInstance, List<Address>
>> winningSubPartition, List<Address> losingSubPartition);
>> }
- Maybe we should have the ability to provide additional information for
each partition, maybe even for each node, provided by the app ?
- The notion of winning and losing partition implies that we're using a
winning-lossing partition merge, which may not be applicable.
I suggest you come up with a number of scenarios you'd like to cover in
JBC and then we see what information is needed. Maybe implementing this
will make the interface clearer...
--
Bela Ban
Lead JGroups / Clustering Team
JBoss - a division of Red Hat
More information about the jbosscache-dev
mailing list