You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ignite.apache.org by Ivan Gagarkin <ga...@gmail.com> on 2023/02/03 06:51:10 UTC

[DISCUSSION] Add additional 3rd party libraries to Ignite 3

I'd like to add a few 3rd party libraries to Ignite 3

   1. Micronaut Security
   https://micronaut-projects.github.io/micronaut-security/latest/guide/
   2. Micronaut Reactor
   https://micronaut-projects.github.io/micronaut-reactor/latest/guide/

We have to have them for authentication and authorization in the REST.
https://issues.apache.org/jira/browse/IGNITE-18576

WDYT? Any objections? Also, comments on IEP-87 are welcomed.
-- 
Best Regards, Ivan

Re: [DISCUSSION] Add additional 3rd party libraries to Ignite 3

Posted by Roman Puchkovskiy <ro...@gmail.com>.
Hi guys.

The thing is that we already use reactor-core transitively (it is a
dependency of scalecube-cluster-api and scalecube-cluster). We also
use it directly (in just a few places) in the networking code. If we
shade the one that comes with the micronaut, the other one will still
remain. We will probably need to shade all of them.

Even if we are going to do it, should we postpone such an aggressive
shading till a later date? It seems that it might be easier to develop
using the normal dependency model, without shading anything. We could
add the corresponding TODOs and resolve them closer to the GA.

What do you think?

пт, 17 февр. 2023 г. в 13:46, Andrey Mashenkov <an...@gmail.com>:
>
> Hi Ivan,
>
> I'm ok to add reactive-streams.jar, because it contains just interfaces
> that 1:1 java-flow API and FlowAdapter to convert JDK <-> ReactiveStreams
> interfaces.
>
> The interfaces available in JDK >= 9 java.util.concurrent.Flow, are 1:1
> > semantically equivalent to their respective Reactive Streams counterparts.
> > This means that there will be a migratory period, while libraries move to
> > adopt the new types in the JDK, however this period is expected to be short
> > - due to the full semantic equivalence of the libraries, as well as the
> > Reactive Streams <-> Flow adapter library as well as a TCK compatible
> > directly with the JDK Flow types.
>
>
> However,  Project-reactor dependency (e.g. reactor.core.publisher.Flux) is
> what we prefer to avoid or 'shadow' somehow.
>
>
> On Fri, Feb 17, 2023 at 10:49 AM Ivan Gagarkin <ga...@gmail.com>
> wrote:
>
> > There is a PR https://github.com/apache/ignite-3/pull/1569
> >
> > On Fri, Feb 17, 2023 at 11:47 AM Ivan Gagarkin <ga...@gmail.com>
> > wrote:
> >
> > > The wrong link is above. It returns
> > >
> > https://www.reactive-streams.org/reactive-streams-1.0.3-javadoc/org/reactivestreams/Publisher.html
> > >
> > > On Fri, Feb 17, 2023 at 11:45 AM Ivan Gagarkin <ga...@gmail.com>
> > > wrote:
> > >
> > >> We have to add reactor because we should implement
> > >>
> > https://github.com/micronaut-projects/micronaut-security/blob/master/security/src/main/java/io/micronaut/security/authentication/AuthenticationProvider.java
> > >> which returns
> > >>
> > https://micronaut-projects.github.io/micronaut-security/2.4.0/api/io/micronaut/security/authentication/AuthenticationProvider.html
> > .
> > >> I don't see any implementations in the project right now.
> > >>
> > >> On Fri, Feb 3, 2023 at 6:18 PM Михаил Початкин <m.a.pochatkin@gmail.com
> > >
> > >> wrote:
> > >>
> > >>> Hi, Ivan.
> > >>>
> > >>> I don't see any problems with adding *micronaut-security* in the
> > context
> > >>> of
> > >>> the IGNITE-18575 epic of security implementation. Moreover, we already
> > >>> have
> > >>> several micronaut modules in dependencies (micronaut-inject,
> > >>> micronaut-runtime, micronaut-validation, micronaut-http, etc) and I
> > think
> > >>> that we should not deviate from a single ecosystem. I would also like
> > to
> > >>> see the answer to Alexander's question about the reactor dependency.
> > >>>
> > >>> Thanks!
> > >>>
> > >>> пт, 3 февр. 2023 г. в 12:11, Aleksandr Pakhomov <ap...@gmail.com>:
> > >>>
> > >>> > Hi Ivan,
> > >>> >
> > >>> > Why do we add reactor dependency? The Ignite 3 codebase
> > >>> > uses java async API. Just wonder to know it we could escape
> > >>> > the usage of third party async libraries.
> > >>> >
> > >>> > --
> > >>> > Best regards,
> > >>> > Aleksandr
> > >>> >
> > >>> > > On 3 Feb 2023, at 10:51, Ivan Gagarkin <ga...@gmail.com>
> > >>> wrote:
> > >>> > >
> > >>> > > I'd like to add a few 3rd party libraries to Ignite 3
> > >>> > >
> > >>> > >   1. Micronaut Security
> > >>> > >
> > >>> https://micronaut-projects.github.io/micronaut-security/latest/guide/
> > >>> > >   2. Micronaut Reactor
> > >>> > >
> > >>> https://micronaut-projects.github.io/micronaut-reactor/latest/guide/
> > >>> > >
> > >>> > > We have to have them for authentication and authorization in the
> > >>> REST.
> > >>> > > https://issues.apache.org/jira/browse/IGNITE-18576
> > >>> > >
> > >>> > > WDYT? Any objections? Also, comments on IEP-87 are welcomed.
> > >>> > > --
> > >>> > > Best Regards, Ivan
> > >>> >
> > >>> >
> > >>>
> > >>> --
> > >>> С уважением,
> > >>> Початкин Михаил.
> > >>>
> > >>
> > >>
> > >> --
> > >> Best Regards, Ivan
> > >>
> > >
> > >
> > > --
> > > Best Regards, Ivan
> > >
> >
> >
> > --
> > Best Regards, Ivan
> >
>
>
> --
> Best regards,
> Andrey V. Mashenkov

