I had a discussion with Alexey G. today and it turns out that we may have missed an important use case that was available with GridCache.transform(...) method (which was removed) and is no longer supported with Cache.invoke(...).
The difference is that Cache.invoke(EntryProcessor, ...) does everything GridCache.transform(...) could do, except transactions. GridCache.transform(...) methods, however, can be invoked within transactions. Is it possible to support transactions with Cache.invoke(EntryProcessor, ...) methods? Or should we bring the transform(..) methods back? If yes, then they should look like this: ---- <T> T transform(K, IgniteClosure<T, MutableEntry<K, V>) <T> T transformAll(Collection<K>, IgniteClosure<T, MutableEntry<K, V>>) ---- Thoughts? (especially Alexey G, and Semyon, since you were working on this feature) D.
