[
https://issues.apache.org/jira/browse/IGNITE-4103?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15606283#comment-15606283
]
ASF GitHub Bot commented on IGNITE-4103:
----------------------------------------
GitHub user samaitra opened a pull request:
https://github.com/apache/ignite/pull/1186
IGNITE-4103 IgniteDataStreamer doesn't throw exception if cache is de…
…stroyed
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/samaitra/ignite IGNITE-4103
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/ignite/pull/1186.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #1186
----
commit 400ff7394a04bc4fbcd018d0aba468a42ccf5b50
Author: samaitra <[email protected]>
Date: 2016-10-25T19:46:40Z
IGNITE-4103 IgniteDataStreamer doesn't throw exception if cache is destroyed
----
> 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
> Priority: Critical
> 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)