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] [Created] (ACCUMULO-4641) Modify BlockCache interface to avoid race conditions
Date Fri, 19 May 2017 17:04:04 GMT
Keith Turner created ACCUMULO-4641:
--------------------------------------

             Summary: 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
             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.3.15#6346)

Mime
View raw message