Re: [DISCUSSION] Add additional 3rd party libraries to Ignite 3

Posted by Andrey Mashenkov <an...@gmail.com>.
Hi Ivan,

I'm ok to add reactive-streams.jar, because it contains just interfaces
that 1:1 java-flow API and FlowAdapter to convert JDK <-> ReactiveStreams
interfaces.

The interfaces available in JDK >= 9 java.util.concurrent.Flow, are 1:1
> semantically equivalent to their respective Reactive Streams counterparts.
> This means that there will be a migratory period, while libraries move to
> adopt the new types in the JDK, however this period is expected to be short
> - due to the full semantic equivalence of the libraries, as well as the
> Reactive Streams <-> Flow adapter library as well as a TCK compatible
> directly with the JDK Flow types.


However,  Project-reactor dependency (e.g. reactor.core.publisher.Flux) is
what we prefer to avoid or 'shadow' somehow.


On Fri, Feb 17, 2023 at 10:49 AM Ivan Gagarkin <ga...@gmail.com>
wrote:

> There is a PR https://github.com/apache/ignite-3/pull/1569
>
> On Fri, Feb 17, 2023 at 11:47 AM Ivan Gagarkin <ga...@gmail.com>
> wrote:
>
> > The wrong link is above. It returns
> >
> https://www.reactive-streams.org/reactive-streams-1.0.3-javadoc/org/reactivestreams/Publisher.html
> >
> > On Fri, Feb 17, 2023 at 11:45 AM Ivan Gagarkin <ga...@gmail.com>
> > wrote:
> >
> >> We have to add reactor because we should implement
> >>
> https://github.com/micronaut-projects/micronaut-security/blob/master/security/src/main/java/io/micronaut/security/authentication/AuthenticationProvider.java
> >> which returns
> >>
> https://micronaut-projects.github.io/micronaut-security/2.4.0/api/io/micronaut/security/authentication/AuthenticationProvider.html
> .
> >> I don't see any implementations in the project right now.
> >>
> >> On Fri, Feb 3, 2023 at 6:18 PM Михаил Початкин <m.a.pochatkin@gmail.com
> >
> >> wrote:
> >>
> >>> Hi, Ivan.
> >>>
> >>> I don't see any problems with adding *micronaut-security* in the
> context
> >>> of
> >>> the IGNITE-18575 epic of security implementation. Moreover, we already
> >>> have
> >>> several micronaut modules in dependencies (micronaut-inject,
> >>> micronaut-runtime, micronaut-validation, micronaut-http, etc) and I
> think
> >>> that we should not deviate from a single ecosystem. I would also like
> to
> >>> see the answer to Alexander's question about the reactor dependency.
> >>>
> >>> Thanks!
> >>>
> >>> пт, 3 февр. 2023 г. в 12:11, Aleksandr Pakhomov <ap...@gmail.com>:
> >>>
> >>> > Hi Ivan,
> >>> >
> >>> > Why do we add reactor dependency? The Ignite 3 codebase
> >>> > uses java async API. Just wonder to know it we could escape
> >>> > the usage of third party async libraries.
> >>> >
> >>> > --
> >>> > Best regards,
> >>> > Aleksandr
> >>> >
> >>> > > On 3 Feb 2023, at 10:51, Ivan Gagarkin <ga...@gmail.com>
> >>> wrote:
> >>> > >
> >>> > > I'd like to add a few 3rd party libraries to Ignite 3
> >>> > >
> >>> > >   1. Micronaut Security
> >>> > >
> >>> https://micronaut-projects.github.io/micronaut-security/latest/guide/
> >>> > >   2. Micronaut Reactor
> >>> > >
> >>> https://micronaut-projects.github.io/micronaut-reactor/latest/guide/
> >>> > >
> >>> > > We have to have them for authentication and authorization in the
> >>> REST.
> >>> > > https://issues.apache.org/jira/browse/IGNITE-18576
> >>> > >
> >>> > > WDYT? Any objections? Also, comments on IEP-87 are welcomed.
> >>> > > --
> >>> > > Best Regards, Ivan
> >>> >
> >>> >
> >>>
> >>> --
> >>> С уважением,
> >>> Початкин Михаил.
> >>>
> >>
> >>
> >> --
> >> Best Regards, Ivan
> >>
> >
> >
> > --
> > Best Regards, Ivan
> >
>
>
> --
> Best Regards, Ivan
>


