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