ignite-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Vladimir Ozerov <voze...@gridgain.com>
Subject Re: Incorrect exception is thrown in async mode when partial update occurs.
Date Mon, 29 Jun 2015 12:59:28 GMT
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 <atri.jiit@gmail.com> 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 <vozerov@gridgain.com>
> 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*
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message