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

ASF GitHub Bot updated ACCUMULO-4641:
-------------------------------------
    Labels: pull-request-available  (was: )

> Modify BlockCache interface to avoid race conditions
> ----------------------------------------------------
>
>                 Key: ACCUMULO-4641
>                 URL: https://issues.apache.org/jira/browse/ACCUMULO-4641
>             Project: Accumulo
>          Issue Type: Sub-task
>            Reporter: Keith Turner
>            Assignee: Keith Turner
>              Labels: pull-request-available
>             Fix For: 2.0.0
>
>
> Currently the BlockCache interface has functions to get and put.  Accumulo 
> will try to get a block, if it does not exist load it, and then put it in the 
> cache.  This can lead to race conditions where multiple threads unnecessarily 
> load the same block.
> I think it would be better to modify the block cache interface to only have a 
> function like the following.  
> {code:java}
>   CacheEntry get(String blockName, BlockLoader loader)
> {code} 
> BlockLoader represents a function that the cache can call if a block is not 
> present.  The cache implementation can attempt to handle load race conditions 
> however it likes..



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to