accumulo-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Keith Turner (JIRA)" <>
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
             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.  

  CacheEntry get(String blockName, BlockLoader loader)

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

View raw message