Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
2.7
-
None
-
None
-
None
-
Ignite 2.7. JDK 1.8, Linux Mint
-
Docs Required
Description
Can't select row with uuid predicate:
SELECT PARENTID FROM "HumanName".HUMANNAMEMODEL WHERE PARENTID = 'e3f070fa78884fbbbaaca02d5338e217';
Error: javax.cache.CacheException: class org.apache.ignite.IgniteCheckedException: Ошибка десериализации, причина: "class org.apache.ignite.IgniteCheckedException: Invalid flag value: -29" Deserialization failed, cause: "class org.apache.ignite.IgniteCheckedException: Invalid flag value: -29" [90027-197] (state=50000,code=1) java.sql.SQLException: javax.cache.CacheException: class org.apache.ignite.IgniteCheckedException: Ошибка десериализации, причина: "class org.apache.ignite.IgniteCheckedException: Invalid flag value: -29" Deserialization failed, cause: "class org.apache.ignite.IgniteCheckedException: Invalid flag value: -29" [90027-197] at org.apache.ignite.internal.jdbc.thin.JdbcThinConnection.sendRequest(JdbcThinConnection.java:750) at org.apache.ignite.internal.jdbc.thin.JdbcThinStatement.execute0(JdbcThinStatement.java:212) at org.apache.ignite.internal.jdbc.thin.JdbcThinStatement.execute(JdbcThinStatement.java:475) at sqlline.Commands.execute(Commands.java:823) at sqlline.Commands.sql(Commands.java:733) at sqlline.SqlLine.dispatch(SqlLine.java:795) at sqlline.SqlLine.begin(SqlLine.java:668) at sqlline.SqlLine.start(SqlLine.java:373) at sqlline.SqlLine.main(SqlLine.java:265)
Classes:
public abstract class GenericChildModel<T extends Serializable, P extends Serializable> implements Serializable { transient protected T id; protected transient AffinityKey<T> key; @QuerySqlField(notNull = true, orderedGroups = {@QuerySqlField.Group(name = "parent_version_idx", order = 0)}) protected P parentId; @QuerySqlField(notNull = true, orderedGroups = {@QuerySqlField.Group(name = "parent_version_idx", order = 1, descending = true)}) protected Long version; transient protected P colocationId; public T getId() { return id; } public void setId(T id) { this.id = id; } public P getParentId() { return parentId; } public void setParentId(P parentId) { this.parentId = parentId; } public Long getVersion() { return version; } public void setVersion(Long version) { this.version = version; } public P getColocationId() { return colocationId; } public void setColocationId(P colocationId) { this.colocationId = colocationId; } public AffinityKey<T> key() { if (key == null) key = new AffinityKey<>(id, colocationId); return key; } .... public class HumanNameModel extends GenericChildModel<UUID, UUID> { public static final String[] HUMAN_NAME_USE = {"usual", "official", "temp", "nickname", "anonymous", "old", "maiden"}; @QuerySqlField private Byte use; @QuerySqlField(notNull = true, orderedGroups = {@QuerySqlField.Group(name = "fullname_idx", order = 0)}) @NotNull @Name private String family; @QuerySqlField(orderedGroups = {@QuerySqlField.Group(name = "fullname_idx", order = 1)}) @Name private String firstName; @QuerySqlField(index = true, orderedGroups = {@QuerySqlField.Group(name = "fullname_idx", order = 2)}) @Name private String patronymic; public HumanNameModel() { } ...
CacheConfiguration<UUID, HumanName> cfg = new CacheConfiguration<>(); cfg.setBackups(1); cfg.setAtomicityMode(CacheAtomicityMode.TRANSACTIONAL); cfg.setName("HumanName"); cfg.setIndexedTypes(AffinityKey.class, HumanNameModel.class); ignite.getOrCreateCache(cfg);
I think, the problem in "column_size", because if I recreate field "ParentID" from sql (sqlline) it works fine (recreated.png)
PS. Added project to reproduce error (testproj.zip).
Attachments
Attachments
Issue Links
- links to