[
https://issues.apache.org/jira/browse/IGNITE-4663?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15858012#comment-15858012
]
Taras Ledkov commented on IGNITE-4663:
--------------------------------------
[Tests
results|http://195.239.208.174/project.html?projectId=IgniteTests&tab=projectOverview&branch_IgniteTests=pull%2F1507%2Fhead]
> BinaryUtils.doReadObjectArray can not read array with platform-only element
> type
> --------------------------------------------------------------------------------
>
> Key: IGNITE-4663
> URL: https://issues.apache.org/jira/browse/IGNITE-4663
> Project: Ignite
> Issue Type: Bug
> Components: binary
> Affects Versions: 2.0
> Reporter: Pavel Tupitsyn
> Assignee: Taras Ledkov
> Fix For: 2.0
>
>
> {{BinaryUtils.doReadObjectArray}} performs unnecessary class lookup when
> {{deserialize = false}}. When array elements are of platform-only type
> ({{platformId != 0}}), the class can never be resolved.
> * arrays of user-defined types are not supported for platforms
> * performance is suboptimal in binary mode (in Java and platforms)
> Stack trace for platforms problem:
> {code}
> Java exception occurred
> [class=org.apache.ignite.binary.BinaryInvalidTypeException, message=Unknown
> pair [platformId= 0, typeId=3184265]]
> ----> Apache.Ignite.Core.Common.JavaException : class
> org.apache.ignite.binary.BinaryInvalidTypeException: Unknown pair
> [platformId= 0, typeId=3184265]
> at
> org.apache.ignite.internal.binary.BinaryContext.descriptorForTypeId(BinaryContext.java:691)
> at
> org.apache.ignite.internal.binary.BinaryUtils.doReadClass(BinaryUtils.java:1521)
> at
> org.apache.ignite.internal.binary.BinaryUtils.doReadClass(BinaryUtils.java:1441)
> at
> org.apache.ignite.internal.binary.BinaryUtils.doReadObjectArray(BinaryUtils.java:1884)
> at
> org.apache.ignite.internal.binary.BinaryUtils.unmarshal(BinaryUtils.java:1838)
> at
> org.apache.ignite.internal.binary.BinaryReaderExImpl.readObjectDetached(BinaryReaderExImpl.java:1129)
> at
> org.apache.ignite.internal.processors.platform.cache.PlatformCache.processInStreamOutLong(PlatformCache.java:409)
> at
> org.apache.ignite.internal.processors.platform.PlatformTargetProxyImpl.inStreamOutLong(PlatformTargetProxyImpl.java:61)
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)