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/04 19:36:05 UTC

[jira] [Assigned] (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:all-tabpanel ]

Gary Helmling reassigned HBASE-3587:
------------------------------------

    Assignee: Gary Helmling

> 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