Incorrect exception is thrown in async mode when partial update occurs.

classic Classic list List threaded Threaded
10 messages Options
Reply | Threaded
Open this post in threaded view
|

Incorrect exception is thrown in async mode when partial update occurs.

Vladimir Ozerov
Igniters,

I noted that in async mode we throw IgniteException in case of partial
update, while CachePartialUpdateException is expected here accoring to our
contract.

This appears to be pretty critical as user cannot get failed keys when
working in async mode. I created a ticket for that:
https://issues.apache.org/jira/browse/IGNITE-1059

Can someone look at it?

Vladimir.
Reply | Threaded
Open this post in threaded view
|

Re: Incorrect exception is thrown in async mode when partial update occurs.

Atri Sharma
I have taken the patch.

Please advice on how to implement this. I will get the patch out today
since its critical.

On Mon, Jun 29, 2015 at 6:05 PM, Vladimir Ozerov <[hidden email]>
wrote:

> Igniters,
>
> I noted that in async mode we throw IgniteException in case of partial
> update, while CachePartialUpdateException is expected here accoring to our
> contract.
>
> This appears to be pretty critical as user cannot get failed keys when
> working in async mode. I created a ticket for that:
> https://issues.apache.org/jira/browse/IGNITE-1059
>
> Can someone look at it?
>
> Vladimir.
>



--
Regards,

Atri
*l'apprenant*
Reply | Threaded
Open this post in threaded view
|

Re: Incorrect exception is thrown in async mode when partial update occurs.

Vladimir Ozerov
Atri,

Currently allmost all exceptions occurring in Ignite kernal are checked.
And if we want to expose them to users, we convert them to their unchecked
counterparts. The same goes for partial update exception: there is
CachePartialUpdateCheckedException
which is thrown in Ignite internals, and there is CachePartialUpdateException
which is thrown to user. Conversion between there two excpetion types
occurs in the method GridCacheUtils.convertToCacheException.

Obviously, we forgot to convert exceptions in async mode. As a result,
instead of throwing user exception, we throw IgniteException with inner
CachePartialUpdateCheckedException. See how we process PUT ALL
operation in IgniteCacheProxy.putAll()
- we catch and convert exception in sync mode, but do not do that for async
future.

It appears, that not only PUT ALL, but almost all other operations are
affected, so a kind of generic solutino is required here.

Vladimir.

On Mon, Jun 29, 2015 at 3:45 PM, Atri Sharma <[hidden email]> wrote:

> I have taken the patch.
>
> Please advice on how to implement this. I will get the patch out today
> since its critical.
>
> On Mon, Jun 29, 2015 at 6:05 PM, Vladimir Ozerov <[hidden email]>
> wrote:
>
> > Igniters,
> >
> > I noted that in async mode we throw IgniteException in case of partial
> > update, while CachePartialUpdateException is expected here accoring to
> our
> > contract.
> >
> > This appears to be pretty critical as user cannot get failed keys when
> > working in async mode. I created a ticket for that:
> > https://issues.apache.org/jira/browse/IGNITE-1059
> >
> > Can someone look at it?
> >
> > Vladimir.
> >
>
>
>
> --
> Regards,
>
> Atri
> *l'apprenant*
>
Reply | Threaded
Open this post in threaded view
|

Re: Incorrect exception is thrown in async mode when partial update occurs.

Atri Sharma
Let me hack this and report

On Mon, Jun 29, 2015 at 6:29 PM, Vladimir Ozerov <[hidden email]>
wrote:

> Atri,
>
> Currently allmost all exceptions occurring in Ignite kernal are checked.
> And if we want to expose them to users, we convert them to their unchecked
> counterparts. The same goes for partial update exception: there is
> CachePartialUpdateCheckedException
> which is thrown in Ignite internals, and there is
> CachePartialUpdateException
> which is thrown to user. Conversion between there two excpetion types
> occurs in the method GridCacheUtils.convertToCacheException.
>
> Obviously, we forgot to convert exceptions in async mode. As a result,
> instead of throwing user exception, we throw IgniteException with inner
> CachePartialUpdateCheckedException. See how we process PUT ALL
> operation in IgniteCacheProxy.putAll()
> - we catch and convert exception in sync mode, but do not do that for async
> future.
>
> It appears, that not only PUT ALL, but almost all other operations are
> affected, so a kind of generic solutino is required here.
>
> Vladimir.
>
> On Mon, Jun 29, 2015 at 3:45 PM, Atri Sharma <[hidden email]> wrote:
>
> > I have taken the patch.
> >
> > Please advice on how to implement this. I will get the patch out today
> > since its critical.
> >
> > On Mon, Jun 29, 2015 at 6:05 PM, Vladimir Ozerov <[hidden email]>
> > wrote:
> >
> > > Igniters,
> > >
> > > I noted that in async mode we throw IgniteException in case of partial
> > > update, while CachePartialUpdateException is expected here accoring to
> > our
> > > contract.
> > >
> > > This appears to be pretty critical as user cannot get failed keys when
> > > working in async mode. I created a ticket for that:
> > > https://issues.apache.org/jira/browse/IGNITE-1059
> > >
> > > Can someone look at it?
> > >
> > > Vladimir.
> > >
> >
> >
> >
> > --
> > Regards,
> >
> > Atri
> > *l'apprenant*
> >
>



--
Regards,

Atri
*l'apprenant*
Reply | Threaded
Open this post in threaded view
|

Re: Incorrect exception is thrown in async mode when partial update occurs.

Atri Sharma
In reply to this post by Vladimir Ozerov
Vladimir,

Is this problem specific to all checks of isAsync() calls?

On Mon, Jun 29, 2015 at 6:29 PM, Vladimir Ozerov <[hidden email]>
wrote:

> Atri,
>
> Currently allmost all exceptions occurring in Ignite kernal are checked.
> And if we want to expose them to users, we convert them to their unchecked
> counterparts. The same goes for partial update exception: there is
> CachePartialUpdateCheckedException
> which is thrown in Ignite internals, and there is
> CachePartialUpdateException
> which is thrown to user. Conversion between there two excpetion types
> occurs in the method GridCacheUtils.convertToCacheException.
>
> Obviously, we forgot to convert exceptions in async mode. As a result,
> instead of throwing user exception, we throw IgniteException with inner
> CachePartialUpdateCheckedException. See how we process PUT ALL
> operation in IgniteCacheProxy.putAll()
> - we catch and convert exception in sync mode, but do not do that for async
> future.
>
> It appears, that not only PUT ALL, but almost all other operations are
> affected, so a kind of generic solutino is required here.
>
> Vladimir.
>
> On Mon, Jun 29, 2015 at 3:45 PM, Atri Sharma <[hidden email]> wrote:
>
> > I have taken the patch.
> >
> > Please advice on how to implement this. I will get the patch out today
> > since its critical.
> >
> > On Mon, Jun 29, 2015 at 6:05 PM, Vladimir Ozerov <[hidden email]>
> > wrote:
> >
> > > Igniters,
> > >
> > > I noted that in async mode we throw IgniteException in case of partial
> > > update, while CachePartialUpdateException is expected here accoring to
> > our
> > > contract.
> > >
> > > This appears to be pretty critical as user cannot get failed keys when
> > > working in async mode. I created a ticket for that:
> > > https://issues.apache.org/jira/browse/IGNITE-1059
> > >
> > > Can someone look at it?
> > >
> > > Vladimir.
> > >
> >
> >
> >
> > --
> > Regards,
> >
> > Atri
> > *l'apprenant*
> >
>



--
Regards,

Atri
*l'apprenant*
Reply | Threaded
Open this post in threaded view
|

Re: Incorrect exception is thrown in async mode when partial update occurs.

Vladimir Ozerov
Atri,

I would say that this problem is specific for all calls to
IgniteCacheProxy.setFuture() method. It looks like we can create an
extension for IgniteFutureImpl class (say, IgniteCacheFutureImpl) which
will use CU.convertToCacheException(e) to convert exceptions instead of
current U.convertException(e).

Vladimir.

On Tue, Jun 30, 2015 at 12:29 PM, Atri Sharma <[hidden email]> wrote:

> Vladimir,
>
> Is this problem specific to all checks of isAsync() calls?
>
> On Mon, Jun 29, 2015 at 6:29 PM, Vladimir Ozerov <[hidden email]>
> wrote:
>
> > Atri,
> >
> > Currently allmost all exceptions occurring in Ignite kernal are checked.
> > And if we want to expose them to users, we convert them to their
> unchecked
> > counterparts. The same goes for partial update exception: there is
> > CachePartialUpdateCheckedException
> > which is thrown in Ignite internals, and there is
> > CachePartialUpdateException
> > which is thrown to user. Conversion between there two excpetion types
> > occurs in the method GridCacheUtils.convertToCacheException.
> >
> > Obviously, we forgot to convert exceptions in async mode. As a result,
> > instead of throwing user exception, we throw IgniteException with inner
> > CachePartialUpdateCheckedException. See how we process PUT ALL
> > operation in IgniteCacheProxy.putAll()
> > - we catch and convert exception in sync mode, but do not do that for
> async
> > future.
> >
> > It appears, that not only PUT ALL, but almost all other operations are
> > affected, so a kind of generic solutino is required here.
> >
> > Vladimir.
> >
> > On Mon, Jun 29, 2015 at 3:45 PM, Atri Sharma <[hidden email]>
> wrote:
> >
> > > I have taken the patch.
> > >
> > > Please advice on how to implement this. I will get the patch out today
> > > since its critical.
> > >
> > > On Mon, Jun 29, 2015 at 6:05 PM, Vladimir Ozerov <[hidden email]
> >
> > > wrote:
> > >
> > > > Igniters,
> > > >
> > > > I noted that in async mode we throw IgniteException in case of
> partial
> > > > update, while CachePartialUpdateException is expected here accoring
> to
> > > our
> > > > contract.
> > > >
> > > > This appears to be pretty critical as user cannot get failed keys
> when
> > > > working in async mode. I created a ticket for that:
> > > > https://issues.apache.org/jira/browse/IGNITE-1059
> > > >
> > > > Can someone look at it?
> > > >
> > > > Vladimir.
> > > >
> > >
> > >
> > >
> > > --
> > > Regards,
> > >
> > > Atri
> > > *l'apprenant*
> > >
> >
>
>
>
> --
> Regards,
>
> Atri
> *l'apprenant*
>
Reply | Threaded
Open this post in threaded view
|

Re: Incorrect exception is thrown in async mode when partial update occurs.

Atri Sharma
Hi,

I have uploaded patch for this.

I am not sure about internal flow hence might be missing some part. Please
advice if same.

Please see and let me know your comments and feedback.

Regards,

Atri

On Tue, Jun 30, 2015 at 3:18 PM, Vladimir Ozerov <[hidden email]>
wrote:

> Atri,
>
> I would say that this problem is specific for all calls to
> IgniteCacheProxy.setFuture() method. It looks like we can create an
> extension for IgniteFutureImpl class (say, IgniteCacheFutureImpl) which
> will use CU.convertToCacheException(e) to convert exceptions instead of
> current U.convertException(e).
>
> Vladimir.
>
> On Tue, Jun 30, 2015 at 12:29 PM, Atri Sharma <[hidden email]> wrote:
>
> > Vladimir,
> >
> > Is this problem specific to all checks of isAsync() calls?
> >
> > On Mon, Jun 29, 2015 at 6:29 PM, Vladimir Ozerov <[hidden email]>
> > wrote:
> >
> > > Atri,
> > >
> > > Currently allmost all exceptions occurring in Ignite kernal are
> checked.
> > > And if we want to expose them to users, we convert them to their
> > unchecked
> > > counterparts. The same goes for partial update exception: there is
> > > CachePartialUpdateCheckedException
> > > which is thrown in Ignite internals, and there is
> > > CachePartialUpdateException
> > > which is thrown to user. Conversion between there two excpetion types
> > > occurs in the method GridCacheUtils.convertToCacheException.
> > >
> > > Obviously, we forgot to convert exceptions in async mode. As a result,
> > > instead of throwing user exception, we throw IgniteException with inner
> > > CachePartialUpdateCheckedException. See how we process PUT ALL
> > > operation in IgniteCacheProxy.putAll()
> > > - we catch and convert exception in sync mode, but do not do that for
> > async
> > > future.
> > >
> > > It appears, that not only PUT ALL, but almost all other operations are
> > > affected, so a kind of generic solutino is required here.
> > >
> > > Vladimir.
> > >
> > > On Mon, Jun 29, 2015 at 3:45 PM, Atri Sharma <[hidden email]>
> > wrote:
> > >
> > > > I have taken the patch.
> > > >
> > > > Please advice on how to implement this. I will get the patch out
> today
> > > > since its critical.
> > > >
> > > > On Mon, Jun 29, 2015 at 6:05 PM, Vladimir Ozerov <
> [hidden email]
> > >
> > > > wrote:
> > > >
> > > > > Igniters,
> > > > >
> > > > > I noted that in async mode we throw IgniteException in case of
> > partial
> > > > > update, while CachePartialUpdateException is expected here accoring
> > to
> > > > our
> > > > > contract.
> > > > >
> > > > > This appears to be pretty critical as user cannot get failed keys
> > when
> > > > > working in async mode. I created a ticket for that:
> > > > > https://issues.apache.org/jira/browse/IGNITE-1059
> > > > >
> > > > > Can someone look at it?
> > > > >
> > > > > Vladimir.
> > > > >
> > > >
> > > >
> > > >
> > > > --
> > > > Regards,
> > > >
> > > > Atri
> > > > *l'apprenant*
> > > >
> > >
> >
> >
> >
> > --
> > Regards,
> >
> > Atri
> > *l'apprenant*
> >
>



--
Regards,

Atri
*l'apprenant*
Reply | Threaded
Open this post in threaded view
|

Re: Incorrect exception is thrown in async mode when partial update occurs.

Atri Sharma
Vladimir,

Thanks for review of patch. Are we looking at committing this today, please?

Regards,

Atri

On Tue, Jun 30, 2015 at 9:42 PM, Atri Sharma <[hidden email]> wrote:

> Hi,
>
> I have uploaded patch for this.
>
> I am not sure about internal flow hence might be missing some part. Please
> advice if same.
>
> Please see and let me know your comments and feedback.
>
> Regards,
>
> Atri
>
> On Tue, Jun 30, 2015 at 3:18 PM, Vladimir Ozerov <[hidden email]>
> wrote:
>
>> Atri,
>>
>> I would say that this problem is specific for all calls to
>> IgniteCacheProxy.setFuture() method. It looks like we can create an
>> extension for IgniteFutureImpl class (say, IgniteCacheFutureImpl) which
>> will use CU.convertToCacheException(e) to convert exceptions instead of
>> current U.convertException(e).
>>
>> Vladimir.
>>
>> On Tue, Jun 30, 2015 at 12:29 PM, Atri Sharma <[hidden email]>
>> wrote:
>>
>> > Vladimir,
>> >
>> > Is this problem specific to all checks of isAsync() calls?
>> >
>> > On Mon, Jun 29, 2015 at 6:29 PM, Vladimir Ozerov <[hidden email]>
>> > wrote:
>> >
>> > > Atri,
>> > >
>> > > Currently allmost all exceptions occurring in Ignite kernal are
>> checked.
>> > > And if we want to expose them to users, we convert them to their
>> > unchecked
>> > > counterparts. The same goes for partial update exception: there is
>> > > CachePartialUpdateCheckedException
>> > > which is thrown in Ignite internals, and there is
>> > > CachePartialUpdateException
>> > > which is thrown to user. Conversion between there two excpetion types
>> > > occurs in the method GridCacheUtils.convertToCacheException.
>> > >
>> > > Obviously, we forgot to convert exceptions in async mode. As a result,
>> > > instead of throwing user exception, we throw IgniteException with
>> inner
>> > > CachePartialUpdateCheckedException. See how we process PUT ALL
>> > > operation in IgniteCacheProxy.putAll()
>> > > - we catch and convert exception in sync mode, but do not do that for
>> > async
>> > > future.
>> > >
>> > > It appears, that not only PUT ALL, but almost all other operations are
>> > > affected, so a kind of generic solutino is required here.
>> > >
>> > > Vladimir.
>> > >
>> > > On Mon, Jun 29, 2015 at 3:45 PM, Atri Sharma <[hidden email]>
>> > wrote:
>> > >
>> > > > I have taken the patch.
>> > > >
>> > > > Please advice on how to implement this. I will get the patch out
>> today
>> > > > since its critical.
>> > > >
>> > > > On Mon, Jun 29, 2015 at 6:05 PM, Vladimir Ozerov <
>> [hidden email]
>> > >
>> > > > wrote:
>> > > >
>> > > > > Igniters,
>> > > > >
>> > > > > I noted that in async mode we throw IgniteException in case of
>> > partial
>> > > > > update, while CachePartialUpdateException is expected here
>> accoring
>> > to
>> > > > our
>> > > > > contract.
>> > > > >
>> > > > > This appears to be pretty critical as user cannot get failed keys
>> > when
>> > > > > working in async mode. I created a ticket for that:
>> > > > > https://issues.apache.org/jira/browse/IGNITE-1059
>> > > > >
>> > > > > Can someone look at it?
>> > > > >
>> > > > > Vladimir.
>> > > > >
>> > > >
>> > > >
>> > > >
>> > > > --
>> > > > Regards,
>> > > >
>> > > > Atri
>> > > > *l'apprenant*
>> > > >
>> > >
>> >
>> >
>> >
>> > --
>> > Regards,
>> >
>> > Atri
>> > *l'apprenant*
>> >
>>
>
>
>
> --
> Regards,
>
> Atri
> *l'apprenant*
>



--
Regards,

Atri
*l'apprenant*
Reply | Threaded
Open this post in threaded view
|

Re: Incorrect exception is thrown in async mode when partial update occurs.

Vladimir Ozerov
Atri,

Tests passed. I merged the changes.

On Wed, Jul 1, 2015 at 1:30 PM, Atri Sharma <[hidden email]> wrote:

