kgeisz opened a new pull request, #7964:
URL: https://github.com/apache/hbase/pull/7964

   https://issues.apache.org/jira/browse/HBASE-29965
   
   # Summary
   
   This pull request fixes an issue where dynamic configuration for 
`hbase.global.readonly.enabled` was not working.  If the user changed the 
boolean value for `hbase.global.readonly.enabled` in hbase-site.xml, saved the 
file, and then ran `update_all_config`, then the new config value was not being 
set in HBase.  This was happening because the 
`ConfigurationManager.notifyAllObservers()` method was not getting the updated 
value for `hbase.global.readonly.enabled`.  I was able to fix this by making 
sure `CoprocessorConfigurationUtil.syncReadOnlyConfigurations()` was not 
directly setting the conf value.
   
   # Key Changes
   
   - Adds a read-only instance variable to `HMaster`, `HRegionServer`, and 
`HRegion`.
     - This is used to track whether the read-only mode has been changed when 
`update_all_config` triggers the `onConfigurationChange()` method for each 
`ConfigurationObserver`.
   - Enabling/disabling read-only mode is now handled in the 
`onConfigurationChange()` method for `HMaster`, `HRegionServer`, and `HRegion`.
   - Updated `CoprocessorConfigurationUtil.syncReadOnlyConfigurations()` to 
have it only handle updating coprocessor lists rather than having it also 
handle updating `hbase.global.readonly.enabled` in the configuration.
   - Updates when `syncReadOnlyConfigurations()` is run in the 
`onConfigurationChange()` methods.  It is now run when the global read-only 
status has changed or when there has been a change in the coprocessor 
configuration.
   - Removes the read-only variable from the `syncReadOnlyConfigurations()` 
method signature.
     - `syncReadOnlyConfigurations()` is now either used when initializing a 
master, region server, or region, or when a configuration change has occurred.  
This means the method is always using the "most up-to-date" version of the 
configuration, so it can get the read-only mode from the configuration itself.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to