You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Jonathan Ellis (JIRA)" <ji...@apache.org> on 2011/07/27 00:03:10 UTC
[jira] [Updated] (CASSANDRA-2951) FreeableMemory can be accessed
after it is invalid
[ https://issues.apache.org/jira/browse/CASSANDRA-2951?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jonathan Ellis updated CASSANDRA-2951:
--------------------------------------
Attachment: 2951.txt
patch adds reference counting to FreeableMemory
> FreeableMemory can be accessed after it is invalid
> --------------------------------------------------
>
> Key: CASSANDRA-2951
> URL: https://issues.apache.org/jira/browse/CASSANDRA-2951
> Project: Cassandra
> Issue Type: Bug
> Components: Core
> Affects Versions: 0.8.0
> Reporter: Jonathan Ellis
> Assignee: Jonathan Ellis
> Priority: Minor
> Fix For: 0.8.3
>
> Attachments: 2951.txt
>
>
> SerializingCache.get looks like this:
> {code}
> public V get(Object key)
> {
> FreeableMemory mem = map.get(key);
> if (mem == null)
> return null;
> return deserialize(mem);
> }
> {code}
> If a cache object is evicted or replaced after the get happens, but before deserialize completes, we will trigger an assertion failure (if asserts are enabled) or segfault (if they are not).
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira