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