hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Yu Li (JIRA)" <j...@apache.org>
Subject [jira] [Created] (HBASE-18085) Prevent parallel purge in ObjectPool
Date Fri, 19 May 2017 19:05:04 GMT
Yu Li created HBASE-18085:
-----------------------------

             Summary: Prevent parallel purge in ObjectPool
                 Key: HBASE-18085
                 URL: https://issues.apache.org/jira/browse/HBASE-18085
             Project: HBase
          Issue Type: Bug
            Reporter: Yu Li
            Assignee: Yu Li


Parallel purge in ObjectPool is meaningless and will cause contention issue since {{ReferenceQueue#poll}}
has synchronization (source code shown below)
{code}
    public Reference<? extends T> poll() {
        if (head == null)
            return null;
        synchronized (lock) {
            return reallyPoll();
        }
    }
{code}

We observed threads blocking on the purge method while using offheap bucket cache, and we
could easily reproduce this by testing the 100% cache hit case in bucket cache with enough
reading threads.

We propose to add a purgeLock and use tryLock to avoid parallel purge.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Mime
View raw message