[
https://issues.apache.org/jira/browse/IGNITE-3222?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15312575#comment-15312575
]
Pavel Tupitsyn commented on IGNITE-3222:
----------------------------------------
> *I don't think it is a common task at all*
This task is essentially "UPDATE myTable WHERE ..." in SQL world, and it is
*very* useful:
* Move employees from one department to another
* Raise salary for all employees
* Remove all cached entries that depend on SQL table when the table has been
updated (my use case for Entity Framework caching)
I think there were a couple of user list questions about that.
> *It is not the same as getAll(..) on QueryCursor, because the cursor offers a
> paginated result*
I don't think so: QueryCursor returns ALL query results in a list. If the query
contains a lot of data, it will cause OOM.
> 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
(v6.3.4#6332)