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

Vyacheslav Koptilin commented on IGNITE-14331:
----------------------------------------------

Hi [~v.pyatkov],

Could you please take a look at my patch?

> Possible distributed race related to a data streamer flushing leading to a 
> thread being stuck forever trying to close the streamer
> ----------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: IGNITE-14331
>                 URL: https://issues.apache.org/jira/browse/IGNITE-14331
>             Project: Ignite
>          Issue Type: Bug
>          Components: streaming
>    Affects Versions: 2.10
>            Reporter: Vladimir Pligin
>            Assignee: Vyacheslav Koptilin
>            Priority: Major
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> It seems that a streamer could stuck forever flushing internal buffers on a 
> client side.
> It will stay in a busy-loop forever hoping on remapping but it's possible 
> that it won't happen for example in case of long GC pauses on server(s) and 
> long timeouts.
> It that case a streamer would be trapped inside this 
> [loop|https://github.com/apache/ignite/blob/ignite-2.10/modules/core/src/main/java/org/apache/ignite/internal/processors/datastreamer/DataStreamerImpl.java#L1168].
> Stack trace snippet:
> {code:java}
> java.lang.Thread.State: RUNNABLE        at 
> org.apache.ignite.internal.processors.datastreamer.DataStreamerImpl$Buffer.flush(DataStreamerImpl.java:1706)
>         at 
> org.apache.ignite.internal.processors.datastreamer.DataStreamerImpl.doFlush(DataStreamerImpl.java:1170)
>         at 
> org.apache.ignite.internal.processors.datastreamer.DataStreamerImpl.closeEx(DataStreamerImpl.java:1365)
>         at 
> org.apache.ignite.internal.processors.datastreamer.DataStreamerImpl.closeEx(DataStreamerImpl.java:1323)
>         at 
> org.apache.ignite.internal.processors.datastreamer.DataStreamerImpl.close(DataStreamerImpl.java:1311)
>         at 
> org.apache.ignite.internal.processors.datastreamer.DataStreamerImpl.close(DataStreamerImpl.java:1415){code}
>  
> It becomes possible when a 
> IgniteSpiOperationTimeoutException
> is being thrown from 
> org.apache.ignite.internal.managers.communication.GridIoManager.sendToGridTopic()
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to