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/