[
https://issues.apache.org/jira/browse/IGNITE-7944?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16429674#comment-16429674
]
Roman Guseinov commented on IGNITE-7944:
----------------------------------------
[~vozerov] ,thanks for your comments.
1) Yes. It does not lead to uncompleted features. Actually, it prevents
uncompleted features when createTcpClient returns null.
2) I agree with that. Added an exception instead of log message. Even if we try
to cancel jobs worker.finishTask(null, err,
{color:#cccccc}cancelChildren:{color} true), futures will be completed and we
will get IgniteClientDisconnectedException.
TC results (Run ALL):
[https://ci.ignite.apache.org/viewLog.html?buildId=1185411&tab=buildResultsDiv&buildTypeId=IgniteTests24Java8_RunAll]
"Ignite Platform CPP Win32" has compilation issues which are not related to the
fix.
New failed tests - 41. Restarted tests:
*
[https://ci.ignite.apache.org/viewLog.html?buildId=1185415&tab=buildResultsDiv&buildTypeId=IgniteTests24Java8_Basic2]
*
[https://ci.ignite.apache.org/viewLog.html?buildId=1185413&tab=buildResultsDiv&buildTypeId=IgniteTests24Java8_ActivateDeactivateCluster]
Other failed tests look flaky.
> Disconnected client node tries to send JOB_CANCEL message
> ---------------------------------------------------------
>
> Key: IGNITE-7944
> URL: https://issues.apache.org/jira/browse/IGNITE-7944
> Project: Ignite
> Issue Type: Bug
> Components: messaging
> Affects Versions: 1.9, 2.3
> Reporter: Roman Guseinov
> Assignee: Roman Guseinov
> Priority: Major
> Fix For: 2.5
>
> Attachments: Reproducer7944.java
>
>
> In case the network is blocked (socket connections not closed) and failure is
> detected, tcp-client-disco-msg-worker thread can be stuck in process of
> TcpClient creating:
> {code:java}
> "tcp-client-disco-msg-worker-#4%wd5prsvtots0016a-tg-QueryFabric%" #494 prio=5
> os_prio=0 tid=0x00007f94c067c800 nid=0x2bdf runnable [0x00007f960ecf1000]
> java.lang.Thread.State: RUNNABLE
> at sun.nio.ch.Net.poll(Native Method)
> at sun.nio.ch.SocketChannelImpl.poll(SocketChannelImpl.java:954)
> - locked <0x00007fa140f520c0> (a java.lang.Object)
> at sun.nio.ch.SocketAdaptor.connect(SocketAdaptor.java:110)
> - locked <0x00007fa140f520b0> (a java.lang.Object)
> at
> org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi.createTcpClient(TcpCommunicationSpi.java:2950)
> at
> org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi.createNioClient(TcpCommunicationSpi.java:2681)
> at
> org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi.reserveClient(TcpCommunicationSpi.java:2568)
> at
> org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi.sendMessage0(TcpCommunicationSpi.java:2429)
> at
> org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi.sendMessage(TcpCommunicationSpi.java:2393)
> at
> org.apache.ignite.internal.managers.communication.GridIoManager.send(GridIoManager.java:1590)
> at
> org.apache.ignite.internal.managers.communication.GridIoManager.send(GridIoManager.java:1659)
> at
> org.apache.ignite.internal.processors.task.GridTaskWorker.cancelChildren(GridTaskWorker.java:1305)
> at
> org.apache.ignite.internal.processors.task.GridTaskWorker.finishTask(GridTaskWorker.java:1609)
> at
> org.apache.ignite.internal.processors.task.GridTaskWorker.finishTask(GridTaskWorker.java:1581)
> at
> org.apache.ignite.internal.processors.task.GridTaskProcessor.onDisconnected(GridTaskProcessor.java:168)
> at
> org.apache.ignite.internal.IgniteKernal.onDisconnected(IgniteKernal.java:3460)
> at
> org.apache.ignite.internal.managers.discovery.GridDiscoveryManager$4.onDiscovery(GridDiscoveryManager.java:601)
> at
> org.apache.ignite.spi.discovery.tcp.ClientImpl$MessageWorker.notifyDiscovery(ClientImpl.java:2407)
> at
> org.apache.ignite.spi.discovery.tcp.ClientImpl$MessageWorker.notifyDiscovery(ClientImpl.java:2386)
> at
> org.apache.ignite.spi.discovery.tcp.ClientImpl$MessageWorker.body(ClientImpl.java:1714)
> at org.apache.ignite.spi.IgniteSpiThread.run(IgniteSpiThread.java:62)
> {code}
> It looks like msg-worker is trying to send JOB_CANCEL message for each job
> with timeout equals failureDetectionTimeout.
> Reproducer is attached.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)