[
https://issues.apache.org/jira/browse/IGNITE-4103?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Valentin Kulichenko updated IGNITE-4103:
----------------------------------------
Priority: Major (was: Critical)
> IgniteDataStreamer doesn't throw exception if cache is destroyed
> ----------------------------------------------------------------
>
> Key: IGNITE-4103
> URL: https://issues.apache.org/jira/browse/IGNITE-4103
> Project: Ignite
> Issue Type: Bug
> Components: cache
> Affects Versions: 1.7
> Reporter: Valentin Kulichenko
> Assignee: Saikat Maitra
> Fix For: 1.8
>
> Attachments: StreamerTest.java
>
>
> Test reproducing the issue is attached.
> When a streamer streams the data and someone concurrently destroys the cache,
> {{addData}} doesn't throw an exception. Code continues to work and a lot of
> messages like this appear in the log:
> {noformat}
> [12:20:38,451][ERROR][main][CacheObjectBinaryProcessorImpl] Failed to get
> partition
> {noformat}
> The problematic code is in {{IgniteCacheObjectProcessorImpl.partition(...)}}
> method:
> {code}
> try {
> return cctx != null ?
> cctx.affinity().partition(obj, false) :
> ctx.kernalContext().affinity().partition0(ctx.cacheName(), obj, null);
> }
> catch (IgniteCheckedException e) {
> U.error(log, "Failed to get partition");
> return -1;
> }
> {code}
> There are two issues here:
> # Exception is completely ignored, it's not even printed out in {{U.error}}.
> # The exception should be actually rethrown so that streamer can stop adding
> data.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)