2016-09-26 4 views
0

다른 컴퓨터의 클러스터에서 실행중인 Gridgain 캐시를 채우려고합니다. Gridgain 캐시에서 메서드를 호출하고 캐시에 put 메서드를 호출 한 후이 메서드를 호출하는 동안 ClientDisconnectedException이 발생합니다.클래스 org.apache.ignite.IgniteClientDisconnectedException

// DPH cache 
     CacheConfiguration<K,V> DPHCacheCfg = new CacheConfiguration<>(DPH_CACHE); 
     DPHCacheCfg.setCacheMode(CacheMode.PARTITIONED); // Default. 
     DPHCacheCfg.setIndexedTypes(String.class, DPH.class); 
     DPHCacheCfg.setOffHeapMaxMemory(10 * 1024L * 1024L * 1024L); 
     DPHCacheCfg.setMemoryMode(CacheMemoryMode.ONHEAP_TIERED); 
     FifoEvictionPolicy evctPolicy = new FifoEvictionPolicy(); 
     DPHCacheCfg.setEvictionPolicy(evctPolicy); 

그녀는 내가 캐시에 데이터를 입력하는 방법입니다 : 여기

내 캐시 구성입니다

DPHCache.put (K, V); 여기서 V는 어떤 객체입니다. 일정 개수의 풋이 나온 후에, 나는 아래 예외를 가지고있다.

avax.cache.CacheException: class org.apache.ignite.IgniteClientDisconnectedException: Operation has been cancelled (client node disconnected). 
    at org.apache.ignite.internal.processors.cache.GridCacheUtils.convertToCacheException(GridCacheUtils.java:1615) 
    at org.apache.ignite.internal.processors.cache.IgniteCacheProxy.cacheException(IgniteCacheProxy.java:1955) 
    at org.apache.ignite.internal.processors.cache.IgniteCacheProxy.put(IgniteCacheProxy.java:1155) 
    at com.elsevier.elssie.datafabric.LoadQuetzal.populateDPH(LoadQuetzal.java:246) 
    at com.elsevier.elssie.datafabric.LoadQuetzal.main(LoadQuetzal.java:163) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:497) 
    at org.codehaus.mojo.exec.ExecJavaMojo$1.run(ExecJavaMojo.java:294) 
    at java.lang.Thread.run(Thread.java:745) 
Caused by: class org.apache.ignite.IgniteClientDisconnectedException: Operation has been cancelled (client node disconnected). 
    at org.apache.ignite.internal.util.IgniteUtils$14.apply(IgniteUtils.java:829) 
    at org.apache.ignite.internal.util.IgniteUtils$14.apply(IgniteUtils.java:827) 
    ... 11 more 
Caused by: class org.apache.ignite.internal.IgniteClientDisconnectedCheckedException: Operation has been cancelled (client node disconnected). 
    at org.apache.ignite.internal.processors.cache.GridCacheMvccManager.disconnectedError(GridCacheMvccManager.java:406) 
    at org.apache.ignite.internal.processors.cache.GridCacheMvccManager.onDisconnected(GridCacheMvccManager.java:382) 
    at org.apache.ignite.internal.processors.cache.GridCacheSharedContext.onDisconnected(GridCacheSharedContext.java:151) 
    at org.apache.ignite.internal.processors.cache.GridCacheProcessor.onDisconnected(GridCacheProcessor.java:934) 
    at org.apache.ignite.internal.IgniteKernal.onDisconnected(IgniteKernal.java:3023) 
    at org.apache.ignite.internal.managers.discovery.GridDiscoveryManager$4.onDiscovery(GridDiscoveryManager.java:588) 
    at org.apache.ignite.spi.discovery.tcp.ClientImpl$MessageWorker.notifyDiscovery(ClientImpl.java:2058) 
    at org.apache.ignite.spi.discovery.tcp.ClientImpl$MessageWorker.notifyDiscovery(ClientImpl.java:2039) 
    at org.apache.ignite.spi.discovery.tcp.ClientImpl$MessageWorker.body(ClientImpl.java:1435) 
    at org.apache.ignite.spi.IgniteSpiThread.run(IgniteSpiThread.java:62) 

답변

1

이는 일반적으로 모든 서버 노드가 중지 될 때 발생합니다. 정확히 무엇이 일어 났는지 이해하려면 로그를 확인해야합니다.

하나 이상의 서버가 다시 연결되면 클라이언트가 자동으로 다시 연결됩니다. IgniteClientDisconnectedException에는 재 연결이 발생할 때 완료 될 미래를 반환하는 reconnectFuture() 메서드가 있으므로 클러스터가 작동 할 때까지 클라이언트를 차단할 수 있습니다.