You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ignite.apache.org by "Vladimir Ozerov (JIRA)" <ji...@apache.org> on 2015/07/06 17:02:04 UTC
[jira] [Created] (IGNITE-1097) IgniteFuture.chain() unwraps
exceptions incorrectly.
Vladimir Ozerov created IGNITE-1097:
---------------------------------------
Summary: IgniteFuture.chain() unwraps exceptions incorrectly.
Key: IGNITE-1097
URL: https://issues.apache.org/jira/browse/IGNITE-1097
Project: Ignite
Issue Type: Bug
Components: general
Affects Versions: 1.1.4
Reporter: Vladimir Ozerov
Priority: Critical
Fix For: sprint-7
Steps to reproduce:
1) Open class GridCacheAbstractFullApiSelfTest
2) Add the field:
{code}
public static final CacheEntryProcessor<String, Integer, String> ERR_PROCESSOR =
new CacheEntryProcessor<String, Integer, String>() {
@Override public String process(MutableEntry<String, Integer> e, Object... args) {
throw new RuntimeException("Failed!");
}
};
{code}
3) Add the following test and observe that correct EntryProcessorException is thrown:
{code}
public void testTransformException() throws Exception {
IgniteCache<String, Integer> cache = jcache().withAsync();
cache.invoke("key2", ERR_PROCESSOR);
cache.future().get();
}
{code}
4) Modify the test as follows and observe that now incorrect RuntimeException is thrown and EntryProcessorException is lost:
{code}
public void testTransformException() throws Exception {
IgniteCache<String, Integer> cache = jcache().withAsync();
cache.invoke("key2", ERR_PROCESSOR);
IgniteFuture fut = cache.future().chain(new IgniteClosure<IgniteFuture, Object>() {
@Override public Object apply(IgniteFuture o) {
return o.get();
}
});
fut.get();
}
{code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)