[ https://issues.apache.org/jira/browse/HBASE-3587?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Gary Helmling resolved HBASE-3587. ---------------------------------- Resolution: Fixed Fix Version/s: 0.92.0 Committed to trunk > 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