Pavel,
I don't understand why you are using *backwards compatibility* for completely internal things. Why you are thinking in terms of users usage when are talking about ignite-sys-cache but not thinking when refactoring, for instance, all the checkpoint classes? Take a look at the [1] issue. All the internals have been reworked and nobody even mentioned that it may affect some of the plugin developers. This is really strange, so I can't agree with you. I do not propose to rush with the ignite-sys-cache removal. I'd like to collect all the technical stuff that we depend on, fix all of them and after everything will be ready do a final removal. Slava already mentioned some crucial cases, so I hope you and Val also help with the rest of them. Let's be more precise in terms *what we need to fix*. I've made some investigations related to the ignite-sys-cache and here is my proposal: 1. Add deprecation for the 2.12 release. I hope it is still possible. 2. Apache Ignite core still have some dependencies on ignite-sys-cache that should fix for 2.13: 2.1. CLUSTER_NAME property: when it's not set the `deploymentId` of system cache is used. Let's move it to metastorage. 2.2. When the Security is enabled each compute task name (hash to be more precise) is written to the ignite-sys-cache [2]. From my point of view, we can remove it in 2.13. Can anyone check? 2.3. Slava mentioned some issues with the distributed metastorage that might be fixed. I think this is doable. 3. Remove the system cache in 2.14. [1] https://issues.apache.org/jira/browse/IGNITE-13143 [2] https://github.com/apache/ignite/blob/master/modules/core/src/main/java/org/apache/ignite/internal/processors/task/GridTaskProcessor.java#L201 On Thu, 2 Dec 2021 at 12:56, Pavel Tupitsyn <ptupit...@apache.org> wrote: > > Maxim, > > > I don't think that we should wait for 3-rd party plugins to be updated > > this is an awful practice when the open-source product releases depend > > on some of the proprietary plugins > > This makes no sense, sorry. > > It is not that we depend on 3rd party plugins. > It is that *our users depend on us to preserve backwards compatibility*. > No one likes when their app breaks suddenly because of a library update. > > We know about one use case for sys-cache in GridGain, but there may be > more, no one knows. > Every breaking change should be carried out carefully and gradually. > > > On Thu, Dec 2, 2021 at 12:34 PM Maxim Muzafarov <mmu...@apache.org> wrote: > > > Slava, > > > > Thank you for the comments. > > > > > Maxim, the community must provide a reasonable time interval in order to > > notify all contributors and wait for updating all 3-rd party plugins. > > > > This is not actually true. We must notify about changes as earlier as > > possible and not only users but all the developers also. However, I > > don't think that we should wait for 3-rd party plugins to be updated > > this is an awful practice when the open-source product releases depend > > on some of the proprietary plugins. There is no dependency between > > Apache Ignite releases and proprietary plugin releases. If someone > > desires to upgrade to a new version of Apache Ignite it can update its > > plugins any time he likes. > > > > > We just need to provide a window that is enough to cover all related > > issues. > > > > Can you share all the issues you know, please? > > > > > distributed meta storage does not provide the ability to atomically > > change several properties at the same time (there are no transactions on > > this API). > > > > Can you share an example of what kind of properties we intend to > > change at the same? Will it be enough to change them through a single > > thread (e.g. the discovery thread or the exchange thread)? I agree > > here that distributed metastorage should provide such an ability, > > however, I can't find any real examples for Apache Ignite internal > > needs. Please, share the details and let's fix it. > > > > On Wed, 1 Dec 2021 at 23:19, Valentin Kulichenko > > <valentin.kuliche...@gmail.com> wrote: > > > > > > Agree with Slava. Two months is not enough time, especially considering > > > that the system cache is not functionally equivalent to the metastorage. > > I > > > suggest we do the following: > > > > > > 1. Write down the differences between the system cache and the > > metastorage, > > > and provide a transition guide for plugin developers. > > > 2. Deprecate the system cache in 2.13. > > > 3. Remove the system cache in one of the further releases. I don't think > > > it's reasonable to do this earlier than mid next year (even that is > > > potentially too early). > > > > > > Removing the system cache is the right move, but let's be more > > considerate > > > to the users. There is absolutely no need to rush. > > > > > > -Val > > > > > > On Wed, Dec 1, 2021 at 7:28 AM Вячеслав Коптилин < > > slava.kopti...@gmail.com> > > > wrote: > > > > > > > Hi Maxim, > > > > > > > > > On the other hand, I don't see any valuable reason why the change > > can't > > > > be done and we should wait for the future that never comes. > > > > Maxim, the community must provide a reasonable time interval in order > > to > > > > notify all contributors and wait for updating all 3-rd party plugins. > > > > Honestly, it does not seem to me that two, three months (the current > > > > timeline - end of March is the release date, so the end of Feb is code > > > > freeze) are quite enough. > > > > > > > > > I don't see any reasons why we should keep something in the CORE > > module > > > > that is being used at PLUGINS only. This is a lack of architecture > > design > > > > that must be fixed for sure; > > > > I agree with you. We just need to provide a window that is enough to > > cover > > > > all related issues. > > > > For example, distributed meta storage does not provide the ability to > > > > atomically change several properties at the same time (there are no > > > > transactions on this API). > > > > > > > > Perhaps, it would be nice to plan to remove the system cache on 2.14 or > > > > even 2.15. What do you think? > > > > > > > > Thanks, > > > > S. > > > > > > > > > > > > вт, 30 нояб. 2021 г. в 13:58, Maxim Muzafarov <mmu...@apache.org>: > > > > > > > > > Hello Val, > > > > > > > > > > Thank you for sharing the details. On the one hand, I agree with you > > > > > that there is no need to haste with this change and it must be > > > > > prepared carefully. On the other hand, I don't see any valuable > > reason > > > > > why the change can't be done and we should wait for the future that > > > > > never comes. > > > > > > > > > > Please, consider the following my considerations: > > > > > > > > > > - The release 2.13 is not started yet. It will take months to be > > > > > released (e.g. the end of March as a possible release date). The time > > > > > is more than enough; > > > > > - The 2.13 release has breaking changes, so it is a good opportunity > > > > > to fix some gaps; > > > > > - I don't see any reasons why we should keep something in the CORE > > > > > module that is being used at PLUGINS only. This is a lack of > > > > > architecture design that must be fixed for sure; > > > > > - The cache affects cluster stability and require additional human > > > > > resources for the code maintenance; > > > > > - As a straightforward solution plugins can create their own internal > > > > > caches and use them ever they like (or use the metastorage as I > > > > > mentioned earlier). Moving system cache to plugin doesn't look so > > > > > complicated and harmful; > > > > > > > > > > On Mon, 29 Nov 2021 at 23:07, Valentin Kulichenko > > > > > <valentin.kuliche...@gmail.com> wrote: > > > > > > > > > > > > Maxim, > > > > > > > > > > > > You're right that the system cache is still likely to be used by > > > > plugins. > > > > > > We at GridGain use it for security features, for example. As far > > as I > > > > > know, > > > > > > that's not the only case. > > > > > > > > > > > > I also agree that the metastorage should be the preferred way for > > this > > > > > kind > > > > > > of purposes, but is there any harm in keeping the system cache for > > now? > > > > > > Unlike the legacy Service Grid, this is not a public feature that > > can > > > > be > > > > > > used directly by a regular user, so I'm not sure why the rush. > > > > > > > > > > > > How about we instead deprecate the system cache, clearly document > > how > > > > to > > > > > > use the metastorage as an alternative, and then complete the > > removal > > > > > > sometime in the future? > > > > > > > > > > > > -Val > > > > > > > > > > > > On Sun, Nov 28, 2021 at 6:49 AM Maxim Muzafarov <mmu...@apache.org > > > > > > > > wrote: > > > > > > > > > > > > > Igniters, > > > > > > > > > > > > > > > > > > > > > Since the legacy service grid implementation was removed [2] I'd > > like > > > > > > > to remove the ignite-sys-cache also. It is still possible that > > some > > > > of > > > > > > > Ignite plugins (e.g. security plugin) are still using this cache, > > > > > > > however, AFAIK this is not the reason to keep the outdated system > > > > > > > cache and these plugins must be migrated to the metastorage > > instead. > > > > > > > > > > > > > > I've filed the issue [1] for removal. Any objections? > > > > > > > > > > > > > > > > > > > > > [1] https://issues.apache.org/jira/browse/IGNITE-16008 > > > > > > > [2] https://issues.apache.org/jira/browse/IGNITE-15758 > > > > > > > > > > > > > > > > > >