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/09/02 17:08:15 UTC
IEP-78 .NET Thin Client for Ignite 3.0
Igniters,
Please review the IEP [1] and the PoC [2] for .NET Thin Client in Ignite
3.0.
[1]
https://cwiki.apache.org/confluence/display/IGNITE/IEP-78+.NET+Thin+Client
[2] https://github.com/apache/ignite-3/pull/306
Re: IEP-78 .NET Thin Client for Ignite 3.0
Posted by Valentin Kulichenko <va...@gmail.com>.
Hi Pavel,
I've created a thread.
-Val
On Mon, Sep 6, 2021 at 12:02 PM Pavel Tupitsyn <pt...@apache.org> wrote:
> Val,
>
> Would you like me to start the discussion about sync-over-async in Ignite 3
> Java APIs, or do you plan to do it yourself?
>
> On Fri, Sep 3, 2021 at 10:10 PM Valentin Kulichenko <
> valentin.kulichenko@gmail.com> wrote:
>
> > Makes sense, thanks!
> >
> > -Val
> >
> > On Fri, Sep 3, 2021 at 2:00 AM Pavel Tupitsyn <pt...@apache.org>
> > wrote:
> >
> > > Hi Val,
> > >
> > > This is a very good point.
> > >
> > > I've looked around blogs, docs, and system APIs, and updated the IEP
> > > accordingly:
> > > For Ignite.NET I propose NOT to add sync methods when the actual
> > > implementation is async:
> > > - It is easy to consume async APIs in C# with async/await keywords
> (added
> > > in 2012 and widely adopted)
> > > - Most codebases are fully async anyway
> > > - System APIs and popular libraries follow this direction
> > > - Sync-over-async is misleading and can affect performance
> > >
> > >
> > > However, I'm not so sure about Java, where async/await are not present,
> > > overall async usage seems to be rarer, and removing sync methods may
> > become
> > > an obstacle for the users in some cases.
> > > Let's create a separate discussion and see what others think.
> > >
> > > Pavel
> > >
> > > On Thu, Sep 2, 2021 at 10:32 PM Valentin Kulichenko <
> > > valentin.kulichenko@gmail.com> wrote:
> > >
> > > > Hi Pavel,
> > > >
> > > > I've looked at the IEP and the public API - looks good to me.
> > > >
> > > > Quick question - do you plan to add sync methods to the interfaces,
> or
> > > > you're thinking to only leave async? If the latter, what are the
> > > arguments
> > > > for this? The reason I'm asking is that I'm actually thinking about
> > > > suggesting the same for Java as well (or at least having a discussion
> > > about
> > > > this).
> > > >
> > > > -Val
> > > >
> > > > On Thu, Sep 2, 2021 at 10:08 AM Pavel Tupitsyn <ptupitsyn@apache.org
> >
> > > > wrote:
> > > >
> > > > > Igniters,
> > > > >
> > > > > Please review the IEP [1] and the PoC [2] for .NET Thin Client in
> > > Ignite
> > > > > 3.0.
> > > > >
> > > > > [1]
> > > > >
> > > >
> > >
> >
> https://cwiki.apache.org/confluence/display/IGNITE/IEP-78+.NET+Thin+Client
> > > > > [2] https://github.com/apache/ignite-3/pull/306
> > > > >
> > > >
> > >
> >
>
Re: IEP-78 .NET Thin Client for Ignite 3.0
Posted by Pavel Tupitsyn <pt...@apache.org>.
Igniters,
Since there are no more comments, I'm going to merge the first PR later
today and continue working on .NET thin client.
There are separate tickets for CI setup [1] and full API support [2] [3].
[1] https://issues.apache.org/jira/browse/IGNITE-15432
[2] https://issues.apache.org/jira/browse/IGNITE-15430
[3] https://issues.apache.org/jira/browse/IGNITE-15431
On Mon, Sep 6, 2021 at 10:02 PM Pavel Tupitsyn <pt...@apache.org> wrote:
> Val,
>
> Would you like me to start the discussion about sync-over-async in Ignite
> 3 Java APIs, or do you plan to do it yourself?
>
> On Fri, Sep 3, 2021 at 10:10 PM Valentin Kulichenko <
> valentin.kulichenko@gmail.com> wrote:
>
>> Makes sense, thanks!
>>
>> -Val
>>
>> On Fri, Sep 3, 2021 at 2:00 AM Pavel Tupitsyn <pt...@apache.org>
>> wrote:
>>
>> > Hi Val,
>> >
>> > This is a very good point.
>> >
>> > I've looked around blogs, docs, and system APIs, and updated the IEP
>> > accordingly:
>> > For Ignite.NET I propose NOT to add sync methods when the actual
>> > implementation is async:
>> > - It is easy to consume async APIs in C# with async/await keywords
>> (added
>> > in 2012 and widely adopted)
>> > - Most codebases are fully async anyway
>> > - System APIs and popular libraries follow this direction
>> > - Sync-over-async is misleading and can affect performance
>> >
>> >
>> > However, I'm not so sure about Java, where async/await are not present,
>> > overall async usage seems to be rarer, and removing sync methods may
>> become
>> > an obstacle for the users in some cases.
>> > Let's create a separate discussion and see what others think.
>> >
>> > Pavel
>> >
>> > On Thu, Sep 2, 2021 at 10:32 PM Valentin Kulichenko <
>> > valentin.kulichenko@gmail.com> wrote:
>> >
>> > > Hi Pavel,
>> > >
>> > > I've looked at the IEP and the public API - looks good to me.
>> > >
>> > > Quick question - do you plan to add sync methods to the interfaces, or
>> > > you're thinking to only leave async? If the latter, what are the
>> > arguments
>> > > for this? The reason I'm asking is that I'm actually thinking about
>> > > suggesting the same for Java as well (or at least having a discussion
>> > about
>> > > this).
>> > >
>> > > -Val
>> > >
>> > > On Thu, Sep 2, 2021 at 10:08 AM Pavel Tupitsyn <pt...@apache.org>
>> > > wrote:
>> > >
>> > > > Igniters,
>> > > >
>> > > > Please review the IEP [1] and the PoC [2] for .NET Thin Client in
>> > Ignite
>> > > > 3.0.
>> > > >
>> > > > [1]
>> > > >
>> > >
>> >
>> https://cwiki.apache.org/confluence/display/IGNITE/IEP-78+.NET+Thin+Client
>> > > > [2] https://github.com/apache/ignite-3/pull/306
>> > > >
>> > >
>> >
>>
>
Re: IEP-78 .NET Thin Client for Ignite 3.0
Posted by Pavel Tupitsyn <pt...@apache.org>.
Val,
Would you like me to start the discussion about sync-over-async in Ignite 3
Java APIs, or do you plan to do it yourself?
On Fri, Sep 3, 2021 at 10:10 PM Valentin Kulichenko <
valentin.kulichenko@gmail.com> wrote:
> Makes sense, thanks!
>
> -Val
>
> On Fri, Sep 3, 2021 at 2:00 AM Pavel Tupitsyn <pt...@apache.org>
> wrote:
>
> > Hi Val,
> >
> > This is a very good point.
> >
> > I've looked around blogs, docs, and system APIs, and updated the IEP
> > accordingly:
> > For Ignite.NET I propose NOT to add sync methods when the actual
> > implementation is async:
> > - It is easy to consume async APIs in C# with async/await keywords (added
> > in 2012 and widely adopted)
> > - Most codebases are fully async anyway
> > - System APIs and popular libraries follow this direction
> > - Sync-over-async is misleading and can affect performance
> >
> >
> > However, I'm not so sure about Java, where async/await are not present,
> > overall async usage seems to be rarer, and removing sync methods may
> become
> > an obstacle for the users in some cases.
> > Let's create a separate discussion and see what others think.
> >
> > Pavel
> >
> > On Thu, Sep 2, 2021 at 10:32 PM Valentin Kulichenko <
> > valentin.kulichenko@gmail.com> wrote:
> >
> > > Hi Pavel,
> > >
> > > I've looked at the IEP and the public API - looks good to me.
> > >
> > > Quick question - do you plan to add sync methods to the interfaces, or
> > > you're thinking to only leave async? If the latter, what are the
> > arguments
> > > for this? The reason I'm asking is that I'm actually thinking about
> > > suggesting the same for Java as well (or at least having a discussion
> > about
> > > this).
> > >
> > > -Val
> > >
> > > On Thu, Sep 2, 2021 at 10:08 AM Pavel Tupitsyn <pt...@apache.org>
> > > wrote:
> > >
> > > > Igniters,
> > > >
> > > > Please review the IEP [1] and the PoC [2] for .NET Thin Client in
> > Ignite
> > > > 3.0.
> > > >
> > > > [1]
> > > >
> > >
> >
> https://cwiki.apache.org/confluence/display/IGNITE/IEP-78+.NET+Thin+Client
> > > > [2] https://github.com/apache/ignite-3/pull/306
> > > >
> > >
> >
>
Re: IEP-78 .NET Thin Client for Ignite 3.0
Posted by Valentin Kulichenko <va...@gmail.com>.
Makes sense, thanks!
-Val
On Fri, Sep 3, 2021 at 2:00 AM Pavel Tupitsyn <pt...@apache.org> wrote:
> Hi Val,
>
> This is a very good point.
>
> I've looked around blogs, docs, and system APIs, and updated the IEP
> accordingly:
> For Ignite.NET I propose NOT to add sync methods when the actual
> implementation is async:
> - It is easy to consume async APIs in C# with async/await keywords (added
> in 2012 and widely adopted)
> - Most codebases are fully async anyway
> - System APIs and popular libraries follow this direction
> - Sync-over-async is misleading and can affect performance
>
>
> However, I'm not so sure about Java, where async/await are not present,
> overall async usage seems to be rarer, and removing sync methods may become
> an obstacle for the users in some cases.
> Let's create a separate discussion and see what others think.
>
> Pavel
>
> On Thu, Sep 2, 2021 at 10:32 PM Valentin Kulichenko <
> valentin.kulichenko@gmail.com> wrote:
>
> > Hi Pavel,
> >
> > I've looked at the IEP and the public API - looks good to me.
> >
> > Quick question - do you plan to add sync methods to the interfaces, or
> > you're thinking to only leave async? If the latter, what are the
> arguments
> > for this? The reason I'm asking is that I'm actually thinking about
> > suggesting the same for Java as well (or at least having a discussion
> about
> > this).
> >
> > -Val
> >
> > On Thu, Sep 2, 2021 at 10:08 AM Pavel Tupitsyn <pt...@apache.org>
> > wrote:
> >
> > > Igniters,
> > >
> > > Please review the IEP [1] and the PoC [2] for .NET Thin Client in
> Ignite
> > > 3.0.
> > >
> > > [1]
> > >
> >
> https://cwiki.apache.org/confluence/display/IGNITE/IEP-78+.NET+Thin+Client
> > > [2] https://github.com/apache/ignite-3/pull/306
> > >
> >
>
Re: IEP-78 .NET Thin Client for Ignite 3.0
Posted by Pavel Tupitsyn <pt...@apache.org>.
Hi Val,
This is a very good point.
I've looked around blogs, docs, and system APIs, and updated the IEP
accordingly:
For Ignite.NET I propose NOT to add sync methods when the actual
implementation is async:
- It is easy to consume async APIs in C# with async/await keywords (added
in 2012 and widely adopted)
- Most codebases are fully async anyway
- System APIs and popular libraries follow this direction
- Sync-over-async is misleading and can affect performance
However, I'm not so sure about Java, where async/await are not present,
overall async usage seems to be rarer, and removing sync methods may become
an obstacle for the users in some cases.
Let's create a separate discussion and see what others think.
Pavel
On Thu, Sep 2, 2021 at 10:32 PM Valentin Kulichenko <
valentin.kulichenko@gmail.com> wrote:
> Hi Pavel,
>
> I've looked at the IEP and the public API - looks good to me.
>
> Quick question - do you plan to add sync methods to the interfaces, or
> you're thinking to only leave async? If the latter, what are the arguments
> for this? The reason I'm asking is that I'm actually thinking about
> suggesting the same for Java as well (or at least having a discussion about
> this).
>
> -Val
>
> On Thu, Sep 2, 2021 at 10:08 AM Pavel Tupitsyn <pt...@apache.org>
> wrote:
>
> > Igniters,
> >
> > Please review the IEP [1] and the PoC [2] for .NET Thin Client in Ignite
> > 3.0.
> >
> > [1]
> >
> https://cwiki.apache.org/confluence/display/IGNITE/IEP-78+.NET+Thin+Client
> > [2] https://github.com/apache/ignite-3/pull/306
> >
>
Re: IEP-78 .NET Thin Client for Ignite 3.0
Posted by Valentin Kulichenko <va...@gmail.com>.
Hi Pavel,
I've looked at the IEP and the public API - looks good to me.
Quick question - do you plan to add sync methods to the interfaces, or
you're thinking to only leave async? If the latter, what are the arguments
for this? The reason I'm asking is that I'm actually thinking about
suggesting the same for Java as well (or at least having a discussion about
this).
-Val
On Thu, Sep 2, 2021 at 10:08 AM Pavel Tupitsyn <pt...@apache.org> wrote:
> Igniters,
>
> Please review the IEP [1] and the PoC [2] for .NET Thin Client in Ignite
> 3.0.
>
> [1]
> https://cwiki.apache.org/confluence/display/IGNITE/IEP-78+.NET+Thin+Client
> [2] https://github.com/apache/ignite-3/pull/306
>