Dmitry Karachentsev created IGNITE-8858:
-------------------------------------------

             Summary: Client none may not stop
                 Key: IGNITE-8858
                 URL: https://issues.apache.org/jira/browse/IGNITE-8858
             Project: Ignite
          Issue Type: Bug
    Affects Versions: 2.5
            Reporter: Dmitry Karachentsev
            Assignee: Dmitry Karachentsev
             Fix For: 2.6


There is possible case when client node is not stopped and blocked on waiting 
when SocketReader will be completed. Looks like interruption was lost, and the 
only place where it could happen is in unmarshaling message from input stream.

The way to overcome/fix it is to check if InterruptedException was in cause of 
IgniteCheckedException and repeatedly interrupt reader on stop.

 
{noformat}
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at java.lang.Thread.join(Thread.java:1245)
        - locked <0x000000041016a140> (a 
org.apache.ignite.spi.discovery.tcp.ClientImpl$SocketReader)
        at java.lang.Thread.join(Thread.java:1319)
        at 
org.apache.ignite.internal.util.IgniteUtils.join(IgniteUtils.java:4604)
        at 
org.apache.ignite.spi.discovery.tcp.ClientImpl.spiStop(ClientImpl.java:315)
        at 
org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi.spiStop(TcpDiscoverySpi.java:2061)
        at 
org.apache.ignite.internal.managers.GridManagerAdapter.stopSpi(GridManagerAdapter.java:330)
        at 
org.apache.ignite.internal.managers.discovery.GridDiscoveryManager.stop(GridDiscoveryManager.java:1608)
        at org.apache.ignite.internal.IgniteKernal.stop0(IgniteKernal.java:2216)
        at org.apache.ignite.internal.IgniteKernal.stop(IgniteKernal.java:2094)
        at 
org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.stop0(IgnitionEx.java:2545)
        - locked <0x0000000410065e80> (a 
org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance)
        at 
org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.stop(IgnitionEx.java:2508)
        at org.apache.ignite.internal.IgnitionEx.stop(IgnitionEx.java:365)
        at org.apache.ignite.Ignition.stop(Ignition.java:229)
        at org.apache.ignite.internal.IgniteKernal.close(IgniteKernal.java:3417)


"tcp-client-disco-sock-reader-#35%Default%" #746 prio=5 os_prio=0 
tid=0x00007f6090561800 nid=0x3441 in Object.wait() [0x00007f60f23d8000]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at java.lang.Object.wait(Object.java:502)
        at 
org.apache.ignite.spi.discovery.tcp.ClientImpl$SocketReader.body(ClientImpl.java:1006)
        - locked <0x000000041016a2e0> (a java.lang.Object)
        at org.apache.ignite.spi.IgniteSpiThread.run(IgniteSpiThread.java:62)
{noformat}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to