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

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

Pavel Tupitsyn created IGNITE-3240:
--------------------------------------

             Summary: 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
            Priority: Blocker
             Fix For: 1.7


Code to reproduce:

{code}
IgniteCache<Integer, String[]> cache = ignite.getOrCreateCache(CACHE_NAME);
cache.put(1, new String[]{"omg", "wtf"});
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)