As an update, if I update the printBs method to also try a cache.getAll(keys), it still exhibits the same problem (missing records):
private int printBs(long id) { IgniteCache cacheB = ignite.cache("B").withKeepBinary(); ScanQuery<String, BinaryObject> scanQuery = new ScanQuery<>( (IgniteBiPredicate<String, BinaryObject>) (key, value) -> value .field("PARENT_ID").equals(id)); Set<String> keys = new HashSet<>(); for(int i=0;i<100;i++){ keys.add("ID_" + id + "_B_" + i); } Map<String,BinaryObject> getResults = cacheB.getAll(keys); List<?> scanResults = cacheB.query(scanQuery).getAll(); int scanResultsSize = scanResults.size(); int getResultsSize = getResults.size(); LOGGER.debug("Received {} scan results, {} getAll results", scanResultsSize, getResultsSize); return Math.max(scanResultsSize, getResultsSize); } } -- Sent from: http://apache-ignite-users.70518.x6.nabble.com/