You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Kirill Tkalenko (Jira)" <ji...@apache.org> on 2019/09/24 14:59:00 UTC

[jira] [Created] (IGNITE-12226) Improve BinaryObjectException message

Kirill Tkalenko created IGNITE-12226:
----------------------------------------

             Summary: Improve BinaryObjectException message
                 Key: IGNITE-12226
                 URL: https://issues.apache.org/jira/browse/IGNITE-12226
             Project: Ignite
          Issue Type: Improvement
            Reporter: Kirill Tkalenko
            Assignee: Kirill Tkalenko
             Fix For: 2.8


We are getting the following exception in case of different type IDs:
{noformat}
org.apache.ignite.binary.BinaryObjectException: Failed to get field because type ID of passed object differs from type ID this BinaryField belongs to [expected=-635374417, actual=1778229603]
 at org.apache.ignite.internal.binary.BinaryFieldImpl.fieldOrder(BinaryFieldImpl.java:287)
 at org.apache.ignite.internal.binary.BinaryFieldImpl.value(BinaryFieldImpl.java:109)
 at org.apache.ignite.internal.processors.query.property.QueryBinaryProperty.fieldValue(QueryBinaryProperty.java:220)
 at org.apache.ignite.internal.processors.query.property.QueryBinaryProperty.value(QueryBinaryProperty.java:116)
 at org.apache.ignite.internal.processors.query.h2.opt.GridH2RowDescriptor.columnValue(GridH2RowDescriptor.java:331)
 at org.apache.ignite.internal.processors.query.h2.opt.GridH2KeyValueRowOnheap.getValue0(GridH2KeyValueRowOnheap.java:122)
 at org.apache.ignite.internal.processors.query.h2.opt.GridH2KeyValueRowOnheap.getValue(GridH2KeyValueRowOnheap.java:106)
 at org.apache.ignite.internal.processors.query.h2.database.H2Tree.compare(H2Tree.java:350)
 at org.apache.ignite.internal.processors.query.h2.database.H2Tree.compare(H2Tree.java:56)
 at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.compare(BPlusTree.java:4614)
 at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.findInsertionPoint(BPlusTree.java:4534)
 at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.access$1300(BPlusTree.java:92)
 at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$Search.run0(BPlusTree.java:296)
 at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$GetPageHandler.run(BPlusTree.java:4967)
 at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$Search.run(BPlusTree.java:276)
 at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$GetPageHandler.run(BPlusTree.java:4952)
 at org.apache.ignite.internal.processors.cache.persistence.tree.util.PageHandler.readPage(PageHandler.java:161)
 at org.apache.ignite.internal.processors.cache.persistence.DataStructure.read(DataStructure.java:348)
 at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.putDown(BPlusTree.java:2450)
 at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.doPut(BPlusTree.java:2203)
{noformat}

This message isn't informative. We should print more detailes about types, for example classname, class structure (if applicable), which field in class we tried to read.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)