Atri, Tests passed. I merged the changes.
On Wed, Jul 1, 2015 at 1:30 PM, Atri Sharma <[email protected]> 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 <[email protected]> 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 <[email protected]> > > 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 <[email protected]> > >> wrote: > >> > >> > Vladimir, > >> > > >> > Is this problem specific to all checks of isAsync() calls? > >> > > >> > On Mon, Jun 29, 2015 at 6:29 PM, Vladimir Ozerov < > [email protected]> > >> > 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 <[email protected]> > >> > 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 < > >> [email protected] > >> > > > >> > > > 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* >
