ignite-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Pavel Tupitsyn (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (IGNITE-3222) IgniteCache.invokeAll for all cache entries
Date Thu, 02 Jun 2016 09:08:59 GMT

    [ https://issues.apache.org/jira/browse/IGNITE-3222?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15311997#comment-15311997

Pavel Tupitsyn commented on IGNITE-3222:

Dmitry, affinityCall/Run over a partition is useful, I agree.

But dealing with partitions manually is also error-prone and not obvious at all.
Invoke over all cache entries is a simple common task, why not provide a simple method of
doing it?

What kind of memory issues do you expect? 
Returning EntryProcessorResult for each entry on a huge cache is an obvious problem, same
as calling getAll on QueryCursor, for example. We can't protect users from such things.

> IgniteCache.invokeAll for all cache entries
> -------------------------------------------
>                 Key: IGNITE-3222
>                 URL: https://issues.apache.org/jira/browse/IGNITE-3222
>             Project: Ignite
>          Issue Type: Task
>          Components: cache
>    Affects Versions: 1.1.4
>            Reporter: Pavel Tupitsyn
>             Fix For: 1.7
> Implement an invokeAll overload that processes all cache keys (not some specific set).
> Proposed signature:
> {code}
> public void invokeAll(CacheEntryProcessor<K, V, T> entryProcessor, Object... args);
> public <T> Map<K, EntryProcessorResult<T>> invokeAll(CacheEntryProcessor<K,
V, T> entryProcessor, boolean returnAffectedOnly, Object... args);
> {code}
> This will apply the specified processor to all cache entries.
> First method does not return anything.
> Second method either returns all results for all entries, or only for entries that have
been changed by the processor in any way.

This message was sent by Atlassian JIRA

View raw message