You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Vyacheslav Koptilin (Jira)" <ji...@apache.org> on 2021/04/05 14:58:00 UTC
[jira] [Updated] (IGNITE-14331) Possible distributed race related
to a data streamer flushing leading to a thread being stuck forever trying
to close the streamer
[ https://issues.apache.org/jira/browse/IGNITE-14331?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Vyacheslav Koptilin updated IGNITE-14331:
-----------------------------------------
Reviewer: Vladislav Pyatkov
> 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)