[ 
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

        

Reply via email to