[ 
https://issues.apache.org/jira/browse/IGNITE-4103?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Saikat Maitra reassigned IGNITE-4103:
-------------------------------------

    Assignee: Saikat Maitra

> 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