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*
