[
https://issues.apache.org/jira/browse/IGNITE-4663?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Pavel Tupitsyn updated IGNITE-4663:
-----------------------------------
Description:
{{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}}
was:
{{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)
> 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)