<div dir="ltr">Hi all !<div><br></div><div>Radim pointed me to this thread discussing the exceptions launched by the lambda executed by the user.</div><div><br></div><div>So, I&#39;ve came accros this problem right now with the compute method.</div><div><br></div><div>ComputeIfAbsent is used by the QueryCache [1]<br></div><div><br></div><div>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.</div><div><br></div><div>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&#39;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. </div><div><br></div><div>How can I fix the problem ? </div><div>Should we correct the tests and say that, from now on, CacheException will be raised ?</div><div>Should we handle this CacheException in the QueryCache class when computeIfAbsent is called ?</div><div>Should we propagate the lambda&#39;s exception as it is ?</div><div><br></div><div>Katia</div><div><br></div><div>[1] <a href="https://github.com/infinispan/infinispan/blob/master/query/src/main/java/org/infinispan/query/dsl/embedded/impl/QueryCache.java#L79">https://github.com/infinispan/infinispan/blob/master/query/src/main/java/org/infinispan/query/dsl/embedded/impl/QueryCache.java#L79</a></div><div>[2] <a href="https://github.com/infinispan/infinispan/blob/master/query/src/test/java/org/infinispan/query/dsl/embedded/QueryDslConditionsTest.java#L1913">https://github.com/infinispan/infinispan/blob/master/query/src/test/java/org/infinispan/query/dsl/embedded/QueryDslConditionsTest.java#L1913</a></div><div><br></div></div>