-- 
Best regards,
Andrey V. Mashenkov

Re: [DISCUSSION] Add additional 3rd party libraries to Ignite 3

Posted by Ivan Gagarkin <ga...@gmail.com>.
There is a PR https://github.com/apache/ignite-3/pull/1569

On Fri, Feb 17, 2023 at 11:47 AM Ivan Gagarkin <ga...@gmail.com>
wrote:

> The wrong link is above. It returns
> https://www.reactive-streams.org/reactive-streams-1.0.3-javadoc/org/reactivestreams/Publisher.html
>
> On Fri, Feb 17, 2023 at 11:45 AM Ivan Gagarkin <ga...@gmail.com>
> wrote:
>
>> We have to add reactor because we should implement
>> https://github.com/micronaut-projects/micronaut-security/blob/master/security/src/main/java/io/micronaut/security/authentication/AuthenticationProvider.java
>> which returns
>> https://micronaut-projects.github.io/micronaut-security/2.4.0/api/io/micronaut/security/authentication/AuthenticationProvider.html.
>> I don't see any implementations in the project right now.
>>
>> On Fri, Feb 3, 2023 at 6:18 PM Михаил Початкин <m....@gmail.com>
>> wrote:
>>
>>> Hi, Ivan.
>>>
>>> I don't see any problems with adding *micronaut-security* in the context
>>> of
>>> the IGNITE-18575 epic of security implementation. Moreover, we already
>>> have
>>> several micronaut modules in dependencies (micronaut-inject,
>>> micronaut-runtime, micronaut-validation, micronaut-http, etc) and I think
>>> that we should not deviate from a single ecosystem. I would also like to
>>> see the answer to Alexander's question about the reactor dependency.
>>>
>>> Thanks!
>>>
>>> пт, 3 февр. 2023 г. в 12:11, Aleksandr Pakhomov <ap...@gmail.com>:
>>>
>>> > Hi Ivan,
>>> >
>>> > Why do we add reactor dependency? The Ignite 3 codebase
>>> > uses java async API. Just wonder to know it we could escape
>>> > the usage of third party async libraries.
>>> >
>>> > --
>>> > Best regards,
>>> > Aleksandr
>>> >
>>> > > On 3 Feb 2023, at 10:51, Ivan Gagarkin <ga...@gmail.com>
>>> wrote:
>>> > >
>>> > > I'd like to add a few 3rd party libraries to Ignite 3
>>> > >
>>> > >   1. Micronaut Security
>>> > >
>>> https://micronaut-projects.github.io/micronaut-security/latest/guide/
>>> > >   2. Micronaut Reactor
>>> > >
>>> https://micronaut-projects.github.io/micronaut-reactor/latest/guide/
>>> > >
>>> > > We have to have them for authentication and authorization in the
>>> REST.
>>> > > https://issues.apache.org/jira/browse/IGNITE-18576
>>> > >
>>> > > WDYT? Any objections? Also, comments on IEP-87 are welcomed.
>>> > > --
>>> > > Best Regards, Ivan
>>> >
>>> >
>>>
>>> --
>>> С уважением,
>>> Початкин Михаил.
>>>
>>
>>
>> --
>> Best Regards, Ivan
>>
>
>
> --
> Best Regards, Ivan
>


