[
https://issues.apache.org/jira/browse/HBASE-3587?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13016739#comment-13016739
]
Hudson commented on HBASE-3587:
-------------------------------
Integrated in HBase-TRUNK #1836 (See
[https://hudson.apache.org/hudson/job/HBase-TRUNK/1836/])
> 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
> Fix For: 0.92.0
>
> Attachments: HBASE-3587.patch
>
>
> 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