Valentin, Wouldn’t the same effect be achieved by broadcasting a closure to the cluster and executing scan-query on every node locally?
D. On Wed, Feb 3, 2016 at 9:17 PM, Valentin Kulichenko < valentin.kuliche...@gmail.com> wrote: > Igniters, > > I keep getting requests from our users to add optional transformers to SCAN > queries. This will allow to iterate through cache, but do not transfer > whole key-value pairs across networks (e.g., get only keys). The feature > looks useful and I created a ticket [1]. > > I am struggling with the design now. The problem is that I wanted to extend > existing ScanQuery object for this, but this seems to be impossible because > it already extends Query<Cache.Entry<K, V>> and thus can iterate only > through entries. > > The only option I see now is to create a separate query type, copy-paste > everything from ScanQuery and add *mandatory* transformer. Something like > this: > > ScanTransformQuery<K, V, R> extends Query<R> { > IgniteBiPredicate<K, V> filter; > IgniteClosure<Cache.Entry<K, V>, R> transformer; > int part; > ... > } > > Thoughts? Does anyone has other ideas? > > [1] https://issues.apache.org/jira/browse/IGNITE-2546 > > -Val >