I start an Ignite server first, then start an Ignite client which do some asynchronously operations on cache. But only after several seconds, the operation jammed.
Is there anything wrong about my code? public class ContinuousQuery { public static void main(String[] args) { Ignition.setClientMode(true); String cacheName = "Test"; Ignite ignite = Ignition.start(); System.out.println(); System.out.println(">>>TestMain started."); CacheConfiguration<Integer, UUID> cacheCfg = new CacheConfiguration<>(cacheName); cacheCfg.setBackups(0); cacheCfg.setCacheMode(CacheMode.PARTITIONED); cacheCfg.setAtomicityMode(CacheAtomicityMode.ATOMIC); cacheCfg.setMemoryMode(CacheMemoryMode.OFFHEAP_TIERED); cacheCfg.setOffHeapMaxMemory(200L * 1024L * 1024L); cacheCfg.setSwapEnabled(false); boolean isAsync = true; for (int i = 1;; i++) { IgniteCache<Integer, UUID> cache = ignite.getOrCreateCache(cacheCfg); for (int j = 0; j < 1000000; j++) { UUID val = UUID.randomUUID(); doit(isAsync, i, cache, j, val); } } } private static void doit(boolean isAsync, final int i, IgniteCache<Integer, UUID> cache, final Integer key, final UUID value) { if (isAsync) { final IgniteCache<Integer, UUID> asyncCache = cache.withAsync(); // setp 1 asyncCache.put(key, value); // setp 1 asynchronously wait for result. asyncCache.future().listen(new IgniteInClosure<IgniteFuture<?>>() { @Override public void apply(IgniteFuture<?> fut) { System.out.println(i + ", timeNow=" + timeNow() + ":setp 1 put operation completed '" + fut.isDone() + "' [key=" + key + ", value=" + fut.get() + "]"); // setp 2 asyncCache.remove(key); // setp 2 asynchronously wait for result. asyncCache.future().listen(new IgniteInClosure<IgniteFuture<?>>() { @Override public void apply(IgniteFuture<?> fut) { System.out.println(i + ", timeNow=" + timeNow() + ":setp 2 remove operation completed '" + fut.isDone() + "' [key=" + key + ", value=" + fut.get() + "]"); } }); } }); } else { // setp 1 cache.put(key, value); System.out.println(i + ", timeNow=" + timeNow() + ":setp 1 put operation completed [key=" + key + "]"); // setp 2 boolean result = cache.remove(key); System.out.println(i + ", timeNow=" + timeNow() + ":setp 2 remove operation completed [key=" + key + ", result=" + result + "]"); } } private static String timeNow() { Date date = new Date(); DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS"); String time = format.format(date); return time; } } Following is the test result: [10:19:55] Topology snapshot [ver=2, servers=1, clients=1, CPUs=32, heap=12.0GB] >>>TestMain started. 1, timeNow=2017-02-21 10:19:55.652:setp 1 put operation completed 'true' [key=0, value=null] 1, timeNow=2017-02-21 10:19:55.658:setp 2 remove operation completed 'true' [key=0, value=true] 1, timeNow=2017-02-21 10:19:55.659:setp 1 put operation completed 'true' [key=1, value=null] 1, timeNow=2017-02-21 10:19:55.663:setp 2 remove operation completed 'true' [key=1, value=true] 1, timeNow=2017-02-21 10:19:55.664:setp 1 put operation completed 'true' [key=2, value=null] 1, timeNow=2017-02-21 10:19:55.667:setp 2 remove operation completed 'true' [key=2, value=true] 1, timeNow=2017-02-21 10:19:55.668:setp 1 put operation completed 'true' [key=3, value=null] 1, timeNow=2017-02-21 10:19:55.672:setp 2 remove operation completed 'true' [key=3, value=true] 1, timeNow=2017-02-21 10:19:55.673:setp 1 put operation completed 'true' [key=4, value=null] 1, timeNow=2017-02-21 10:19:55.677:setp 2 remove operation completed 'true' [key=4, value=true] 1, timeNow=2017-02-21 10:19:55.678:setp 1 put operation completed 'true' [key=5, value=null] 1, timeNow=2017-02-21 10:19:55.681:setp 2 remove operation completed 'true' [key=5, value=true] 1, timeNow=2017-02-21 10:19:55.682:setp 1 put operation completed 'true' [key=6, value=null] 1, timeNow=2017-02-21 10:19:55.686:setp 1 put operation completed 'true' [key=7, value=null] 1, timeNow=2017-02-21 10:19:55.687:setp 2 remove operation completed 'true' [key=6, value=true] 1, timeNow=2017-02-21 10:19:55.716:setp 2 remove operation completed 'true' [key=7, value=true] Then it jammed. -- View this message in context: http://apache-ignite-users.70518.x6.nabble.com/Ignite-client-doing-asynchronously-operation-will-be-jammed-tp10746.html Sent from the Apache Ignite Users mailing list archive at Nabble.com.