ignite-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Vyacheslav Daradur (JIRA)" <j...@apache.org>
Subject [jira] [Created] (IGNITE-4823) SpringCache#putIfAbsent - wrong implementation
Date Wed, 15 Mar 2017 07:30:42 GMT
Vyacheslav Daradur created IGNITE-4823:
------------------------------------------

             Summary: SpringCache#putIfAbsent - wrong implementation
                 Key: IGNITE-4823
                 URL: https://issues.apache.org/jira/browse/IGNITE-4823
             Project: Ignite
          Issue Type: Bug
          Components: cache
            Reporter: Vyacheslav Daradur
            Assignee: Vyacheslav Daradur


Current implementation:
{code}
Object old;
if (val == null)
    old = cache.withSkipStore().putIfAbsent(key, NULL);
else
    old = cache.putIfAbsent(key, val);
return old != null ? fromValue(old) : null;
{code}
cache.putIfAbsent(key, val) - return boolean, not cached value

*Excepted behavior (according to the Spring-docs)*
{code}
Object existingValue = cache.get(key);
if (existingValue == null) {
    cache.put(key, value);
    return null;
} else {
    return existingValue;
}
{code}

1. Need to fix implementation
2. Cover SpringCache class with unit-tests



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Mime
View raw message