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


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

Reply via email to