[
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)