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.kuliche...@gmail.com> wrote: > Makes sense, thanks! > > -Val > > On Fri, Sep 3, 2021 at 2:00 AM Pavel Tupitsyn <ptupit...@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.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 > > > > > > > > > >