[ 
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


Reply via email to