Hello, there seems to be a problem with mapping between Cassandra numerical types to Java types. I am using ver. 2.0.0#20170430-sha1:d4eef3c6.
In Cassandra, the column is defined as "smallint". In the Java POJO, the field is defined as "Short" In the configuration (QueryEntity), the field is defined as "java.lang.Short". Nothing was defined as java.lang.Integer. Loading an object from Cassandra to Ignite (get with cache-miss, or loadCache()) resulted in the following exception: com.datastax.driver.core.exceptions.CodecNotFoundException: Codec not found for requested operation: [smallint <-> java.lang.Integer] It seems that the type defined on the Ignite side is not properly propagated to the Cassandra driver, and Cassandra perceives it as an Integer. When I define everything (column and all fields) as int/java.lang.Integer, then all is well. I also tried with "tinyint" and java.lang.Byte. In this case the Java driver tried (and failed) to map to java.nio.ByteBuffer. Caused by: com.datastax.driver.core.exceptions.CodecNotFoundException: Codec not found for requested operation: [smallint <-> java.lang.Integer] at com.datastax.driver.core.CodecRegistry.notFound(CodecRegistry.java:679) at com.datastax.driver.core.CodecRegistry.createCodec(CodecRegistry.java:526) at com.datastax.driver.core.CodecRegistry.findCodec(CodecRegistry.java:506) at com.datastax.driver.core.CodecRegistry.access$200(CodecRegistry.java:140) at com.datastax.driver.core.CodecRegistry$TypeCodecCacheLoader.load(CodecRegistry.java:211) at com.datastax.driver.core.CodecRegistry$TypeCodecCacheLoader.load(CodecRegistry.java:208) at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3542) at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2323) at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2286) at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2201) at com.google.common.cache.LocalCache.get(LocalCache.java:3953) at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3957) at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4875) at com.datastax.driver.core.CodecRegistry.lookupCodec(CodecRegistry.java:480) at com.datastax.driver.core.CodecRegistry.codecFor(CodecRegistry.java:448) at com.datastax.driver.core.CodecRegistry.codecFor(CodecRegistry.java:430) at com.datastax.driver.core.AbstractGettableByIndexData.codecFor(AbstractGettableByIndexData.java:69) at com.datastax.driver.core.AbstractGettableByIndexData.getInt(AbstractGettableByIndexData.java:139) at com.datastax.driver.core.AbstractGettableData.getInt(AbstractGettableData.java:26) at com.datastax.driver.core.AbstractGettableData.getInt(AbstractGettableData.java:87) at org.apache.ignite.cache.store.cassandra.common.PropertyMappingHelper.getCassandraColumnValue(PropertyMappingHelper.java:157) at org.apache.ignite.cache.store.cassandra.persistence.PojoField.setValueFromRow(PojoField.java:181) at org.apache.ignite.cache.store.cassandra.persistence.PersistenceController.buildObject(PersistenceController.java:406) at org.apache.ignite.cache.store.cassandra.persistence.PersistenceController.buildValueObject(PersistenceController.java:228) at org.apache.ignite.cache.store.cassandra.CassandraCacheStore$1.process(CassandraCacheStore.java:201) at org.apache.ignite.cache.store.cassandra.session.CassandraSessionImpl.execute(CassandraSessionImpl.java:148) ... 14 more Roger