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)

Reply via email to