Personally as a user I'd expect to have a CacheException raised if and
only if it's not caused by my own code.
Imagine my own lambda is explicitly throwing an exception of a type of
my choice, it would be nice to receive that error and not a different
one.
> ______________________________
On 28 April 2017 at 11:38, Katia Aresti <karesti@redhat.com> wrote:
> Hi all !
>
> Radim pointed me to this thread discussing the exceptions launched by the
> lambda executed by the user.
>
> So, I've came accros this problem right now with the compute method.
>
> ComputeIfAbsent is used by the QueryCache [1]
>
> This method is now a Command, so when the wrapped lambda throws an
> exception, [2], the expected exception is the one raised by the lambda. But
> with my modifications, this exception is wrapped in a CacheException.
>
> I discussed with Adrien yesterday, and IMHO and his, a CacheException is not
> the same thing as the exception raised inside the lambda. Moreover, in this
> particular case, I don't know if users some code could be broken if we make
> the user get a CacheException that wrappes the ParseException instead of the
> ParseException itself.
>
> How can I fix the problem ?
> Should we correct the tests and say that, from now on, CacheException will
> be raised ?
> Should we handle this CacheException in the QueryCache class when
> computeIfAbsent is called ?
> Should we propagate the lambda's exception as it is ?
>
> Katia
>
> [1]
> https://github.com/infinispan/infinispan/blob/master/query/ src/main/java/org/infinispan/ query/dsl/embedded/impl/ QueryCache.java#L79
> [2]
> https://github.com/infinispan/infinispan/blob/master/query/ src/test/java/org/infinispan/ query/dsl/embedded/ QueryDslConditionsTest.java# L1913
>
>
_________________
> infinispan-dev mailing list
> infinispan-dev@lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/infinispan- dev
_______________________________________________
infinispan-dev mailing list
infinispan-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/infinispan- dev