Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
-
Reviewed
Description
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.