> Vladimir,
>
> Thanks for review of patch. Are we looking at committing this today,
> please?
>
> Regards,
>
> Atri
>
> On Tue, Jun 30, 2015 at 9:42 PM, Atri Sharma <[hidden email]> wrote:
>
> > Hi,
> >
> > I have uploaded patch for this.
> >
> > I am not sure about internal flow hence might be missing some part.
> Please
> > advice if same.
> >
> > Please see and let me know your comments and feedback.
> >
> > Regards,
> >
> > Atri
> >
> > On Tue, Jun 30, 2015 at 3:18 PM, Vladimir Ozerov <[hidden email]>
> > wrote:
> >
> >> Atri,
> >>
> >> I would say that this problem is specific for all calls to
> >> IgniteCacheProxy.setFuture() method. It looks like we can create an
> >> extension for IgniteFutureImpl class (say, IgniteCacheFutureImpl) which
> >> will use CU.convertToCacheException(e) to convert exceptions instead of
> >> current U.convertException(e).
> >>
> >> Vladimir.
> >>
> >> On Tue, Jun 30, 2015 at 12:29 PM, Atri Sharma <[hidden email]>
> >> wrote:
> >>
> >> > Vladimir,
> >> >
> >> > Is this problem specific to all checks of isAsync() calls?
> >> >
> >> > On Mon, Jun 29, 2015 at 6:29 PM, Vladimir Ozerov <
> [hidden email]>
> >> > wrote:
> >> >
> >> > > Atri,
> >> > >
> >> > > Currently allmost all exceptions occurring in Ignite kernal are
> >> checked.
> >> > > And if we want to expose them to users, we convert them to their
> >> > unchecked
> >> > > counterparts. The same goes for partial update exception: there is
> >> > > CachePartialUpdateCheckedException
> >> > > which is thrown in Ignite internals, and there is
> >> > > CachePartialUpdateException
> >> > > which is thrown to user. Conversion between there two excpetion
> types
> >> > > occurs in the method GridCacheUtils.convertToCacheException.
> >> > >
> >> > > Obviously, we forgot to convert exceptions in async mode. As a
> result,
> >> > > instead of throwing user exception, we throw IgniteException with
> >> inner
> >> > > CachePartialUpdateCheckedException. See how we process PUT ALL
> >> > > operation in IgniteCacheProxy.putAll()
> >> > > - we catch and convert exception in sync mode, but do not do that
> for
> >> > async
> >> > > future.
> >> > >
> >> > > It appears, that not only PUT ALL, but almost all other operations
> are
> >> > > affected, so a kind of generic solutino is required here.
> >> > >
> >> > > Vladimir.
> >> > >
> >> > > On Mon, Jun 29, 2015 at 3:45 PM, Atri Sharma <[hidden email]>
> >> > wrote:
> >> > >
> >> > > > I have taken the patch.
> >> > > >
> >> > > > Please advice on how to implement this. I will get the patch out
> >> today
> >> > > > since its critical.
> >> > > >
> >> > > > On Mon, Jun 29, 2015 at 6:05 PM, Vladimir Ozerov <
> >> [hidden email]
> >> > >
> >> > > > wrote:
> >> > > >
> >> > > > > Igniters,
> >> > > > >
> >> > > > > I noted that in async mode we throw IgniteException in case of
> >> > partial
> >> > > > > update, while CachePartialUpdateException is expected here
> >> accoring
> >> > to
> >> > > > our
> >> > > > > contract.
> >> > > > >
> >> > > > > This appears to be pretty critical as user cannot get failed
> keys
> >> > when
> >> > > > > working in async mode. I created a ticket for that:
> >> > > > > https://issues.apache.org/jira/browse/IGNITE-1059
> >> > > > >
> >> > > > > Can someone look at it?
> >> > > > >
> >> > > > > Vladimir.
> >> > > > >
> >> > > >
> >> > > >
> >> > > >
> >> > > > --
> >> > > > Regards,
> >> > > >
> >> > > > Atri
> >> > > > *l'apprenant*
> >> > > >
> >> > >
> >> >
> >> >
> >> >
> >> > --
> >> > Regards,
> >> >
> >> > Atri
> >> > *l'apprenant*
> >> >
> >>
> >
> >
> >
> > --
> > Regards,
> >
> > Atri
> > *l'apprenant*
> >
>
>
>
> --
> Regards,
>
> Atri
> *l'apprenant*
>
Reply | Threaded
Open this post in threaded view
|

Re: Incorrect exception is thrown in async mode when partial update occurs.

Atri Sharma
Thank you so much!

On Wed, Jul 1, 2015 at 7:23 PM, Vladimir Ozerov <[hidden email]>
wrote:

