HI Andrei, Some more points :
1. Also the javadocs for the querycursor says : https://ignite.apache.org/releases/latest/javadoc/org/apache/ignite/cache/query/QueryCursor.html#getAll-- List<T> getAll() Gets all query results and stores them in the collection. Use this method when you know in advance that query result is relatively small and will not cause memory utilization issues. /Since all the results will be fetched, all the resources will be closed automatically after this call, e.g. there is no need to call close() method in this case. / We are closing the cursor as mentioned in my previous comment - but according to this comment, if the cursor is not closed it shouldnt be a issue since a invocation of the getall method will close it . Please let me know if we are missing something. 2. Some observations- On all the nodes where I got the wrong count : Between the time it executes cache.query and cur.getall, I see this log : 2021-01-15T15:37:15,167 INFO o.a.i.s.c.t.TcpCommunicationSpi [grid-nio-worker-tcp-comm-2-#62%InstanceName%]: Established outgoing communication connection [locAddr=/a.b.c.153:50546, rmtAddr=machinename003.cmc.local/a.b.c.202:47130 ] Not sure why it is trying to connect to another server between the cache.query and cur.getall On the nodes where the count has been right, I dont see that line. 3. Could this be linked to this issue here : http://apache-ignite-users.70518.x6.nabble.com/Regarding-Connection-timed-out-observed-during-client-startup-td35157.html -- Sent from: http://apache-ignite-users.70518.x6.nabble.com/