[ https://issues.apache.org/jira/browse/IGNITE-4103?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15674185#comment-15674185 ]
Saikat Maitra commented on IGNITE-4103: --------------------------------------- [~avinogradov] Thanks Anton. The changes looks good. 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 > 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)