I agree with Ivan, let's return an error on any attempt to create or use a LOCAL cache from thin clients.
On Tue, Sep 14, 2021 at 2:25 PM Ivan Daschinsky <ivanda...@gmail.com> wrote: > I am not about creation per se, but creation from a thin client side. > > This feature simply doesn't work as expected, broken and impossible to fix. > It cannot broke any code, because it was already broken and it is > impossible to use in production. > But it still can embarrass newcomers and brings a lot of frustration. > > It is much more safe to ban a creation of LOCAL caches from thin clients. > > But it can survive for a while for ignite cluster nodes, client and server. > > вт, 14 сент. 2021 г. в 14:06, Maxim Muzafarov <mmu...@apache.org>: > > > Ivan, > > > > I don't think we should rush with this. Banning the creation of LOCAL > > caches without a warning through the code sounds not good. Will it be > > better to do everything in three steps (releases)? 2.12 deprecate, > > 2.13 forbid new cache creation, 2.14 remove. > > > > On Tue, 14 Sept 2021 at 12:09, Ivan Daschinsky <ivanda...@gmail.com> > > wrote: > > > > > > Few thoughts about LOCAL caches on thin client: > > > > > > 1. If partition awareness is disabled: > > > a. Inconsistent behaviour if node to which client is connected goes > down. > > > 2. If partition awareness is enabled: > > > a. For Java and .NET -- same as 1a > > > b. For C++ and python -- use random routing for caches that are not > > > PARTITIONED, so inconsistent behaviour from the beginning. > > > > > > So I suppose we should ban creation of LOCAL caches from thin client in > > > 2.12 (fail attempt to create such caches in ClientRequestHandler > > > > > > вт, 14 сент. 2021 г. в 11:31, Ivan Daschinsky <ivanda...@gmail.com>: > > > > > > > >> Unsupported operation exception. > > > > Binary protocol doesn't have a concept of exception, only error > status > > and > > > > message, but it is just a remark > > > > I suppose that response with error status and message is ok, but may > be > > > > others have different opinion? > > > > > > > > >> Removal should happen at 2.13. > > > > A few thin clients are released separately. I suppose that it is > > better to > > > > remove this feature from pyignite a little bit earlier. > > > > > > > > вт, 14 сент. 2021 г. в 11:21, Anton Vinogradov <a...@apache.org>: > > > > > > > >> > 1. What is expected behaviour if an old thin client requests > > creation of > > > >> > LOCAL cache on the newest ignite cluster? > > > >> Unsupported operation exception. > > > >> > > > >> > 2. Should we completely remove LOCAL caches support in thin > clients > > > >> (i.e. > > > >> pyignite) before 2.13 release? > > > >> Removal should happen at 2.13. > > > >> > > > >> On Tue, Sep 14, 2021 at 10:30 AM Ivan Daschinsky < > ivanda...@gmail.com > > > > > > >> wrote: > > > >> > > > >> > >> 2. 2.13 - complete removal LOCAL caches from codebase. > > > >> > Let's discuss this step with more details. > > > >> > 1. What is expected behaviour if an old thin client requests > > creation of > > > >> > LOCAL cache on the newest ignite cluster? > > > >> > 2. Should we completely remove LOCAL caches support in thin > clients > > > >> (i.e. > > > >> > pyignite) before 2.13 release? > > > >> > > > > >> > вт, 14 сент. 2021 г. в 10:11, Nikolay Izhikov < > nizhi...@apache.org > > >: > > > >> > > > > >> > > I proposed the following plan: > > > >> > > > > > >> > > 1. 2.12 - deprecation of LOCAL caches. > > > >> > > 2. 2.13 - complete removal LOCAL caches from codebase. > > > >> > > > > > >> > > > 13 сент. 2021 г., в 13:30, Ivan Daschinsky < > ivanda...@gmail.com > > > > > > >> > > написал(а): > > > >> > > > > > > >> > > > I personally support deprecation, but we should at least have > a > > > >> plan. > > > >> > > > I suppose that putting annotations and removing documentation > > are > > > >> not > > > >> > > > enough. > > > >> > > > > > > >> > > > > > > >> > > > пн, 13 сент. 2021 г. в 13:22, Maxim Muzafarov < > > mmu...@apache.org>: > > > >> > > > > > > >> > > >> Ivan, > > > >> > > >> > > > >> > > >> I don't think we can remove LOCAL caches at the nearest time, > > so > > > >> there > > > >> > > >> is no plan for that. I can only imagine a single release that > > will > > > >> > > >> contain all the breaking changes we want to apply in 2.x > > version. > > > >> > > >> > > > >> > > >> My point here is only about deprecation: > > > >> > > >> - there are a lot of motivation points to remove written in > > this > > > >> > thread; > > > >> > > >> - I always hear from the support team that they do not > > recommend > > > >> using > > > >> > > >> local caches; > > > >> > > >> - I haven't seen any bugs fixed for a long time for local > > caches > > > >> > > >> (suppose that we are not maintaining them); > > > >> > > >> > > > >> > > >> I just want to make sure that all these points are reflected > > in the > > > >> > > >> code base, so propose to mark them as deprecated. > > > >> > > >> > > > >> > > >> On Mon, 13 Sept 2021 at 11:29, Ivan Daschinsky < > > > >> ivanda...@gmail.com> > > > >> > > >> wrote: > > > >> > > >>> > > > >> > > >>> Hi, Maxim. And what is the plan of removing this > > functionality? > > > >> And I > > > >> > > >> also > > > >> > > >>> have some questions regarding deprecation in binary protocol > > > >> > > >>> > > > >> > > >>> Currently thin client binary protocol > > > >> > > >>> 1. Does support LOCAL caches > > > >> > > >>> 2. Does not support node filters. > > > >> > > >>> > > > >> > > >>> I can hardly imagine the usefulness of this feature on thin > > > >> clients, > > > >> > > >>> especially with partition awareness, but nevertheless. > > > >> > > >>> What is expected behaviour if this feature is removed from > > newest > > > >> > > version > > > >> > > >>> of Apache Ignite server and and and old client is requesting > > > >> > > >>> creation of LOCAL cache? > > > >> > > >>> > > > >> > > >>> вс, 12 сент. 2021 г. в 15:10, Maxim Muzafarov < > > mmu...@apache.org > > > >> >: > > > >> > > >>> > > > >> > > >>>> Folks, > > > >> > > >>>> > > > >> > > >>>> Let's get back to the discussion of obsolete LOCAL caches > > since a > > > >> > lot > > > >> > > >>>> of time has passed since the last discussion. > > > >> > > >>>> I've created an issue [1] for deprecation. Let's deprecate > > them > > > >> at > > > >> > > >>>> least at the next 2.12 release. > > > >> > > >>>> > > > >> > > >>>> WDYT? > > > >> > > >>>> > > > >> > > >>>> > > > >> > > >>>> [1] https://issues.apache.org/jira/browse/IGNITE-15499 > > > >> > > >>>> > > > >> > > >>>> On Fri, 27 Jul 2018 at 20:59, Valentin Kulichenko > > > >> > > >>>> <valentin.kuliche...@gmail.com> wrote: > > > >> > > >>>>> > > > >> > > >>>>> Guys, > > > >> > > >>>>> > > > >> > > >>>>> Use cases for local caches are rare, but they definitely > > exist. > > > >> I > > > >> > > >> don't > > > >> > > >>>>> think it's a very good idea to deprecate this > functionality > > at > > > >> this > > > >> > > >>>> point. > > > >> > > >>>>> > > > >> > > >>>>> At the same point, it's obviously not the most critical > > part of > > > >> the > > > >> > > >>>>> product, so maintaining the whole separate implementation > > for > > > >> it is > > > >> > > >>>>> probably an overkill. We had exact same story with > > replicated > > > >> > caches > > > >> > > >> btw > > > >> > > >>>> - > > > >> > > >>>>> they were implemented separately which caused > > maintainability > > > >> > > >> issues, and > > > >> > > >>>>> we ended up removing this separate implementation. If we > > have > > > >> the > > > >> > > >> same > > > >> > > >>>>> situation here, let's use the same solution. > > > >> > > >>>>> > > > >> > > >>>>> -Val > > > >> > > >>>>> > > > >> > > >>>>> On Fri, Jul 27, 2018 at 3:05 AM Dmitry Pavlov < > > > >> > dpavlov....@gmail.com > > > >> > > >>> > > > >> > > >>>> wrote: > > > >> > > >>>>> > > > >> > > >>>>>> Hi Dmitriy, > > > >> > > >>>>>> > > > >> > > >>>>>> I would like to stress this: I'm not saying local cache > it > > > >> > > >> useless. I'm > > > >> > > >>>>>> supposing it is not used widely. I want to figure out if > > I'm > > > >> > > >> mistaking. > > > >> > > >>>>>> > > > >> > > >>>>>> All folks involved into user list says it is not used, so > > why > > > >> not > > > >> > > >> to > > > >> > > >>>>>> deprecate? If we make a mistake, somebody will come to > user > > > >> list > > > >> > > >> and > > > >> > > >>>> say, > > > >> > > >>>>>> 'Hey, why did you deprecate this, it is used for... in my > > > >> project' > > > >> > > >>>>>> > > > >> > > >>>>>> Being very experienced Igniter you probably know real > life > > > >> usage > > > >> > > >>>> examples. > > > >> > > >>>>>> And I appreciate if you or somebody else in community > could > > > >> share > > > >> > > >> it. > > > >> > > >>>>>> > > > >> > > >>>>>> Sincerely, > > > >> > > >>>>>> Dmitriy Pavlov > > > >> > > >>>>>> > > > >> > > >>>>>> пт, 27 июл. 2018 г. в 1:04, Dmitriy Setrakyan < > > > >> > > >> dsetrak...@apache.org>: > > > >> > > >>>>>> > > > >> > > >>>>>>> Guys, > > > >> > > >>>>>>> > > > >> > > >>>>>>> I just want to make sure we are all on the same page. > The > > main > > > >> > > >> use > > > >> > > >>>> case > > > >> > > >>>>>> for > > > >> > > >>>>>>> LOCAL caches is to have a local hash map querable with > > SQL and > > > >> > > >>>>>>> automatically persisted to a 3rd party DB. > > > >> > > >>>>>>> > > > >> > > >>>>>>> I want to discourage people from saying "nobody needs > some > > > >> > > >> feature". > > > >> > > >>>> None > > > >> > > >>>>>>> of the people in this discussion are users of any > > features - > > > >> we > > > >> > > >> are > > > >> > > >>>> all > > > >> > > >>>>>>> developers of the features. Instead of guessing whether > to > > > >> > > >> deprecate > > > >> > > >>>>>>> something or not, I would actually see if it is even > > worth a > > > >> > > >>>> discussion. > > > >> > > >>>>>>> How much effort is required to fix the bug found in the > > LOCAL > > > >> > > >> cache? > > > >> > > >>>>>>> > > > >> > > >>>>>>> D. > > > >> > > >>>>>>> > > > >> > > >>>>>>> On Thu, Jul 26, 2018 at 12:19 PM, Dmitry Pavlov < > > > >> > > >>>> dpavlov....@gmail.com> > > > >> > > >>>>>>> wrote: > > > >> > > >>>>>>> > > > >> > > >>>>>>>> Hi Alexey, > > > >> > > >>>>>>>> > > > >> > > >>>>>>>> There is nothing to be sorry about :) Сommunity > > appreciates > > > >> an > > > >> > > >>>>>>> alternative > > > >> > > >>>>>>>> vision, this allows us to make as informed decisions as > > it > > > >> > > >>>> possible. > > > >> > > >>>>>>>> > > > >> > > >>>>>>>> Thank you for finding this fact, it is very > interesting. > > > >> > > >>>>>>>> > > > >> > > >>>>>>>> I'm not sure all these examples were prepared by > > experienced > > > >> > > >> Ignite > > > >> > > >>>>>>> users. > > > >> > > >>>>>>>> So idea of deprecation may have one more argument. > > > >> Deprecation > > > >> > > >> will > > > >> > > >>>>>> help > > > >> > > >>>>>>> us > > > >> > > >>>>>>>> to inform users about LOCAL cache: Probably local cache > > is > > > >> not > > > >> > > >> what > > > >> > > >>>>>> they > > > >> > > >>>>>>>> need. > > > >> > > >>>>>>>> > > > >> > > >>>>>>>> Sincerely, > > > >> > > >>>>>>>> Dmitriy Pavlov > > > >> > > >>>>>>>> > > > >> > > >>>>>>>> чт, 26 июл. 2018 г. в 16:57, Alexey Zinoviev < > > > >> > > >>>> zaleslaw....@gmail.com>: > > > >> > > >>>>>>>> > > > >> > > >>>>>>>>> Sorry, guys, I'll put my 1 cent > > > >> > > >>>>>>>>> > > > >> > > >>>>>>>>> I'd like this idea "Implement LOCAL caches as > > PARTITIONED > > > >> > > >> caches > > > >> > > >>>>>> over > > > >> > > >>>>>>>> the > > > >> > > >>>>>>>>> local node." > > > >> > > >>>>>>>>> It make sense for examples/testing in > pseudo-distributed > > > >> mode > > > >> > > >>>> and so > > > >> > > >>>>>>> far. > > > >> > > >>>>>>>>> > > > >> > > >>>>>>>>> But I think that the deprecation based on user-list > > mentions > > > >> > > >> is a > > > >> > > >>>>>> wrong > > > >> > > >>>>>>>>> way. Please look here > > > >> > > >>>>>>>>> > > > >> > > >>>>>> > > > >> > > >> > > > >> > > > https://github.com/search?q=%22CacheMode.LOCAL%22+%26+ignite&type=Code > > > >> > > >>>>>>>>> There a lot of hello world examples with LOCAL mode. > > > >> > > >>>>>>>>> > > > >> > > >>>>>>>>> And of course, we can ask about that on user-list, not > > here, > > > >> > > >> to > > > >> > > >>>> vote > > > >> > > >>>>>>> for > > > >> > > >>>>>>>>> the deprecation like this. > > > >> > > >>>>>>>>> > > > >> > > >>>>>>>>> 2018-07-26 11:23 GMT+03:00 Vladimir Ozerov < > > > >> > > >> voze...@gridgain.com > > > >> > > >>>>> : > > > >> > > >>>>>>>>> > > > >> > > >>>>>>>>>> I meant LOCAL + non-LOCAL transactions of course. > > > >> > > >>>>>>>>>> > > > >> > > >>>>>>>>>> On Wed, Jul 25, 2018 at 10:42 PM Dmitriy Setrakyan < > > > >> > > >>>>>>>>> dsetrak...@apache.org> > > > >> > > >>>>>>>>>> wrote: > > > >> > > >>>>>>>>>> > > > >> > > >>>>>>>>>>> Vladimir, > > > >> > > >>>>>>>>>>> > > > >> > > >>>>>>>>>>> Are you suggesting that a user cannot span more than > > one > > > >> > > >>>> local > > > >> > > >>>>>>> cache > > > >> > > >>>>>>>>> in a > > > >> > > >>>>>>>>>>> cross cache LOCAL transactions. This is extremely > > > >> > > >> surprising > > > >> > > >>>> to > > > >> > > >>>>>> me, > > > >> > > >>>>>>>> as > > > >> > > >>>>>>>>> it > > > >> > > >>>>>>>>>>> would require almost no effort to support it. As far > > as > > > >> > > >>>> mixing > > > >> > > >>>>>> the > > > >> > > >>>>>>>>> local > > > >> > > >>>>>>>>>>> caches with distributed caches, then I agree, > > cross-cache > > > >> > > >>>>>>>> transactions > > > >> > > >>>>>>>>> do > > > >> > > >>>>>>>>>>> not make sense. > > > >> > > >>>>>>>>>>> > > > >> > > >>>>>>>>>>> I am not sure why deprecating local caches has > become > > a > > > >> > > >>>> pressing > > > >> > > >>>>>>>>> issue. I > > > >> > > >>>>>>>>>>> can see that there are a few bugs, but why not just > > fix > > > >> > > >> them > > > >> > > >>>> and > > > >> > > >>>>>>> move > > > >> > > >>>>>>>>> on? > > > >> > > >>>>>>>>>>> Can someone explain why supporting LOCAL caches is > > such a > > > >> > > >>>> burden? > > > >> > > >>>>>>>>>>> > > > >> > > >>>>>>>>>>> Having said that, I am not completely opposed to > > > >> > > >> deprecating > > > >> > > >>>>>> LOCAL > > > >> > > >>>>>>>>>> caches. > > > >> > > >>>>>>>>>>> I just want to know why. > > > >> > > >>>>>>>>>>> > > > >> > > >>>>>>>>>>> D. > > > >> > > >>>>>>>>>>> > > > >> > > >>>>>>>>>>> On Wed, Jul 25, 2018 at 10:55 AM, Vladimir Ozerov < > > > >> > > >>>>>>>>> voze...@gridgain.com> > > > >> > > >>>>>>>>>>> wrote: > > > >> > > >>>>>>>>>>> > > > >> > > >>>>>>>>>>>> Dima, > > > >> > > >>>>>>>>>>>> > > > >> > > >>>>>>>>>>>> LOCAL cache adds very little value to the product. > It > > > >> > > >>>> doesn't > > > >> > > >>>>>>>> support > > > >> > > >>>>>>>>>>>> cross-cache transactions, consumes a lot of memory, > > > >> > > >> much > > > >> > > >>>> slower > > > >> > > >>>>>>>> than > > > >> > > >>>>>>>>>> any > > > >> > > >>>>>>>>>>>> widely-used concurrent hash map. Let's go the same > > way > > > >> > > >> as > > > >> > > >>>> Java > > > >> > > >>>>>> - > > > >> > > >>>>>>>> mark > > > >> > > >>>>>>>>>>> LOCAL > > > >> > > >>>>>>>>>>>> cache as "deprecated for removal", and then remove > it > > > >> > > >> in > > > >> > > >>>> 3.0. > > > >> > > >>>>>>>>>>>> > > > >> > > >>>>>>>>>>>> On Wed, Jul 25, 2018 at 12:10 PM Dmitrii Ryabov < > > > >> > > >>>>>>>>> somefire...@gmail.com > > > >> > > >>>>>>>>>>> > > > >> > > >>>>>>>>>>>> wrote: > > > >> > > >>>>>>>>>>>> > > > >> > > >>>>>>>>>>>>> +1 to make LOCAL as filtered PARTITIONED cache. I > > > >> > > >> think > > > >> > > >>>> it > > > >> > > >>>>>>> would > > > >> > > >>>>>>>> be > > > >> > > >>>>>>>>>>> much > > > >> > > >>>>>>>>>>>>> easier and faster than fixing all bugs. > > > >> > > >>>>>>>>>>>>> > > > >> > > >>>>>>>>>>>>> 2018-07-25 11:51 GMT+03:00 Dmitriy Setrakyan < > > > >> > > >>>>>>>>> dsetrak...@apache.org > > > >> > > >>>>>>>>>>> : > > > >> > > >>>>>>>>>>>>> > > > >> > > >>>>>>>>>>>>>> I would stay away from deprecating such huge > > > >> > > >> pieces as > > > >> > > >>>> a > > > >> > > >>>>>>> whole > > > >> > > >>>>>>>>>> LOCAL > > > >> > > >>>>>>>>>>>>> cache. > > > >> > > >>>>>>>>>>>>>> In retrospect, we should probably not even have > > > >> > > >> LOCAL > > > >> > > >>>>>> caches, > > > >> > > >>>>>>>> but > > > >> > > >>>>>>>>>>> now I > > > >> > > >>>>>>>>>>>>> am > > > >> > > >>>>>>>>>>>>>> certain that it is used by many users. > > > >> > > >>>>>>>>>>>>>> > > > >> > > >>>>>>>>>>>>>> I would do one of the following, whichever one is > > > >> > > >>>> easier: > > > >> > > >>>>>>>>>>>>>> > > > >> > > >>>>>>>>>>>>>> - Fix the issues found with LOCAL caches, > > > >> > > >> including > > > >> > > >>>>>>>>> persistence > > > >> > > >>>>>>>>>>>>> support > > > >> > > >>>>>>>>>>>>>> - Implement LOCAL caches as PARTITIONED caches > > > >> > > >> over > > > >> > > >>>> the > > > >> > > >>>>>>>> local > > > >> > > >>>>>>>>>>> node. > > > >> > > >>>>>>>>>>>> In > > > >> > > >>>>>>>>>>>>>> this case, we would have to hide any > > > >> > > >>>>>> distribution-related > > > >> > > >>>>>>>>> config > > > >> > > >>>>>>>>>>>> from > > > >> > > >>>>>>>>>>>>>> users, like affinity function, for example. > > > >> > > >>>>>>>>>>>>>> > > > >> > > >>>>>>>>>>>>>> D. > > > >> > > >>>>>>>>>>>>>> > > > >> > > >>>>>>>>>>>>>> On Wed, Jul 25, 2018 at 9:05 AM, Valentin > > > >> > > >> Kulichenko < > > > >> > > >>>>>>>>>>>>>> valentin.kuliche...@gmail.com> wrote: > > > >> > > >>>>>>>>>>>>>> > > > >> > > >>>>>>>>>>>>>>> It sounds like the main drawback of LOCAL cache > > > >> > > >> is > > > >> > > >>>> that > > > >> > > >>>>>>> it's > > > >> > > >>>>>>>>>>>>> implemented > > > >> > > >>>>>>>>>>>>>>> separately and therefore has to be maintained > > > >> > > >>>> separately. > > > >> > > >>>>>>> If > > > >> > > >>>>>>>>>> that's > > > >> > > >>>>>>>>>>>> the > > > >> > > >>>>>>>>>>>>>>> only issue, why not keep LOCAL cache mode on > > > >> > > >> public > > > >> > > >>>> API, > > > >> > > >>>>>>> but > > > >> > > >>>>>>>>>>>> implement > > > >> > > >>>>>>>>>>>>> it > > > >> > > >>>>>>>>>>>>>>> as a PARTITIONED cache with a node filter > > > >> > > >> forcefully > > > >> > > >>>> set? > > > >> > > >>>>>>>>> That's > > > >> > > >>>>>>>>>>>>> similar > > > >> > > >>>>>>>>>>>>>> to > > > >> > > >>>>>>>>>>>>>>> what we do with REPLICATED caches which are > > > >> > > >> actually > > > >> > > >>>>>>>>> PARTITIONED > > > >> > > >>>>>>>>>>> with > > > >> > > >>>>>>>>>>>>>>> infinite number of backups. > > > >> > > >>>>>>>>>>>>>>> > > > >> > > >>>>>>>>>>>>>>> This way we fix the issues described by Stan and > > > >> > > >>>> don't > > > >> > > >>>>>> have > > > >> > > >>>>>>>> to > > > >> > > >>>>>>>>>>>>> deprecate > > > >> > > >>>>>>>>>>>>>>> anything. > > > >> > > >>>>>>>>>>>>>>> > > > >> > > >>>>>>>>>>>>>>> -Val > > > >> > > >>>>>>>>>>>>>>> > > > >> > > >>>>>>>>>>>>>>> On Wed, Jul 25, 2018 at 12:53 AM Stanislav > > > >> > > >> Lukyanov < > > > >> > > >>>>>>>>>>>>>>> stanlukya...@gmail.com> > > > >> > > >>>>>>>>>>>>>>> wrote: > > > >> > > >>>>>>>>>>>>>>> > > > >> > > >>>>>>>>>>>>>>>> Hi Igniters, > > > >> > > >>>>>>>>>>>>>>>> > > > >> > > >>>>>>>>>>>>>>>> I’d like to start a discussion about the > > > >> > > >>>> deprecation of > > > >> > > >>>>>>> the > > > >> > > >>>>>>>>>> LOCAL > > > >> > > >>>>>>>>>>>>>> caches. > > > >> > > >>>>>>>>>>>>>>>> > > > >> > > >>>>>>>>>>>>>>>> LOCAL caches are an edge-case functionality > > > >> > > >>>>>>>>>>>>>>>> I haven’t done any formal analysis, but from my > > > >> > > >>>>>>> experience > > > >> > > >>>>>>>>>> LOCAL > > > >> > > >>>>>>>>>>>>> caches > > > >> > > >>>>>>>>>>>>>>>> are needed very rarely, if ever. > > > >> > > >>>>>>>>>>>>>>>> I think most usages of LOCAL caches I’ve seen > > > >> > > >> were > > > >> > > >>>>>>> misuses: > > > >> > > >>>>>>>>> the > > > >> > > >>>>>>>>>>>> users > > > >> > > >>>>>>>>>>>>>>>> actually needed a simple HashMap, or an actual > > > >> > > >>>>>>> PARTITIONED > > > >> > > >>>>>>>>>> cache. > > > >> > > >>>>>>>>>>>>>>>> > > > >> > > >>>>>>>>>>>>>>>> LOCAL caches are easy to implement on top of > > > >> > > >>>>>> PARTITIONED > > > >> > > >>>>>>>>>>>>>>>> If one requires a LOCAL cache (which is itself > > > >> > > >>>>>>>> questionable, > > > >> > > >>>>>>>>> as > > > >> > > >>>>>>>>>>>>>> discussed > > > >> > > >>>>>>>>>>>>>>>> above) it is quite easy to implement one on > > > >> > > >> top of > > > >> > > >>>>>>>>> PARTITIONED > > > >> > > >>>>>>>>>>>> cache. > > > >> > > >>>>>>>>>>>>>>>> A node filter of form `node -> node.id > > > >> > > >>>>>>>>> ().equals(localNodeId)` > > > >> > > >>>>>>>>>> is > > > >> > > >>>>>>>>>>>>>> enough > > > >> > > >>>>>>>>>>>>>>>> to make the cache to be stored on the node that > > > >> > > >>>> created > > > >> > > >>>>>>> it. > > > >> > > >>>>>>>>>>>>>>>> Locality of access to the cache (i.e. making it > > > >> > > >>>>>>> unavailable > > > >> > > >>>>>>>>>> from > > > >> > > >>>>>>>>>>>>> other > > > >> > > >>>>>>>>>>>>>>>> nodes) can be achieved on the application > > > >> > > >> level. > > > >> > > >>>>>>>>>>>>>>>> > > > >> > > >>>>>>>>>>>>>>>> LOCAL caches are hard to maintain > > > >> > > >>>>>>>>>>>>>>>> A quick look at the open issues mentioning > > > >> > > >> “local > > > >> > > >>>>>> cache” > > > >> > > >>>>>>>>>> suggests > > > >> > > >>>>>>>>>>>>> that > > > >> > > >>>>>>>>>>>>>>>> this is a corner case for implementation of > > > >> > > >> many > > > >> > > >>>> Ignite > > > >> > > >>>>>>>>>> features: > > > >> > > >>>>>>>>>>>>>>>> > > > >> > > >>>>>>>>>>>>>>>> > > > >> > > >>>>>> https://issues.apache.org/jira/issues/?jql=text%20~%20% > > > >> > > >>>>>>>>>>>>>>> > > > >> > > >> 22local%20cache%22%20and%20%20project%20%3D%20IGNITE% > > > >> > > >>>>>>>>>>>>>>> 20and%20status%20%3D%20open > > > >> > > >>>>>>>>>>>>>>>> In particular, a recent SO question brought up > > > >> > > >> the > > > >> > > >>>> fact > > > >> > > >>>>>>>> that > > > >> > > >>>>>>>>>>> LOCAL > > > >> > > >>>>>>>>>>>>>> caches > > > >> > > >>>>>>>>>>>>>>>> don’t support native persistence: > > > >> > > >>>>>>>>>>>>>>>> > > > >> > > >>>>>>>>>>>>>>>> > > > >> > > >>>> https://stackoverflow.com/questions/51511892/how-to- > > > >> > > >>>>>>>>>>>>>>> > > > >> > > >> configure-persistent-storage-for-apache-ignite-cache > > > >> > > >>>>>>>>>>>>>>>> Having to ask ourselves “how does it play with > > > >> > > >>>> LOCAL > > > >> > > >>>>>>>> caches” > > > >> > > >>>>>>>>>>> every > > > >> > > >>>>>>>>>>>>> time > > > >> > > >>>>>>>>>>>>>>> we > > > >> > > >>>>>>>>>>>>>>>> write any code in Ignite seems way to much for > > > >> > > >> the > > > >> > > >>>>>>> benefits > > > >> > > >>>>>>>>> we > > > >> > > >>>>>>>>>>> gain > > > >> > > >>>>>>>>>>>>>> from > > > >> > > >>>>>>>>>>>>>>> it. > > > >> > > >>>>>>>>>>>>>>>> > > > >> > > >>>>>>>>>>>>>>>> Proposal > > > >> > > >>>>>>>>>>>>>>>> Let’s deprecate LOCAL caches in 2.x and remove > > > >> > > >>>> them in > > > >> > > >>>>>>> 3.0. > > > >> > > >>>>>>>>>>>>>>>> As a part of deprecation let’s do the > > > >> > > >> following: > > > >> > > >>>>>>>>>>>>>>>> - Put @Deprecated on the CacheMode.LOCAL > > > >> > > >>>>>>>>>>>>>>>> - Print a warning every time a LOCAL cache is > > > >> > > >>>> created > > > >> > > >>>>>>>>>>>>>>>> - Remove all mentions of LOCAL caches from > > > >> > > >>>> readme.io, > > > >> > > >>>>>> if > > > >> > > >>>>>>>>> any, > > > >> > > >>>>>>>>>>>> except > > > >> > > >>>>>>>>>>>>>> for > > > >> > > >>>>>>>>>>>>>>>> the page about cache modes > > > >> > > >>>>>>>>>>>>>>>> - On the page about cache modes explain that > > > >> > > >> LOCAL > > > >> > > >>>> is > > > >> > > >>>>>>>>>> deprecated > > > >> > > >>>>>>>>>>>> and > > > >> > > >>>>>>>>>>>>>> can > > > >> > > >>>>>>>>>>>>>>>> be replaced with a PARTITIONED cache with a > > > >> > > >> node > > > >> > > >>>> filter > > > >> > > >>>>>>>>>>>>>>>> > > > >> > > >>>>>>>>>>>>>>>> Thanks, > > > >> > > >>>>>>>>>>>>>>>> Stan > > > >> > > >>>>>>>>>>>>>>>> > > > >> > > >>>>>>>>>>>>>>> > > > >> > > >>>>>>>>>>>>>> > > > >> > > >>>>>>>>>>>>> > > > >> > > >>>>>>>>>>>> > > > >> > > >>>>>>>>>>> > > > >> > > >>>>>>>>>> > > > >> > > >>>>>>>>> > > > >> > > >>>>>>>> > > > >> > > >>>>>>> > > > >> > > >>>>>> > > > >> > > >>>> > > > >> > > >>> > > > >> > > >>> > > > >> > > >>> -- > > > >> > > >>> Sincerely yours, Ivan Daschinskiy > > > >> > > >> > > > >> > > > > > > >> > > > > > > >> > > > -- > > > >> > > > Sincerely yours, Ivan Daschinskiy > > > >> > > > > > >> > > > > > >> > > > > >> > -- > > > >> > Sincerely yours, Ivan Daschinskiy > > > >> > > > > >> > > > > > > > > > > > > -- > > > > Sincerely yours, Ivan Daschinskiy > > > > > > > > > > > > > -- > > > Sincerely yours, Ivan Daschinskiy > > > > > -- > Sincerely yours, Ivan Daschinskiy >