[ 
https://issues.apache.org/jira/browse/IGNITE-12569?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17021891#comment-17021891
 ] 

Ignite TC Bot commented on IGNITE-12569:
----------------------------------------

{panel:title=Branch: [pull/7292/head] Base: [master] : No blockers 
found!|borderStyle=dashed|borderColor=#ccc|titleBGColor=#D6F7C1}{panel}
[TeamCity *--> Run :: All* 
Results|https://ci.ignite.apache.org/viewLog.html?buildId=4950976&buildTypeId=IgniteTests24Java8_RunAll]

> Can't set serialized enum to a BinaryObject's field
> ---------------------------------------------------
>
>                 Key: IGNITE-12569
>                 URL: https://issues.apache.org/jira/browse/IGNITE-12569
>             Project: Ignite
>          Issue Type: Bug
>          Components: binary
>            Reporter: Konstantin Orlov
>            Assignee: Konstantin Orlov
>            Priority: Major
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> The deserialization of the BinaryObject fails since a serialized 
> representation of the enum was set to a field instead of the enum itself. 
> Because of this issue there is no way to work with enums without a 
> corresponding class.
> Error message thrown during the deserialization:
> {noformat}[18:03:06,159][ERROR][main][BinaryContext] Failed to deserialize 
> object [typeName=binary.BinaryEnumExample$TestClass]
> org.apache.ignite.binary.BinaryObjectException: Failed to read field 
> [name=theEnum]
>       at 
> org.apache.ignite.internal.binary.BinaryFieldAccessor.read(BinaryFieldAccessor.java:191)
>  ~[classes/:?]
>       at 
> org.apache.ignite.internal.binary.BinaryClassDescriptor.read(BinaryClassDescriptor.java:887)
>  [classes/:?]
>       at 
> org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize0(BinaryReaderExImpl.java:1762)
>  [classes/:?]
>       at 
> org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize(BinaryReaderExImpl.java:1714)
>  [classes/:?]
>       at 
> org.apache.ignite.internal.binary.BinaryObjectImpl.deserializeValue(BinaryObjectImpl.java:794)
>  [classes/:?]
>       at 
> org.apache.ignite.internal.binary.BinaryObjectImpl.deserialize(BinaryObjectImpl.java:636)
>  [classes/:?]
>       at binary.BinaryEnumExample.main(BinaryEnumExample.java:20) [classes/:?]
> Caused by: org.apache.ignite.binary.BinaryObjectException: Unexpected field 
> type [pos=24, expected=Enum, actual=Enum]
>       at 
> org.apache.ignite.internal.binary.BinaryReaderExImpl.checkFlagNoHandles(BinaryReaderExImpl.java:1677)
>  ~[classes/:?]
>       at 
> org.apache.ignite.internal.binary.BinaryReaderExImpl.readEnum0(BinaryReaderExImpl.java:1403)
>  ~[classes/:?]
>       at 
> org.apache.ignite.internal.binary.BinaryReaderExImpl.readEnum(BinaryReaderExImpl.java:1387)
>  ~[classes/:?]
>       at 
> org.apache.ignite.internal.binary.BinaryFieldAccessor$DefaultFinalClassAccessor.readFixedType(BinaryFieldAccessor.java:885)
>  ~[classes/:?]
>       at 
> org.apache.ignite.internal.binary.BinaryFieldAccessor$DefaultFinalClassAccessor.read0(BinaryFieldAccessor.java:702)
>  ~[classes/:?]
>       at 
> org.apache.ignite.internal.binary.BinaryFieldAccessor.read(BinaryFieldAccessor.java:187)
>  ~[classes/:?]
>       ... 6 more
> Exception in thread "main" class 
> org.apache.ignite.binary.BinaryObjectException: Failed to deserialize object 
> [typeName=binary.BinaryEnumExample$TestClass]
>       at 
> org.apache.ignite.internal.binary.BinaryClassDescriptor.read(BinaryClassDescriptor.java:926)
>       at 
> org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize0(BinaryReaderExImpl.java:1762)
>       at 
> org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize(BinaryReaderExImpl.java:1714)
>       at 
> org.apache.ignite.internal.binary.BinaryObjectImpl.deserializeValue(BinaryObjectImpl.java:794)
>       at 
> org.apache.ignite.internal.binary.BinaryObjectImpl.deserialize(BinaryObjectImpl.java:636)
>       at binary.BinaryEnumExample.main(BinaryEnumExample.java:20)
> Caused by: class org.apache.ignite.binary.BinaryObjectException: Failed to 
> read field [name=theEnum]
>       at 
> org.apache.ignite.internal.binary.BinaryFieldAccessor.read(BinaryFieldAccessor.java:191)
>       at 
> org.apache.ignite.internal.binary.BinaryClassDescriptor.read(BinaryClassDescriptor.java:887)
>       ... 5 more
> Caused by: class org.apache.ignite.binary.BinaryObjectException: Unexpected 
> field type [pos=24, expected=Enum, actual=Enum]
>       at 
> org.apache.ignite.internal.binary.BinaryReaderExImpl.checkFlagNoHandles(BinaryReaderExImpl.java:1677)
>       at 
> org.apache.ignite.internal.binary.BinaryReaderExImpl.readEnum0(BinaryReaderExImpl.java:1403)
>       at 
> org.apache.ignite.internal.binary.BinaryReaderExImpl.readEnum(BinaryReaderExImpl.java:1387)
>       at 
> org.apache.ignite.internal.binary.BinaryFieldAccessor$DefaultFinalClassAccessor.readFixedType(BinaryFieldAccessor.java:885)
>       at 
> org.apache.ignite.internal.binary.BinaryFieldAccessor$DefaultFinalClassAccessor.read0(BinaryFieldAccessor.java:702)
>       at 
> org.apache.ignite.internal.binary.BinaryFieldAccessor.read(BinaryFieldAccessor.java:187)
>       ... 6 more{noformat}



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

Reply via email to