You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@directmemory.apache.org by "Michael André Pearce (Updated JIRA)" <ji...@apache.org> on 2012/02/26 01:35:48 UTC

[jira] [Updated] (DIRECTMEMORY-73) NPE on put method in CacheServiceImpl when cache is full.

     [ https://issues.apache.org/jira/browse/DIRECTMEMORY-73?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Michael André Pearce updated DIRECTMEMORY-73:
---------------------------------------------

    Description: 
If cache is full, and try doing a put with no buffer space left available (i.e. cache is full) so a null pointer is returned from the memorymanager, this is then put into the hashmap holding keys and values, thus causing npe. 

Solutions proposed to fix this:
When null is returned from memory manager on allocation we dont put into the key pointer map, and return null.

Questions to pose for how we want behaviour:
If key already exists in cache (i.e. update) do we want to remove existing key/pointer (as obviously user wants a new value), and thus avoids incorrect data presented.
Or by returning null to the user we expect them to know that update failed and existing pointer /data will be kept.
Or finally we allow behaviour configurable?





  was:
If cache if full, and try doing a put with no buffers available so a null pointer is returned from the memorymanager, this is then put into the hashmap holding keys and values, thus causing npe. 

Solutions proposed to fix this:
When null is returned from memory manager on allocation we dont put into the key pointer map, and return null.

Questions to pose for how we want behaviour:
If key already exists in cache (i.e. update) do we want to remove existing key/pointer (as obviously user wants a new value), and thus avoids incorrect data presented.
Or by returning null to the user we expect them to know that update failed and existing pointer /data will be kept.
Or finally we allow behaviour configurable?





    
> NPE on put method in CacheServiceImpl when cache is full.
> ---------------------------------------------------------
>
>                 Key: DIRECTMEMORY-73
>                 URL: https://issues.apache.org/jira/browse/DIRECTMEMORY-73
>             Project: Apache DirectMemory
>          Issue Type: Bug
>            Reporter: Michael André Pearce
>
> If cache is full, and try doing a put with no buffer space left available (i.e. cache is full) so a null pointer is returned from the memorymanager, this is then put into the hashmap holding keys and values, thus causing npe. 
> Solutions proposed to fix this:
> When null is returned from memory manager on allocation we dont put into the key pointer map, and return null.
> Questions to pose for how we want behaviour:
> If key already exists in cache (i.e. update) do we want to remove existing key/pointer (as obviously user wants a new value), and thus avoids incorrect data presented.
> Or by returning null to the user we expect them to know that update failed and existing pointer /data will be kept.
> Or finally we allow behaviour configurable?

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira