You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ignite.apache.org by Pavel Tupitsyn <pt...@apache.org> on 2021/08/21 10:31:46 UTC

Ignite 3 Java Thin Client configuration: HOCON and ignite-configuration module

Igniters,

I'd like to discuss Java thin client configuration API in Ignite 3.0.

On one hand, it would be nice to use codegen approach from
ignite-configuration module,
and have consistent config APIs across servers and thin clients.

On the other hand, that API may seem a bit confusing, because for one
ClientConfigurationSchema we get ClientConfiguration (mutable), ClientView
(immutable, name should probably be ClientConfigurationView), and
ClientChange for mutations.

I've drafted some changes in [1], see [2] for a usage example.

Should we follow ignite-configuration approach or create something else for
the thin client?


[1] https://github.com/apache/ignite-3/pull/298
[2]
https://github.com/apache/ignite-3/blob/a26921666f7bff7c45ae35a2244a2bbb2396b241/modules/client/src/test/java/org/apache/ignite/client/ConfigurationTest.java#L42

Re: Ignite 3 Java Thin Client configuration: HOCON and ignite-configuration module

Posted by Pavel Tupitsyn <pt...@apache.org>.
Val, Ivan - agreed. I'll move on with the existing builder approach.

Thanks!

On Sun, Aug 22, 2021 at 5:03 AM Valentin Kulichenko <
valentin.kulichenko@gmail.com> wrote:

> Pavel,
>
> The configuration framework is designed to support dynamic configuration
> changes - I doubt this is needed for the client side. I think we should
> start with simple POJOs or builders.
>
> -Val
>
> On Sat, Aug 21, 2021 at 7:03 AM Ivan Daschinsky <iv...@gmail.com>
> wrote:
>
> > As for me, it is very strange purpose and not very practical. I can
> hardly
> > imagine why someone will use it. For example, if I use micronaut or
> spring,
> > this dependency will make me angry
> >
> > сб, 21 авг. 2021 г., 16:13 Pavel Tupitsyn <pt...@apache.org>:
> >
> > > Ivan, the purpose is to be able to configure thin client with HOCON.
> > >
> > > On Sat, Aug 21, 2021 at 3:37 PM Ivan Daschinsky <iv...@gmail.com>
> > > wrote:
> > >
> > > > Hi. As for me, it is quite strange to make thin client dependent on
> > third
> > > > party libraries like hocon parser and so on. What's the purpose of
> > this?
> > > >
> > > > сб, 21 авг. 2021 г., 13:32 Pavel Tupitsyn <pt...@apache.org>:
> > > >
> > > > > Igniters,
> > > > >
> > > > > I'd like to discuss Java thin client configuration API in Ignite
> 3.0.
> > > > >
> > > > > On one hand, it would be nice to use codegen approach from
> > > > > ignite-configuration module,
> > > > > and have consistent config APIs across servers and thin clients.
> > > > >
> > > > > On the other hand, that API may seem a bit confusing, because for
> one
> > > > > ClientConfigurationSchema we get ClientConfiguration (mutable),
> > > > ClientView
> > > > > (immutable, name should probably be ClientConfigurationView), and
> > > > > ClientChange for mutations.
> > > > >
> > > > > I've drafted some changes in [1], see [2] for a usage example.
> > > > >
> > > > > Should we follow ignite-configuration approach or create something
> > else
> > > > for
> > > > > the thin client?
> > > > >
> > > > >
> > > > > [1] https://github.com/apache/ignite-3/pull/298
> > > > > [2]
> > > > >
> > > > >
> > > >
> > >
> >
> https://github.com/apache/ignite-3/blob/a26921666f7bff7c45ae35a2244a2bbb2396b241/modules/client/src/test/java/org/apache/ignite/client/ConfigurationTest.java#L42
> > > > >
> > > >
> > >
> >
>

Re: Ignite 3 Java Thin Client configuration: HOCON and ignite-configuration module

Posted by Valentin Kulichenko <va...@gmail.com>.
Pavel,

The configuration framework is designed to support dynamic configuration
changes - I doubt this is needed for the client side. I think we should
start with simple POJOs or builders.

-Val

On Sat, Aug 21, 2021 at 7:03 AM Ivan Daschinsky <iv...@gmail.com> wrote:

> As for me, it is very strange purpose and not very practical. I can hardly
> imagine why someone will use it. For example, if I use micronaut or spring,
> this dependency will make me angry
>
> сб, 21 авг. 2021 г., 16:13 Pavel Tupitsyn <pt...@apache.org>:
>
> > Ivan, the purpose is to be able to configure thin client with HOCON.
> >
> > On Sat, Aug 21, 2021 at 3:37 PM Ivan Daschinsky <iv...@gmail.com>
> > wrote:
> >
> > > Hi. As for me, it is quite strange to make thin client dependent on
> third
> > > party libraries like hocon parser and so on. What's the purpose of
> this?
> > >
> > > сб, 21 авг. 2021 г., 13:32 Pavel Tupitsyn <pt...@apache.org>:
> > >
> > > > Igniters,
> > > >
> > > > I'd like to discuss Java thin client configuration API in Ignite 3.0.
> > > >
> > > > On one hand, it would be nice to use codegen approach from
> > > > ignite-configuration module,
> > > > and have consistent config APIs across servers and thin clients.
> > > >
> > > > On the other hand, that API may seem a bit confusing, because for one
> > > > ClientConfigurationSchema we get ClientConfiguration (mutable),
> > > ClientView
> > > > (immutable, name should probably be ClientConfigurationView), and
> > > > ClientChange for mutations.
> > > >
> > > > I've drafted some changes in [1], see [2] for a usage example.
> > > >
> > > > Should we follow ignite-configuration approach or create something
> else
> > > for
> > > > the thin client?
> > > >
> > > >
> > > > [1] https://github.com/apache/ignite-3/pull/298
> > > > [2]
> > > >
> > > >
> > >
> >
> https://github.com/apache/ignite-3/blob/a26921666f7bff7c45ae35a2244a2bbb2396b241/modules/client/src/test/java/org/apache/ignite/client/ConfigurationTest.java#L42
> > > >
> > >
> >
>

Re: Ignite 3 Java Thin Client configuration: HOCON and ignite-configuration module

Posted by Ivan Daschinsky <iv...@gmail.com>.
As for me, it is very strange purpose and not very practical. I can hardly
imagine why someone will use it. For example, if I use micronaut or spring,
this dependency will make me angry

сб, 21 авг. 2021 г., 16:13 Pavel Tupitsyn <pt...@apache.org>:

> Ivan, the purpose is to be able to configure thin client with HOCON.
>
> On Sat, Aug 21, 2021 at 3:37 PM Ivan Daschinsky <iv...@gmail.com>
> wrote:
>
> > Hi. As for me, it is quite strange to make thin client dependent on third
> > party libraries like hocon parser and so on. What's the purpose of this?
> >
> > сб, 21 авг. 2021 г., 13:32 Pavel Tupitsyn <pt...@apache.org>:
> >
> > > Igniters,
> > >
> > > I'd like to discuss Java thin client configuration API in Ignite 3.0.
> > >
> > > On one hand, it would be nice to use codegen approach from
> > > ignite-configuration module,
> > > and have consistent config APIs across servers and thin clients.
> > >
> > > On the other hand, that API may seem a bit confusing, because for one
> > > ClientConfigurationSchema we get ClientConfiguration (mutable),
> > ClientView
> > > (immutable, name should probably be ClientConfigurationView), and
> > > ClientChange for mutations.
> > >
> > > I've drafted some changes in [1], see [2] for a usage example.
> > >
> > > Should we follow ignite-configuration approach or create something else
> > for
> > > the thin client?
> > >
> > >
> > > [1] https://github.com/apache/ignite-3/pull/298
> > > [2]
> > >
> > >
> >
> https://github.com/apache/ignite-3/blob/a26921666f7bff7c45ae35a2244a2bbb2396b241/modules/client/src/test/java/org/apache/ignite/client/ConfigurationTest.java#L42
> > >
> >
>

Re: Ignite 3 Java Thin Client configuration: HOCON and ignite-configuration module

Posted by Pavel Tupitsyn <pt...@apache.org>.
Ivan, the purpose is to be able to configure thin client with HOCON.

On Sat, Aug 21, 2021 at 3:37 PM Ivan Daschinsky <iv...@gmail.com> wrote:

> Hi. As for me, it is quite strange to make thin client dependent on third
> party libraries like hocon parser and so on. What's the purpose of this?
>
> сб, 21 авг. 2021 г., 13:32 Pavel Tupitsyn <pt...@apache.org>:
>
> > Igniters,
> >
> > I'd like to discuss Java thin client configuration API in Ignite 3.0.
> >
> > On one hand, it would be nice to use codegen approach from
> > ignite-configuration module,
> > and have consistent config APIs across servers and thin clients.
> >
> > On the other hand, that API may seem a bit confusing, because for one
> > ClientConfigurationSchema we get ClientConfiguration (mutable),
> ClientView
> > (immutable, name should probably be ClientConfigurationView), and
> > ClientChange for mutations.
> >
> > I've drafted some changes in [1], see [2] for a usage example.
> >
> > Should we follow ignite-configuration approach or create something else
> for
> > the thin client?
> >
> >
> > [1] https://github.com/apache/ignite-3/pull/298
> > [2]
> >
> >
> https://github.com/apache/ignite-3/blob/a26921666f7bff7c45ae35a2244a2bbb2396b241/modules/client/src/test/java/org/apache/ignite/client/ConfigurationTest.java#L42
> >
>

Re: Ignite 3 Java Thin Client configuration: HOCON and ignite-configuration module

Posted by Ivan Daschinsky <iv...@gmail.com>.
Hi. As for me, it is quite strange to make thin client dependent on third
party libraries like hocon parser and so on. What's the purpose of this?

сб, 21 авг. 2021 г., 13:32 Pavel Tupitsyn <pt...@apache.org>:

> Igniters,
>
> I'd like to discuss Java thin client configuration API in Ignite 3.0.
>
> On one hand, it would be nice to use codegen approach from
> ignite-configuration module,
> and have consistent config APIs across servers and thin clients.
>
> On the other hand, that API may seem a bit confusing, because for one
> ClientConfigurationSchema we get ClientConfiguration (mutable), ClientView
> (immutable, name should probably be ClientConfigurationView), and
> ClientChange for mutations.
>
> I've drafted some changes in [1], see [2] for a usage example.
>
> Should we follow ignite-configuration approach or create something else for
> the thin client?
>
>
> [1] https://github.com/apache/ignite-3/pull/298
> [2]
>
> https://github.com/apache/ignite-3/blob/a26921666f7bff7c45ae35a2244a2bbb2396b241/modules/client/src/test/java/org/apache/ignite/client/ConfigurationTest.java#L42
>