Amelchev Nikita created IGNITE-13741:
----------------------------------------

             Summary: NPE on client reconnect with static caches configured
                 Key: IGNITE-13741
                 URL: https://issues.apache.org/jira/browse/IGNITE-13741
             Project: Ignite
          Issue Type: Bug
    Affects Versions: 2.8.1
            Reporter: Amelchev Nikita


There was NPE during the client node reconnect to the cluster.

1. Configure static replicated persisted cache.
2. Start 2 server nodes and 1 client node. Activate the cluster and fill the 
cache with any values.
3. Restart all servers.
4. When client reconnected it throws the exception from 
{{CacheAffinitySharedManager#processClientCachesRequests}}: 
{noformat}
        // Get ready exchange version.
        AffinityTopologyVersion topVer = cctx.exchange().readyAffinityVersion();

        DiscoCache discoCache = cctx.discovery().discoCache(topVer);

        // discoCache was null
        ClusterNode node = discoCache.oldestAliveServerNode();
{noformat}

{noformat}
2020-11-17 17:22:59.471 [INFO 
][exchange-worker-#65][org.apache.ignite.internal.processors.cache.GridCacheProcessor]
 Stopped cache [cacheName=test-persist-partitioned-atomic-cache]
2020-11-17 17:22:59.472 [WARN 
][tcp-client-disco-msg-worker-#4][org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi]
 Client node was reconnected after it was already considered failed by the 
server topology (this could happen after all servers restarted or due to a long 
network outage between the client and servers). All continuous queries and 
remote event listeners created by this client will be unsubscribed, consider 
listening to EVT_CLIENT_NODE_RECONNECTED event to restore them.
2020-11-17 17:22:59.473 [INFO 
][sys-#56][org.apache.ignite.internal.processors.cluster.ClusterProcessor] 
Writing cluster ID and tag to metastorage on ready for write ClusterIdAndTag 
[id=b4d4e0b1-23ca-4399-bf0d-5238bb42eccb, tag=admiring_herschel]
2020-11-17 17:22:59.473 [INFO 
][disco-event-worker-#52][org.apache.ignite.internal.managers.discovery.GridDiscoveryManager]
 Client node reconnected to topology: TcpDiscoveryNode 
[id=9864d053-9100-4ab1-892b-540f19b30c32, consistentId=Example_3, 
addrs=ArrayList [*], sockAddrs=HashSet [*], discPort=0, order=2, intOrder=0, 
lastExchangeTime=1605622970162, loc=true, ver=2.8.1, isClient=true]
2020-11-17 17:22:59.474 [INFO 
][disco-event-worker-#52][org.apache.ignite.internal.managers.discovery.GridDiscoveryManager]
 Topology snapshot [ver=2, locNode=9864d053, servers=1, clients=1, 
state=ACTIVE, CPUs=8, offheap=4.0GB, heap=6.9GB]
2020-11-17 17:22:59.474 [INFO 
][disco-event-worker-#52][org.apache.ignite.internal.managers.discovery.GridDiscoveryManager]
   ^-- Baseline [id=0, size=2, online=1, offline=1]
2020-11-17 17:22:59.476 [INFO 
][disco-notifier-worker-#50][org.apache.ignite.internal.processors.cluster.GridClusterStateProcessor]
 Received state change finish message: true
2020-11-17 17:22:59.477 
[ERROR][exchange-worker-#65][org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager]
 Failed to process custom exchange task: ClientCacheChangeDummyDiscoveryMessage 
[reqId=9eb245bd-5cdc-4d13-8eac-9e7c7585c83f, cachesToClose=null, startCaches= 
[test-persist-partitioned-atomic-cache]]
java.lang.NullPointerException: null
        at 
org.apache.ignite.internal.processors.cache.CacheAffinitySharedManager.processClientCachesRequests(CacheAffinitySharedManager.java:666)
 ~[ignite-core-2.8.1.jar:2.8.1]
        at 
org.apache.ignite.internal.processors.cache.GridCacheProcessor.processCustomExchangeTask(GridCacheProcessor.java:408)
 ~[ignite-core-2.8.1.jar:2.8.1]
        at 
org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.processCustomTask(GridCachePartitionExchangeManager.java:2997)
 [ignite-core-2.8.1.jar:2.8.1]
        at 
org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body0(GridCachePartitionExchangeManager.java:3145)
 [ignite-core-2.8.1.jar:2.8.1]
        at 
org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body(GridCachePartitionExchangeManager.java:3063)
 [ignite-core-2.8.1.jar:2.8.1]
        at 
org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:120) 
[ignite-core-2.8.1.jar:2.8.1]
        at java.lang.Thread.run(Thread.java:748)
2020-11-17 17:22:59.479 [INFO 
][exchange-worker-#65][org.apache.ignite.internal.exchange.time] Started 
exchange init [topVer=AffinityTopologyVersion [topVer=2, minorTopVer=0], 
crd=false, evt=NODE_JOINED, evtNode=9864d053-9100-4ab1-892b-540f19b30c32, 
customEvt=null, allowMerge=true, exchangeFreeSwitch=false]
{noformat}




--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to