> Atri,
>
> Tests passed. I merged the changes.
>
> On Wed, Jul 1, 2015 at 1:30 PM, Atri Sharma <[hidden email]> wrote:
>
> > Vladimir,
> >
> > Thanks for review of patch. Are we looking at committing this today,
> > please?
> >
> > Regards,
> >
> > Atri
> >
> > On Tue, Jun 30, 2015 at 9:42 PM, Atri Sharma <[hidden email]>
> wrote:
> >
> > > Hi,
> > >
> > > I have uploaded patch for this.
> > >
> > > I am not sure about internal flow hence might be missing some part.
> > Please
> > > advice if same.
> > >
> > > Please see and let me know your comments and feedback.
> > >
> > > Regards,
> > >
> > > Atri
> > >
> > > On Tue, Jun 30, 2015 at 3:18 PM, Vladimir Ozerov <[hidden email]
> >
> > > wrote:
> > >
> > >> Atri,
> > >>
> > >> I would say that this problem is specific for all calls to
> > >> IgniteCacheProxy.setFuture() method. It looks like we can create an
> > >> extension for IgniteFutureImpl class (say, IgniteCacheFutureImpl)
> which
> > >> will use CU.convertToCacheException(e) to convert exceptions instead
> of
> > >> current U.convertException(e).
> > >>
> > >> Vladimir.
> > >>
> > >> On Tue, Jun 30, 2015 at 12:29 PM, Atri Sharma <[hidden email]>
> > >> wrote:
> > >>
> > >> > Vladimir,
> > >> >
> > >> > Is this problem specific to all checks of isAsync() calls?
> > >> >
> > >> > On Mon, Jun 29, 2015 at 6:29 PM, Vladimir Ozerov <
> > [hidden email]>
> > >> > wrote:
> > >> >
> > >> > > Atri,
> > >> > >
> > >> > > Currently allmost all exceptions occurring in Ignite kernal are
> > >> checked.
> > >> > > And if we want to expose them to users, we convert them to their
> > >> > unchecked
> > >> > > counterparts. The same goes for partial update exception: there is
> > >> > > CachePartialUpdateCheckedException
> > >> > > which is thrown in Ignite internals, and there is
> > >> > > CachePartialUpdateException
> > >> > > which is thrown to user. Conversion between there two excpetion
> > types
> > >> > > occurs in the method GridCacheUtils.convertToCacheException.
> > >> > >
> > >> > > Obviously, we forgot to convert exceptions in async mode. As a
> > result,
> > >> > > instead of throwing user exception, we throw IgniteException with
> > >> inner
> > >> > > CachePartialUpdateCheckedException. See how we process PUT ALL
> > >> > > operation in IgniteCacheProxy.putAll()
> > >> > > - we catch and convert exception in sync mode, but do not do that
> > for
> > >> > async
> > >> > > future.
> > >> > >
> > >> > > It appears, that not only PUT ALL, but almost all other operations
> > are
> > >> > > affected, so a kind of generic solutino is required here.
> > >> > >
> > >> > > Vladimir.
> > >> > >
> > >> > > On Mon, Jun 29, 2015 at 3:45 PM, Atri Sharma <[hidden email]
> >
> > >> > wrote:
> > >> > >
> > >> > > > I have taken the patch.
> > >> > > >
> > >> > > > Please advice on how to implement this. I will get the patch out
> > >> today
> > >> > > > since its critical.
> > >> > > >
> > >> > > > On Mon, Jun 29, 2015 at 6:05 PM, Vladimir Ozerov <
> > >> [hidden email]
> > >> > >
> > >> > > > wrote:
> > >> > > >
> > >> > > > > Igniters,
> > >> > > > >
> > >> > > > > I noted that in async mode we throw IgniteException in case of
> > >> > partial
> > >> > > > > update, while CachePartialUpdateException is expected here
> > >> accoring
> > >> > to
> > >> > > > our
> > >> > > > > contract.
> > >> > > > >
> > >> > > > > This appears to be pretty critical as user cannot get failed
> > keys
> > >> > when
> > >> > > > > working in async mode. I created a ticket for that:
> > >> > > > > https://issues.apache.org/jira/browse/IGNITE-1059
> > >> > > > >
> > >> > > > > Can someone look at it?
> > >> > > > >
> > >> > > > > Vladimir.
> > >> > > > >
> > >> > > >
> > >> > > >
> > >> > > >
> > >> > > > --
> > >> > > > Regards,
> > >> > > >
> > >> > > > Atri
> > >> > > > *l'apprenant*
> > >> > > >
> > >> > >
> > >> >
> > >> >
> > >> >
> > >> > --
> > >> > Regards,
> > >> >
> > >> > Atri
> > >> > *l'apprenant*
> > >> >
> > >>
> > >
> > >
> > >
> > > --
> > > Regards,
> > >
> > > Atri
> > > *l'apprenant*
> > >
> >
> >
> >
> > --
> > Regards,
> >
> > Atri
> > *l'apprenant*
> >
>



--
Regards,

Atri
*l'apprenant*