Hello Maxim,

> 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
First of all, we are talking about all plugin developers. It does not
matter it is open-source or proprietary plugins.
Honestly, I don't have a list of all possible plugins that have already
been developed and available under the ASF license, for instance.
Do you have such a list? Can you be sure that this change will not affect
anyone?

> 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
The system cache was the crucial thing in the architecture of Apache Ignite
1.x and 2.x (at least 2.1 - 2.11?)

> All the internals have been reworked and nobody even mentioned that it
may affect some of the plugin developers.
Yep, perhaps, some internal parts of Apache Ignite were reworked in order
to avoid using the system cache.
However, it is still a part of Ignite and it works and can be used in
plugins.
Honestly, the mentioned alternative, I mean the distributed metastorage, is
the INTERNAL thing as well.
It means that plugin developer depends on INTERNAL entities. (it does not
matter system-cache/metastorage)
IMHO, such questions should be CAREFULLY discussed with no rush.

> 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.
Good! We are on the same page!

> 1. Add deprecation for the 2.12 release. I hope it is still possible.
If I am not mistaken, the code freeze was October 29. I think it is too
late to introduce this change. We can add deprecation for the 2.13 release.

> Apache Ignite core still have some dependencies on ignite-sys-cache that
should fix for 2.13
Ok, I agree. We need to try to find out all edge cases and add new
abilities to the metastorage in order to cover all known
issues/requirements.

> Remove the system cache in 2.14.
It depends on our progress with improving the distributed metastorage. In
general, I hope it will be possible.

Thanks,
S.

чт, 2 дек. 2021 г. в 13:36, Maxim Muzafarov <mmu...@apache.org>:

> 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
> > > > > > > >
> > > > > >
> > > > >
> > >
>

Reply via email to