ignite-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andrey (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (IGNITE-10635) Ignite throws org.apache.ignite.IgniteCheckedException
Date Tue, 11 Dec 2018 16:28:00 GMT

     [ https://issues.apache.org/jira/browse/IGNITE-10635?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Andrey updated IGNITE-10635:
----------------------------
    Description: 
Can't select row with uuid predicate:

SELECT PARENTID FROM "HumanName".HUMANNAMEMODEL WHERE PARENTID = 'e3f070fa78884fbbbaaca02d5338e217';

 
{code:java}
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)

{code}
Classes:
{code:java}
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() {

    }
...
 {code}
{code:java}
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);
{code}
 

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).  

  was:
Can't select row with uuid predicate:

SELECT PARENTID FROM "HumanName".HUMANNAMEMODEL WHERE PARENTID = 'e3f070fa78884fbbbaaca02d5338e217';

 
{code:java}
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)

{code}
Classes:
{code:java}
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() {

    }
...
 {code}
{code:java}
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);
{code}
 

I think, the problem in "column_size", because if I recreate field "ParentID" from sql (sqlline)
it works fine (recreated.png) 

 


> Ignite throws org.apache.ignite.IgniteCheckedException
> ------------------------------------------------------
>
>                 Key: IGNITE-10635
>                 URL: https://issues.apache.org/jira/browse/IGNITE-10635
>             Project: Ignite
>          Issue Type: Bug
>    Affects Versions: 2.7
>         Environment: Ignite 2.7. JDK 1.8, Linux Mint
>            Reporter: Andrey
>            Priority: Major
>         Attachments: error.png, recreated.png, testproj.zip
>
>
> Can't select row with uuid predicate:
> SELECT PARENTID FROM "HumanName".HUMANNAMEMODEL WHERE PARENTID = 'e3f070fa78884fbbbaaca02d5338e217';
>  
> {code:java}
> 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)
> {code}
> Classes:
> {code:java}
> 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() {
>     }
> ...
>  {code}
> {code:java}
> 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);
> {code}
>  
> 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).  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Mime
View raw message