Conversation
|
Hi @charlesconnell, I have made some changes for the Read-Replica feature (PR #8044) based on your review comments. Can you please take a look when you have time? |
Change-Id: Ib7ff9d449f7368153bc67f0bd2d6a7ca591900e8
7e57d21 to
4899a4e
Compare
| public void run() { | ||
| try { | ||
| installShutdownHook(); | ||
| registerConfigurationObservers(); |
There was a problem hiding this comment.
This was removed in PR #6931, so I am adding it back here
| private void initializeCoprocessorHost(Configuration conf) { | ||
| // initialize master side coprocessors before we start handling requests | ||
| this.cpHost = new MasterCoprocessorHost(this, conf); | ||
| registerConfigurationObservers(); |
There was a problem hiding this comment.
This was added in PR #6931, so I am removing it again.
|
The failed unit tests are not relevant. I ran them again locally and they all passed. |
| CoprocessorConfigurationUtil.updateCoprocessorListInConf(this.conf, conf, | ||
| CoprocessorHost.MASTER_COPROCESSOR_CONF_KEY); |
There was a problem hiding this comment.
I added this to satisfy a unit test in TestReadOnlyControllerCoprocessorLoading. The dynamic configuration worked as expected without this in local deployments or in a docker container setup.
| CoprocessorConfigurationUtil.updateCoprocessorListInConf(this.conf, conf, | ||
| CoprocessorHost.REGION_COPROCESSOR_CONF_KEY); |
There was a problem hiding this comment.
I added this to satisfy a unit test in TestReadOnlyControllerCoprocessorLoading. The dynamic configuration worked as expected without this in local deployments or in a docker container setup.
| CoprocessorConfigurationUtil.updateCoprocessorListInConf(this.conf, conf, | ||
| CoprocessorHost.REGIONSERVER_COPROCESSOR_CONF_KEY); |
There was a problem hiding this comment.
I added this to satisfy a unit test in TestReadOnlyControllerCoprocessorLoading. The dynamic configuration worked as expected without this in local deployments or in a docker container setup.
This pull request addresses several comments in the review for PR #8044. This PR makes the following changes:
CoprocessorConfigurationUtil.maybeUpdateCoprocessors(). The message logs the component name (Master/Region Server/Region), as well as the object'sthis.toString()for clarity.Read-Only mode is now tracked by checking whether the ReadOnlyController coprocessors are present, rather than using an instance variable in HMaster, HRegionServer, and HRegion. If the coprocessors are present, then read-only mode is assumed to be active.
Removed dynamic configuration for coprocessors, which was introduced in PR HBASE-29236: Add Support for Dynamic Configuration at the Coprocessor Level #6931 and is no longer needed.
The
onConfigurationChange()method for HMaster, HRegionServer, and HRegion now use the lambda function'sconfvariable inmaybeUpdateCoprocessors().Removes extra portion of documentation for
HBASE_META_TABLE_SUFFIX.The lambda function provided as an arg for
maybeUpdateCoprocessors()inHMaster/HRegionServer/HRegion.onConfigurationChange()now also updates the class'this.confinstance variable to have the correct loaded coprocessors. This was necessary to prevent unit test failures inTestReadOnlyControllerCoprocessorLoading.