You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Denis Magda (JIRA)" <ji...@apache.org> on 2016/06/03 11:15:59 UTC

[jira] [Commented] (IGNITE-3240) Arrays do not deserialize properly

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

Denis Magda commented on IGNITE-3240:
-------------------------------------

Fixed the issue for classes like Strings, Date, BigDecimal, etc. Checking on TC.

However the current fix is not enough for all possible custom arrays. More effort is needed to provide the general fix. Opened the ticket for this IGNITE-3244. 

> Arrays do not deserialize properly
> ----------------------------------
>
>                 Key: IGNITE-3240
>                 URL: https://issues.apache.org/jira/browse/IGNITE-3240
>             Project: Ignite
>          Issue Type: Bug
>          Components: binary, cache
>    Affects Versions: 1.1.4
>            Reporter: Pavel Tupitsyn
>            Assignee: Denis Magda
>            Priority: Blocker
>             Fix For: 1.7
>
>
> Code to reproduce:
> {code}
> IgniteCache<Integer, String[]> cache = ignite.getOrCreateCache(CACHE_NAME);
> cache.put(1, new String[]{"hello", "world"});
> String[] res = cache.get(1);
> {code}
> The bug is in CacheObjectContext.unwrapBinariesInArrayIfNeeded method, which always produces a new array.
> We should check for basic types somehow and skip this conversion.
> Generally, we NEVER want to change the type of the array, so the fix may be:
> {code}
> if (arr.getClass().getComponentType() != Object.class)
>     return arr;
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)