Hello,

Failed cache operations throw CacheException, but failed asynchronous
operations throw IgniteException. I think it's wrong. Same synchronous and
asynchronous operation must throw same exception.

BTW. According to contract of java.util.concurrent.Future#get() if result
of operation is an exception Future#get() should throw ExecutionException
that wrap result exception. We break this contract and throw result
exception directly from Future#get(), this may be cause of problems, for
example it's impossible to make out exceptions that threw during
computation and other runtime exceptions.
I propose to keep contract of Future#get() as described in JDK javadocs and
add our method "take" that throw exception directly as implemented at
Ignite currently.

Reply via email to