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?
> > >>>>>>
> > >>>>>>
> > >>>>>>
> > >
> >
>

Reply via email to