You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Gary Helmling (JIRA)" <ji...@apache.org> on 2011/04/06 23:52:05 UTC

[jira] [Commented] (HBASE-3587) Eliminate use of ReadWriteLock in RegionObserver coprocessor invocation

    [ https://issues.apache.org/jira/browse/HBASE-3587?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13016566#comment-13016566 ] 

Gary Helmling commented on HBASE-3587:
--------------------------------------

Posted patch for review at: https://review.cloudera.org/r/1681/

> Eliminate use of ReadWriteLock in RegionObserver coprocessor invocation
> -----------------------------------------------------------------------
>
>                 Key: HBASE-3587
>                 URL: https://issues.apache.org/jira/browse/HBASE-3587
>             Project: HBase
>          Issue Type: Improvement
>          Components: coprocessors
>            Reporter: Gary Helmling
>            Assignee: Gary Helmling
>
> Follow-up to a discussion on the dev list: http://search-hadoop.com/m/jOovV1uAJBP
> The CoprocessorHost ReentrantReadWriteLock is imposing some overhead on data read/write operations, even when no coprocessors are loaded.  Currently execution of RegionCoprocessorHost pre/postXXX() methods are guarded by acquiring the coprocessor read lock.  This is used to prevent coprocessor registration from modifying the coprocessor collection while upcall hooks are in progress.
> On further discussion, and looking at the locking in HRegion, it should be sufficient to just use a CopyOnWriteArrayList for the coprocessor collection.  We can then remove the coprocessor lock and eliminate the associated overhead without having to special case the "no loaded coprocessors" condition.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira