[ 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)