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.kuliche...@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 <ptupit...@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
> >
>

Reply via email to