[infinispan-dev] asynchronous change manager for high load Lucene

Manik Surtani manik at jboss.org
Tue Mar 30 12:17:24 EDT 2010


On 30 Mar 2010, at 14:09, Bela Ban wrote:

> 
> 
> Sanne Grinovero wrote:
>>>> You could use the cluster view, which is the same across all nodes, 
>>>> and pick the first element in the list. Or you could run an 
>>>> agreement protocol, which deterministically elects a master.
>>> Looks simple, deterministic and elegant.
>> Bela Ban wrote:
>> 
>> Agreed, that looks like a clean solution, but would scale better if we 
>> could decide a master for each different index, to spread the load 
>> instead of choosing always the same node for all the work, ideas on that?
>> I could hash the indexname (the identifier) and % cluster view list 
>> size, WDYT ?
> 
> Absolutely, this makes a lot of sense. However, this will require moving 
> indices around when the cluster view changes.
> 
> With a simple modulo based algorithm you'll have a lot of rebalancing 
> going on, so maybe something like a consistent hash could determine the 
> server or servers on which a given index is stored. You could even store 
> an index on more than 1 nodes, similar to what Infinispan does with DIST 
> and numOwners=2 (for example).
> 
> Even better: *if* an index can be recreated from the real data, you 
> could use a consistent hash and only store an index *once*, and you 
> could use a Cache instance for it !

Yes, this would be the plan.  The indexes themselves are *read* by every node in the cluster and hence is stored in the cache.  It is just the updates that will be processed by a selected processor singleton.

--
Manik Surtani
manik at jboss.org
Lead, Infinispan
Lead, JBoss Cache
http://www.infinispan.org
http://www.jbosscache.org








More information about the infinispan-dev mailing list