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

Enrico Olivelli commented on IGNITE-1564:
-----------------------------------------

I found a workaround.
My previuos  code was like this:
{code}
Ignite ignite = ....
set forceservermode = true
IgniteCache cache = ignite.getOrCreateNearCache(....);
while (true) {
    try {
      cache.get(...)
   } catch (Exception tryagain) {
      tryagain.printStackTrace();      
   }
   Thread.sleep(xxxx);
}
{code}

New code which recovers from servers shutdown:
{code}
Ignite ignite = ....
set forceservermode = false
whiel (true) {
   try {
        IgniteCache cache = ignite.getOrCreateNearCache(....);
        cache.get(...)
   } catch (Exception tryagain) {
      tryagain.printStackTrace();      
   }
   Thread.sleep(xxxx);
}
{code}





> Cannot recover from org.apache.ignite.IgniteClientDisconnectedException
> -----------------------------------------------------------------------
>
>                 Key: IGNITE-1564
>                 URL: https://issues.apache.org/jira/browse/IGNITE-1564
>             Project: Ignite
>          Issue Type: Bug
>          Components: clients
>    Affects Versions: ignite-1.4
>            Reporter: Enrico Olivelli
>            Assignee: Semen Boikov
>            Priority: Blocker
>             Fix For: ignite-1.5
>
>
> Using Apache Ignite 1.4, I get this problem.
> I have two "server" nodes.
> Stop all the server nodes.
> The clients gets "IgniteClientDisconnectedException"
> Restart all the server nodes
> On client I get this error and the client cannot recover from that state.
> client has forceservermode=true
> {code}
> 15-09-29-11-06-28     SEVERE Sep 29, 2015 11:06:28 AM 
> org.apache.ignite.logger.java.JavaLogger error
> GRAVE: Runtime error caught during grid runnable execution: IgniteSpiThread 
> [name=tcp-client-disco-msg-worker-#4%SVILUPPOREF]
> java.lang.NullPointerException
>       at 
> org.apache.ignite.internal.managers.discovery.GridDiscoveryManager.addClientNode(GridDiscoveryManager.java:338)
>       at 
> org.apache.ignite.internal.processors.cache.GridCacheProcessor.onDiscoveryDataReceived(GridCacheProcessor.java:1903)
>       at 
> org.apache.ignite.internal.managers.discovery.GridDiscoveryManager$6.onExchange(GridDiscoveryManager.java:659)
>       at 
> org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi.onExchange(TcpDiscoverySpi.java:1706)
>       at 
> org.apache.ignite.spi.discovery.tcp.ClientImpl$MessageWorker.processNodeAddedMessage(ClientImpl.java:1625)
>       at 
> org.apache.ignite.spi.discovery.tcp.ClientImpl$MessageWorker.processDiscoveryMessage(ClientImpl.java:1535)
>       at 
> org.apache.ignite.spi.discovery.tcp.ClientImpl$MessageWorker.body(ClientImpl.java:1465)
>       at org.apache.ignite.spi.IgniteSpiThread.run(IgniteSpiThread.java:62)
> {code}
> and 
> {code}
> 15-09-14-11-14-56       SEVERE Sep 14, 2015 11:14:56 AM 
> org.apache.ignite.logger.java.JavaLogger error
> GRAVE: Unexpected exception in listener notification for event: 
> DiscoveryEvent [evtNode=TcpDiscoveryNode 
> [id=d5426d82-48ee-4a99-9737-4cf2f0cb5124, addrs=[10.168.10.81], 
> sockAddrs=[sviluppo-ref.sviluppo.dna/10.168.10.81:47500, 
> /10.168.10.81:47500], discPort=47500, order=6, intOrder=4, loc=false, 
> ver=1.3.0#20150710-sha1:2ade6d00, isClient=false], topVer=7, 
> nodeId8=a86f4ae8, msg=Node left: TcpDiscoveryNode 
> [id=d5426d82-48ee-4a99-9737-4cf2f0cb5124, addrs=[10.168.10.81], 
> sockAddrs=[sviluppo-ref.sviluppo.dna/10.168.10.81:47500, 
> /10.168.10.81:47500], discPort=47500, order=6, intOrder=4, loc=false, 
> ver=1.3.0#20150710-sha1:2ade6d00, isClient=false], type=NODE_LEFT, 
> tstamp=1442222096055]
> java.lang.NullPointerException
>         at 
> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicUpdateFuture.futureId(GridNearAtomicUpdateFuture.java:239)
>         at 
> org.apache.ignite.internal.processors.cache.GridCacheMvccManager$3.onEvent(GridCacheMvccManager.java:200)
>         at 
> org.apache.ignite.internal.managers.eventstorage.GridEventStorageManager.notifyListeners(GridEventStorageManager.java:745)
>         at 
> org.apache.ignite.internal.managers.eventstorage.GridEventStorageManager.notifyListeners(GridEventStorageManager.java:730)
>         at 
> org.apache.ignite.internal.managers.eventstorage.GridEventStorageManager.record(GridEventStorageManager.java:270)
>         at 
> org.apache.ignite.internal.managers.discovery.GridDiscoveryManager$DiscoveryWorker.recordEvent(GridDiscoveryManager.java:1740)
>         at 
> org.apache.ignite.internal.managers.discovery.GridDiscoveryManager$DiscoveryWorker.body0(GridDiscoveryManager.java:1931)
>         at 
> org.apache.ignite.internal.managers.discovery.GridDiscoveryManager$DiscoveryWorker.body(GridDiscoveryManager.java:1779)
>         at 
> org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:108)
>         at java.lang.Thread.run(Thread.java:745)
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to