IMO you can complete async operations one before another if these operations are related to independent data.
It is strange why Ignite users are not confused by current API. So I support Dmitriy's G. suggestion. пт, 11 мая 2018 г. в 20:24, Dmitriy Setrakyan <dsetrak...@apache.org>: > Guys, > > I am not sure I like this approach, especially for this code: > > f1=cache.getAsync(key1); > f2=cache.getAsync(key2); > > You cannot complete f2 before f1. If you do, the code is unusable and it is > impossible to predict anything. If you need to get 2 elements > asynchronously, use getAllAsync() instead. > > Let's not introduce such usability issues into our API and stop trying to > fix what's not broken. I propose to close the ticket as "Won't Fix". > > D. > > On Fri, May 11, 2018 at 6:14 PM, Dmitriy Govorukhin < > dmitriy.govoruk...@gmail.com> wrote: > > > Igniters, > > > > I created the issue. IGNITE-8475 > > <https://issues.apache.org/jira/browse/IGNITE-8475> > > > > Any comments are welcome. > > > > On Fri, May 11, 2018 at 6:32 PM, Ivan Rakov <ivan.glu...@gmail.com> > wrote: > > > > > Agree. "fair" is more descriptive. > > > > > > Best Regards, > > > Ivan Rakov > > > > > > > > > On 11.05.2018 18:30, Dmitriy Govorukhin wrote: > > > > > >> Ivan, > > >> > > >> My suggestion "withFairAsync()". What do you think? > > >> > > >> On Fri, May 11, 2018 at 6:23 PM, Ivan Rakov <ivan.glu...@gmail.com> > > >> wrote: > > >> > > >> I think, the best option from API side is to add decorating > > >>> withExplicitAsync() method. > > >>> We already have withKeepBinary, withExpiryPolicy and so on. > > >>> > > >>> Best Regards, > > >>> Ivan Rakov > > >>> > > >>> > > >>> On 11.05.2018 18:18, Dmitriy Govorukhin wrote: > > >>> > > >>> Vladimir, > > >>>> > > >>>> Should we create the new cache adapter or rework GridCacheAdapter? > > >>>> > > >>>> On Fri, May 11, 2018 at 5:52 PM, Vladimir Ozerov < > > voze...@gridgain.com> > > >>>> wrote: > > >>>> > > >>>> +1 > > >>>> > > >>>>> This would also be helpful for transactional SQL as it would allow > to > > >>>>> hide > > >>>>> network latency. But there is a problem - deadlocks. We need to > > inform > > >>>>> user > > >>>>> that this mode should be used with great care. > > >>>>> > > >>>>> On Fri, May 11, 2018 at 5:21 PM, Dmitriy Govorukhin < > > >>>>> dmitriy.govoruk...@gmail.com> wrote: > > >>>>> > > >>>>> Hi Igniters, > > >>>>> > > >>>>>> I have a question. Why our async operation in not really async? > > >>>>>> > > >>>>>> GridCacheAdapter.syncOp has awaitLastFut(); this call wait last > > async > > >>>>>> operation completed. > > >>>>>> > > >>>>>> This means all async operation in one thread will be executed one > by > > >>>>>> one > > >>>>>> but not in parallel. Async operation is not async. > > >>>>>> > > >>>>>> Example for atomic cache > > >>>>>> > > >>>>>> f1=cache.getAsync(key1); > > >>>>>> f2=cache.getAsync(key2); > > >>>>>> > > >>>>>> f1 always will be complete before f2. > > >>>>>> > > >>>>>> I want to have the ability run multiple async operations in one > > >>>>>> thread. > > >>>>>> What do you think? > > >>>>>> > > >>>>>> Maybe we can add new cache adapter with fair async operations? > > >>>>>> > > >>>>>> > > >>>>>> > > > > > >