-- 
Best Regards, Ivan

Re: [DISCUSSION] Add additional 3rd party libraries to Ignite 3

Posted by Ivan Gagarkin <ga...@gmail.com>.
The wrong link is above. It returns
https://www.reactive-streams.org/reactive-streams-1.0.3-javadoc/org/reactivestreams/Publisher.html

On Fri, Feb 17, 2023 at 11:45 AM Ivan Gagarkin <ga...@gmail.com>
wrote:

> We have to add reactor because we should implement
> https://github.com/micronaut-projects/micronaut-security/blob/master/security/src/main/java/io/micronaut/security/authentication/AuthenticationProvider.java
> which returns
> https://micronaut-projects.github.io/micronaut-security/2.4.0/api/io/micronaut/security/authentication/AuthenticationProvider.html.
> I don't see any implementations in the project right now.
>
> On Fri, Feb 3, 2023 at 6:18 PM Михаил Початкин <m....@gmail.com>
> wrote:
>
>> Hi, Ivan.
>>
>> I don't see any problems with adding *micronaut-security* in the context
>> of
>> the IGNITE-18575 epic of security implementation. Moreover, we already
>> have
>> several micronaut modules in dependencies (micronaut-inject,
>> micronaut-runtime, micronaut-validation, micronaut-http, etc) and I think
>> that we should not deviate from a single ecosystem. I would also like to
>> see the answer to Alexander's question about the reactor dependency.
>>
>> Thanks!
>>
>> пт, 3 февр. 2023 г. в 12:11, Aleksandr Pakhomov <ap...@gmail.com>:
>>
>> > Hi Ivan,
>> >
>> > Why do we add reactor dependency? The Ignite 3 codebase
>> > uses java async API. Just wonder to know it we could escape
>> > the usage of third party async libraries.
>> >
>> > --
>> > Best regards,
>> > Aleksandr
>> >
>> > > On 3 Feb 2023, at 10:51, Ivan Gagarkin <ga...@gmail.com>
>> wrote:
>> > >
>> > > I'd like to add a few 3rd party libraries to Ignite 3
>> > >
>> > >   1. Micronaut Security
>> > >
>> https://micronaut-projects.github.io/micronaut-security/latest/guide/
>> > >   2. Micronaut Reactor
>> > >
>> https://micronaut-projects.github.io/micronaut-reactor/latest/guide/
>> > >
>> > > We have to have them for authentication and authorization in the REST.
>> > > https://issues.apache.org/jira/browse/IGNITE-18576
>> > >
>> > > WDYT? Any objections? Also, comments on IEP-87 are welcomed.
>> > > --
>> > > Best Regards, Ivan
>> >
>> >
>>
>> --
>> С уважением,
>> Початкин Михаил.
>>
>
>
> --
> Best Regards, Ivan
>


-- 
Best Regards, Ivan

Re: [DISCUSSION] Add additional 3rd party libraries to Ignite 3

Posted by Ivan Gagarkin <ga...@gmail.com>.
We have to add reactor because we should implement
https://github.com/micronaut-projects/micronaut-security/blob/master/security/src/main/java/io/micronaut/security/authentication/AuthenticationProvider.java
which returns
https://micronaut-projects.github.io/micronaut-security/2.4.0/api/io/micronaut/security/authentication/AuthenticationProvider.html.
I don't see any implementations in the project right now.

On Fri, Feb 3, 2023 at 6:18 PM Михаил Початкин <m....@gmail.com>
wrote:

