[ https://issues.apache.org/jira/browse/HBASE-3759?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Gary Helmling resolved HBASE-3759. ---------------------------------- Resolution: Fixed Fix Version/s: 0.92.0 Hadoop Flags: [Reviewed] Committed to trunk. Thanks for review Stack! > Eliminate use of ThreadLocals for CoprocessorEnvironment bypass() and > complete() > -------------------------------------------------------------------------------- > > Key: HBASE-3759 > URL: https://issues.apache.org/jira/browse/HBASE-3759 > Project: HBase > Issue Type: Improvement > Components: coprocessors > Reporter: Gary Helmling > Assignee: Gary Helmling > Fix For: 0.92.0 > > Attachments: HBASE-3759.patch, cp_bypass.tar.gz > > > In the current coprocessor framework, ThreadLocal objects are used for the > bypass and complete booleans in CoprocessorEnvironment. This allows the > *CoprocessorHost implementations to identify when to short-circuit processing > the the preXXX and postXXX hook methods. > Profiling the region server, however, shows that these ThreadLocals can > become a contention point when on a hot code path (such as prePut()). We > should refactor the CoprocessorHost pre/post implementations to remove usage > of the ThreadLocal variables and replace them with locally scoped variables > to eliminate contention between handler threads. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira