[ https://issues.apache.org/jira/browse/HBASE-4482?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13114381#comment-13114381 ]
Li Pi commented on HBASE-4482: ------------------------------ Problem: Steady State: SingleSizeCache and SlabCache both contain key "A" Thread A: Caches something, starting eviction of Key A. Thread B: Checks for Key A -> Returns Gets Null, as eviction has begun Thread B: Recaches Key A, gets to SingleSizeCache, does not get the PutIfAbsentLoop yet... Thread C: Caches another key, starting the second eviction of Key A. Thread A: does its onEviction, removing the entry of Key A from SlabCache. Thread C: does its onEviction, removing the (blank) entry of Key A from SlabCache: Thread B: goes to putifabsent, and puts its entry into SlabCache end result: Key A in SlabCache, but not in SingleSizeCache. When Key A is recached, it will stall at putifAbsent forever. This causes the test to hang, and build to not pass. > Race Condition Concerning Eviction in SlabCache > ----------------------------------------------- > > Key: HBASE-4482 > URL: https://issues.apache.org/jira/browse/HBASE-4482 > Project: HBase > Issue Type: Sub-task > Reporter: Li Pi > Assignee: Li Pi > Fix For: 0.92.0 > > -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira