I've also prepared a test with the simplest POJO possible, ad the ClassNotFoundException persist with scanquery:
public class SimplePojo implements Serializable{ private static final long serialVersionUID = 1L; private Integer id; private String str1; public SimplePojo() {} public Integer getId() {return id;} public String getStr1() {return str1;} public void setId(Integer id) {this.id = id;} public void setStr1(String str1) {this.str1 = str1;} } public class SmplePojoFilter implements IgniteBiPredicate<Integer, SimplePojo> { private static final long serialVersionUID = 1L; private Integer idToFind; private String srtToFind; public SmplePojoFilter() {} public SmplePojoFilter(Integer idToFind, String srtToFind) { super(); this.idToFind = idToFind; this.srtToFind = srtToFind; } @Override public boolean apply(Integer e1, SimplePojo e2) { return e2.getId().equals(idToFind); } } IgniteCache<Integer, SimplePojo> cache = ignite.getOrCreateCache(c_cfg); SmplePojoFilter spf = new SmplePojoFilter(1, null); Collection<SimplePojo> res = new ArrayList<>(); try(QueryCursor<Cache.Entry<Integer, SimplePojo>> cursor = cache.query(new ScanQuery<>(spf))){ cursor.forEach(entry->res.add(entry.getValue())); } -- Sent from: http://apache-ignite-users.70518.x6.nabble.com/