[ 
https://issues.apache.org/jira/browse/IGNITE-4103?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15626424#comment-15626424
 ] 

Saikat Maitra commented on IGNITE-4103:
---------------------------------------

[~vkulichenko]

Hi Valentin,

I have updated the PR after refactoring the files. There are changes in 20 
files including the tests. Please review the changes and let me know if any 
further changes is required.

Regards
Saikat

> 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)

Reply via email to