As for me I also think it is better to preserve current behaviour and add
note to documentation.
I like to treat LOCAL cache as HashMap with cool features.

I created newbie "IGNITE-2037 Update javadocs and documentation about LOCAL
cache could be created on client node"
https://issues.apache.org/jira/browse/IGNITE-2037

On Tue, Dec 1, 2015 at 2:32 PM, Yakov Zhdanov <yzhda...@apache.org> wrote:

> I think there is nothing bad in this. I would leave it as is and just
> properly fix javadoc that local cache can be created.
>
> --Yakov
>
> 2015-12-01 10:21 GMT+03:00 Denis Magda <dma...@gridgain.com>:
>
> > Alex,
> >
> > This is seems to be one more poor documented feature :)
> >
> > To be serious my preference is to throw an exception in response to an
> > attempt to create a LOCAL cache on a client node because client nodes
> can't
> > store cache data by notion.
> >
> > Any other thoughts?
> >
> > --
> > Denis
> >
> >
> > On 11/30/2015 12:41 PM, Alexey Kuznetsov wrote:
> >
> >> Ignites,
> >>
> >> If I start client node and create local cache on it seems that local
> cache
> >> created on client node.
> >> Is this correct behaviour or not not?
> >>
> >>  From API consistency - seems not, because PARTITIONED and REPLICATED
> >> caches
> >> throw exception.
> >>
> >> But from user point it may be very useful in some cases, because LOCAL
> >> cache is a kind of HashMap on "steroids" (it has transactions,
> evictions,
> >> and more).
> >>
> >> So we should throw exception or describe in documentation.
> >>
> >> Thoughs?
> >>
> >> Code that show local cache on client node:
> >>
> >> public class LocalCacheOnClient {
> >>      public static void main(String[] args) throws IgniteException {
> >>          IgniteConfiguration cfgSrv = new IgniteConfiguration();
> >>          cfgSrv.setGridName("srv");
> >>          Ignite n1 = Ignition.start(cfgSrv);
> >>
> >>          IgniteConfiguration cfgClm = new IgniteConfiguration();
> >>          cfgClm.setGridName("cln");
> >>          cfgClm.setClientMode(true);
> >>          Ignite n2 = Ignition.start(cfgClm);
> >>
> >>          CacheConfiguration<Integer, Integer> ccfg = new
> >> CacheConfiguration<>("local");
> >>          ccfg.setCacheMode(CacheMode.LOCAL);
> >>
> >>          IgniteCache<Integer, Integer> c = n2.getOrCreateCache(ccfg);
> >>
> >>          c.put(1, 100);
> >>
> >>          n1.close(); // stop server node
> >>
> >>          c.put(2, 200); // local cache works fine.
> >>
> >>          System.out.println(c.get(1));
> >>          System.out.println(c.get(2));
> >>      }
> >> }
> >>
> >>
> >>
> > --
> > Regards,
> > Denis Magda
> > Lead Professional Services Engineer, GridGain Systems
> > http://www.gridgain.com/
> >
> >
>



-- 
Alexey Kuznetsov
GridGain Systems
www.gridgain.com

Reply via email to