Jaehui Lee created HBASE-29526:
----------------------------------
Summary: Dynamic configuration not working for coprocessor
Key: HBASE-29526
URL: https://issues.apache.org/jira/browse/HBASE-29526
Project: HBase
Issue Type: Bug
Components: Coprocessors
Affects Versions: 2.5.12
Reporter: Jaehui Lee
Assignee: Jaehui Lee
h2. Problem
Dynamic configuration support for coprocessors was added in
https://issues.apache.org/jira/browse/HBASE-26810.
When applying dynamic config to Region Coprocessors, the config changes are not
being applied properly.
After adding the following config and executing the shell command, the
coprocessors in existing regions were not updated as expected.
{code:xml}
<name>hbase.coprocessor.region.classes</name><value>...,org.apache.hadoop.hbase.NewCoprocessor</value>
{code}
{code:sh}
hbase shell> update_all_config
{code}
The same issue also affects RegionServer and Master Coprocessors.
h2. Root Cause
When updating dynamic config, the system reloads the Configuration object and
then propagates the changes to child observers.
HMaster, HRegionServer, and HRegion all compare coprocessor-related config
values between the current config and the newly received one. If changes are
detected, they create new coprocessors.
However, since the Configuration object has already been reloaded at this
point, both the current config and the received config are identical.
This causes the system to always determine that no configuration changes have
occurred, resulting in coprocessors not being loaded.
h2. Proposed Solution
Compare the currently loaded coprocessor list with the updated configuration
settings. If changes are detected, reload the coprocessors accordingly.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)