I just dream up ) If some one have cached web session layer over ignite with
sticky cookie [1] and cross cache transaction logic through local and global
caches how this schema will transform without local ?
[1]
https://www.imperva.com/learn/availability/sticky-session-persistence-and-cookies/
>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