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

Pavel Tupitsyn commented on IGNITE-4663:
----------------------------------------

[~Alexey Kuznetsov] see https://apacheignite.readme.io/docs/binary-marshaller. 
There are a lot of such use cases.

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

Reply via email to