accumulo-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Keith Turner (JIRA)" <j...@apache.org>
Subject [jira] [Resolved] (ACCUMULO-4641) Modify BlockCache interface to avoid race conditions
Date Thu, 15 Feb 2018 17:10:00 GMT

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

Keith Turner resolved ACCUMULO-4641.
------------------------------------
    Resolution: Fixed

> 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
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 2.0.0
>
>          Time Spent: 2h 20m
>  Remaining Estimate: 0h
>
> 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
(v7.6.3#76005)

Mime
View raw message