[ 
https://issues.apache.org/jira/browse/HBASE-29526?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tak-Lon (Stephen) Wu resolved HBASE-29526.
------------------------------------------
    Hadoop Flags: Reviewed
    Release Note: This change fixed the dynamic configuration for coprocessor.
      Resolution: Fixed

> 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: 3.0.0, 4.0.0-alpha-1, 2.7.0, 2.5.12, 2.6.5
>            Reporter: Jaehui Lee
>            Assignee: Jaehui Lee
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 3.0.0, 4.0.0-alpha-1, 2.7.0, 2.6.5
>
>
> h2. Problem
> Dynamic configuration support for coprocessors was added in 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>...</value>
> {code}
> {code:sh}
> hbase shell> update_all_config
> {code}
> Existing regions do not load the coprocessors after dynamic configuration 
> updates.
> However, newly created regions do load the coprocessors correctly.
> 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