> Hi, Ivan.
>
> I don't see any problems with adding *micronaut-security* in the context of
> the IGNITE-18575 epic of security implementation. Moreover, we already have
> several micronaut modules in dependencies (micronaut-inject,
> micronaut-runtime, micronaut-validation, micronaut-http, etc) and I think
> that we should not deviate from a single ecosystem. I would also like to
> see the answer to Alexander's question about the reactor dependency.
>
> Thanks!
>
> пт, 3 февр. 2023 г. в 12:11, Aleksandr Pakhomov <ap...@gmail.com>:
>
> > Hi Ivan,
> >
> > Why do we add reactor dependency? The Ignite 3 codebase
> > uses java async API. Just wonder to know it we could escape
> > the usage of third party async libraries.
> >
> > --
> > Best regards,
> > Aleksandr
> >
> > > On 3 Feb 2023, at 10:51, Ivan Gagarkin <ga...@gmail.com> wrote:
> > >
> > > I'd like to add a few 3rd party libraries to Ignite 3
> > >
> > >   1. Micronaut Security
> > >
> https://micronaut-projects.github.io/micronaut-security/latest/guide/
> > >   2. Micronaut Reactor
> > >   https://micronaut-projects.github.io/micronaut-reactor/latest/guide/
> > >
> > > We have to have them for authentication and authorization in the REST.
> > > https://issues.apache.org/jira/browse/IGNITE-18576
> > >
> > > WDYT? Any objections? Also, comments on IEP-87 are welcomed.
> > > --
> > > Best Regards, Ivan
> >
> >
>
> --
> С уважением,
> Початкин Михаил.
>


-- 
Best Regards, Ivan

Re: [DISCUSSION] Add additional 3rd party libraries to Ignite 3

Posted by Михаил Початкин <m....@gmail.com>.
Hi, Ivan.

I don't see any problems with adding *micronaut-security* in the context of
the IGNITE-18575 epic of security implementation. Moreover, we already have
several micronaut modules in dependencies (micronaut-inject,
micronaut-runtime, micronaut-validation, micronaut-http, etc) and I think
that we should not deviate from a single ecosystem. I would also like to
see the answer to Alexander's question about the reactor dependency.

Thanks!

пт, 3 февр. 2023 г. в 12:11, Aleksandr Pakhomov <ap...@gmail.com>:

> Hi Ivan,
>
> Why do we add reactor dependency? The Ignite 3 codebase
> uses java async API. Just wonder to know it we could escape
> the usage of third party async libraries.
>
> --
> Best regards,
> Aleksandr
>
> > On 3 Feb 2023, at 10:51, Ivan Gagarkin <ga...@gmail.com> wrote:
> >
> > I'd like to add a few 3rd party libraries to Ignite 3
> >
> >   1. Micronaut Security
> >   https://micronaut-projects.github.io/micronaut-security/latest/guide/
> >   2. Micronaut Reactor
> >   https://micronaut-projects.github.io/micronaut-reactor/latest/guide/
> >
> > We have to have them for authentication and authorization in the REST.
> > https://issues.apache.org/jira/browse/IGNITE-18576
> >
> > WDYT? Any objections? Also, comments on IEP-87 are welcomed.
> > --
> > Best Regards, Ivan
>
>

-- 
С уважением,
Початкин Михаил.

Re: [DISCUSSION] Add additional 3rd party libraries to Ignite 3

Posted by Aleksandr Pakhomov <ap...@gmail.com>.
Hi Ivan,

Why do we add reactor dependency? The Ignite 3 codebase
uses java async API. Just wonder to know it we could escape
the usage of third party async libraries.

--
Best regards,
Aleksandr

> On 3 Feb 2023, at 10:51, Ivan Gagarkin <ga...@gmail.com> wrote:
> 
> I'd like to add a few 3rd party libraries to Ignite 3
> 
>   1. Micronaut Security
>   https://micronaut-projects.github.io/micronaut-security/latest/guide/
>   2. Micronaut Reactor
>   https://micronaut-projects.github.io/micronaut-reactor/latest/guide/
> 
> We have to have them for authentication and authorization in the REST.
> https://issues.apache.org/jira/browse/IGNITE-18576
> 
> WDYT? Any objections? Also, comments on IEP-87 are welcomed.
> -- 
> Best Regards, Ivan