[infinispan-dev] Map/Reduce or other batch processing on CacheLoader stored entries
Manik Surtani
manik at jboss.org
Fri May 25 06:33:27 EDT 2012
Yes, as a one-off, but there should be a mechanism to set up internal structures and clean up/send finalisation messages to Hibernate Search or completion RPCs, etc.
On 25 May 2012, at 11:31, Sanne Grinovero wrote:
> On 25 May 2012 10:57, Manik Surtani <manik at jboss.org> wrote:
>> #processEntriesWith(Processor p)
>>
>> Processor extends Lifecycle { // Lifecycle for start() and stop() methods…
>> void process(CacheEntry e);
>> void process(Collection<CacheEntry> e);
>> boolean processMoreEntries();
>> }
>
> why the LifeCycle start/stop ?
> I expect to use it as a one-off, not as something which is
> "permanently hooked": looks like you' re thinking about a different
> problem?
>
> The use case I'm thinkin of is when we need to iterate on all entries
> in the cachestore, such as :
> - Map/Reduce
> - evaluating the average value of some attribute
> - word counting
> - MassIndexer
>
> In all the use cases I'm having in mind, you want to process all
> entries, and only once.
> So #processMoreEntries would be redundant, and I think we should
> choose just one between CacheEntry or Collection<CacheEntry>.. let's
> go with the simple CacheEntry ?
> Should be able to avoid creation of short lived collections, and when
> passing collections one would likely need to iterate on each element
> anyway to route the invocation so some internal process(CacheEntry e);
>
> -- Sanne
>
> _______________________________________________
> infinispan-dev mailing list
> infinispan-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/infinispan-dev
--
Manik Surtani
manik at jboss.org
twitter.com/maniksurtani
Lead, Infinispan
http://www.infinispan.org
More information about the infinispan-dev
mailing list