Description
Infinite waiting in loop
for (int attempt = 0;; attempt++) { if (attempt != 0) { try { Thread.sleep(attempt * 10); // Wait for exchange. } catch (InterruptedException e) { Thread.currentThread().interrupt(); throw new CacheException("Query was interrupted.", e); } }
because of exchange will wait for partition eviction with opened transaction in a related thread
at java.lang.Thread.sleep(Native Method) at o.a.i.i.processors.query.h2.twostep.GridReduceQueryExecutor.query(GridReduceQueryExecutor.java:546) at o.a.i.i.processors.query.h2.IgniteH2Indexing$8.iterator(IgniteH2Indexing.java:1236) at o.a.i.i.processors.cache.QueryCursorImpl.iterator(QueryCursorImpl.java:95)