[jira] [Commented] (IGNITE-3153) TcpDiscoveryZookeeperIpFinder doesn't properly handle client reconnections
[ https://issues.apache.org/jira/browse/IGNITE-3153?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15320679#comment-15320679 ] Valentin Kulichenko commented on IGNITE-3153: - Anton, I was under impression that {{onSpiContextDestroyed}} can be called on client disconnect. If this is not true, I think you're right. But the usage of {{initGuard}} should be revisited in any case. > TcpDiscoveryZookeeperIpFinder doesn't properly handle client reconnections > -- > > Key: IGNITE-3153 > URL: https://issues.apache.org/jira/browse/IGNITE-3153 > Project: Ignite > Issue Type: Bug > Components: general >Affects Versions: 1.5.0.final >Reporter: Valentin Kulichenko >Assignee: Anton Vinogradov > Fix For: 1.7 > > > The exception below is possible when client reconnects and ZooKeeper IP > finder is used. Most likely this is caused by the fact that {{initGuard}} is > flipped back to {{false}} when the context is destroyed and new curator > instance is not created during the reconnect. > This should be fixed and test coverage for this scenario should be improved. > {noformat} > 2016-05-16 12:00:59,096 5786 ERROR > org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi Runtime error caught > during grid runnable execution: IgniteSpiThread > [name=tcp-client-disco-reconnector-#5%Default%] > java.lang.IllegalStateException: Cannot be started more than once > at > org.apache.curator.framework.imps.CuratorFrameworkImpl.start(CuratorFrameworkImpl.java:237) > ... > at > org.apache.ignite.spi.discovery.tcp.ipfinder.zk.TcpDiscoveryZookeeperIpFinder.init(TcpDiscoveryZookeeperIpFinder.java:144) > at > org.apache.ignite.spi.discovery.tcp.ipfinder.zk.TcpDiscoveryZookeeperIpFinder.getRegisteredAddresses(TcpDiscoveryZookeeperIpFinder.java:169) > at > org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi.registeredAddresses(TcpDiscoverySpi.java:1603) > at > org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi.resolvedAddresses(TcpDiscoverySpi.java:1552) > at > org.apache.ignite.spi.discovery.tcp.ClientImpl.joinTopology(ClientImpl.java:475) > at > org.apache.ignite.spi.discovery.tcp.ClientImpl.access$900(ClientImpl.java:118) > at > org.apache.ignite.spi.discovery.tcp.ClientImpl$Reconnector.body(ClientImpl.java:1175) > at org.apache.ignite.spi.IgniteSpiThread.run(IgniteSpiThread.java:62) > {noformat} -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (IGNITE-3153) TcpDiscoveryZookeeperIpFinder doesn't properly handle client reconnections
[ https://issues.apache.org/jira/browse/IGNITE-3153?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15320535#comment-15320535 ] Anton Vinogradov commented on IGNITE-3153: -- I wonder how can happen context destroy and then reconnect, except race at node stop. Seems that correct solution is to remove if (!initGuard.compareAndSet(true, false)) return; at onSpiContextDestroyed This will fix problem, I think. > TcpDiscoveryZookeeperIpFinder doesn't properly handle client reconnections > -- > > Key: IGNITE-3153 > URL: https://issues.apache.org/jira/browse/IGNITE-3153 > Project: Ignite > Issue Type: Bug > Components: general >Affects Versions: 1.5.0.final >Reporter: Valentin Kulichenko >Assignee: Anton Vinogradov > Fix For: 1.7 > > > The exception below is possible when client reconnects and ZooKeeper IP > finder is used. Most likely this is caused by the fact that {{initGuard}} is > flipped back to {{false}} when the context is destroyed and new curator > instance is not created during the reconnect. > This should be fixed and test coverage for this scenario should be improved. > {noformat} > 2016-05-16 12:00:59,096 5786 ERROR > org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi Runtime error caught > during grid runnable execution: IgniteSpiThread > [name=tcp-client-disco-reconnector-#5%Default%] > java.lang.IllegalStateException: Cannot be started more than once > at > org.apache.curator.framework.imps.CuratorFrameworkImpl.start(CuratorFrameworkImpl.java:237) > ... > at > org.apache.ignite.spi.discovery.tcp.ipfinder.zk.TcpDiscoveryZookeeperIpFinder.init(TcpDiscoveryZookeeperIpFinder.java:144) > at > org.apache.ignite.spi.discovery.tcp.ipfinder.zk.TcpDiscoveryZookeeperIpFinder.getRegisteredAddresses(TcpDiscoveryZookeeperIpFinder.java:169) > at > org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi.registeredAddresses(TcpDiscoverySpi.java:1603) > at > org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi.resolvedAddresses(TcpDiscoverySpi.java:1552) > at > org.apache.ignite.spi.discovery.tcp.ClientImpl.joinTopology(ClientImpl.java:475) > at > org.apache.ignite.spi.discovery.tcp.ClientImpl.access$900(ClientImpl.java:118) > at > org.apache.ignite.spi.discovery.tcp.ClientImpl$Reconnector.body(ClientImpl.java:1175) > at org.apache.ignite.spi.IgniteSpiThread.run(IgniteSpiThread.java:62) > {noformat} -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (IGNITE-3153) TcpDiscoveryZookeeperIpFinder doesn't properly handle client reconnections
[ https://issues.apache.org/jira/browse/IGNITE-3153?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15306883#comment-15306883 ] Valentin Kulichenko commented on IGNITE-3153: - Thanks, Roman! I added the trace. > TcpDiscoveryZookeeperIpFinder doesn't properly handle client reconnections > -- > > Key: IGNITE-3153 > URL: https://issues.apache.org/jira/browse/IGNITE-3153 > Project: Ignite > Issue Type: Bug > Components: general >Affects Versions: 1.5.0.final >Reporter: Valentin Kulichenko >Assignee: Valentin Kulichenko > Fix For: 1.7 > > > The exception below is possible when client reconnects and ZooKeeper IP > finder is used. Most likely this is caused by the fact that {{initGuard}} is > flipped back to {{false}} when the context is destroyed and new curator > instance is not created during the reconnect. > This should be fixed and test coverage for this scenario should be improved. > {noformat} > 2016-05-16 12:00:59,096 5786 ERROR > org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi Runtime error caught > during grid runnable execution: IgniteSpiThread > [name=tcp-client-disco-reconnector-#5%Default%] > java.lang.IllegalStateException: Cannot be started more than once > at > org.apache.curator.framework.imps.CuratorFrameworkImpl.start(CuratorFrameworkImpl.java:237) > ... > at > org.apache.ignite.spi.discovery.tcp.ipfinder.zk.TcpDiscoveryZookeeperIpFinder.init(TcpDiscoveryZookeeperIpFinder.java:144) > at > org.apache.ignite.spi.discovery.tcp.ipfinder.zk.TcpDiscoveryZookeeperIpFinder.getRegisteredAddresses(TcpDiscoveryZookeeperIpFinder.java:169) > at > org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi.registeredAddresses(TcpDiscoverySpi.java:1603) > at > org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi.resolvedAddresses(TcpDiscoverySpi.java:1552) > at > org.apache.ignite.spi.discovery.tcp.ClientImpl.joinTopology(ClientImpl.java:475) > at > org.apache.ignite.spi.discovery.tcp.ClientImpl.access$900(ClientImpl.java:118) > at > org.apache.ignite.spi.discovery.tcp.ClientImpl$Reconnector.body(ClientImpl.java:1175) > at org.apache.ignite.spi.IgniteSpiThread.run(IgniteSpiThread.java:62) > {noformat} -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (IGNITE-3153) TcpDiscoveryZookeeperIpFinder doesn't properly handle client reconnections
[ https://issues.apache.org/jira/browse/IGNITE-3153?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15290508#comment-15290508 ] Roman Shtykh commented on IGNITE-3153: -- [~vkulichenko] Seems you forgot to paste the details of the exception ;) > TcpDiscoveryZookeeperIpFinder doesn't properly handle client reconnections > -- > > Key: IGNITE-3153 > URL: https://issues.apache.org/jira/browse/IGNITE-3153 > Project: Ignite > Issue Type: Bug > Components: general >Affects Versions: 1.5.0.final >Reporter: Valentin Kulichenko > Fix For: 1.7 > > > The exception below is possible when client reconnects and ZooKeeper IP > finder is used. Most likely this is caused by the fact that {{initGuard}} is > flipped back to {{false}} when the context is destroyed and new curator > instance is not created during the reconnect. > This should be fixed and test coverage for this scenario should be improved. -- This message was sent by Atlassian JIRA (v6.3.4#6332)