[
https://issues.apache.org/jira/browse/IGNITE-26863?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Mikhail Petrov updated IGNITE-26863:
------------------------------------
Description:
The problem can be reproduced with BinaryEnumsSelfTest.testInstanceFromBytes
test.
See
https://ci2.ignite.apache.org/project.html?projectId=IgniteTests24Java8&testNameId=991346249142798774&tab=testDetails
The failures are caused by an incorrect implementation of the
org.apache.ignite.internal.binary.BinaryEnumObjectImpl#size method, which
actually reads random bytes from the heap - the enum is not serialized like a
custom Java object (with header, footer, etc.), so using the
GridBinaryMarshaller.TOTAL_LEN_POS offset will point beyond the bounds of the
array that stores the serialized enum.
> Fix broken Binary Object size calculation for enum objects
> ----------------------------------------------------------
>
> Key: IGNITE-26863
> URL: https://issues.apache.org/jira/browse/IGNITE-26863
> Project: Ignite
> Issue Type: Task
> Reporter: Mikhail Petrov
> Assignee: Mikhail Petrov
> Priority: Minor
>
> The problem can be reproduced with BinaryEnumsSelfTest.testInstanceFromBytes
> test.
> See
> https://ci2.ignite.apache.org/project.html?projectId=IgniteTests24Java8&testNameId=991346249142798774&tab=testDetails
> The failures are caused by an incorrect implementation of the
> org.apache.ignite.internal.binary.BinaryEnumObjectImpl#size method, which
> actually reads random bytes from the heap - the enum is not serialized like a
> custom Java object (with header, footer, etc.), so using the
> GridBinaryMarshaller.TOTAL_LEN_POS offset will point beyond the bounds of the
> array that stores the serialized enum.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)