Skip to content

Hbase-24764 : Add support of adding base peer configs via hbase-site.xml for all replication peers - #2327

Merged
bharathv merged 4 commits into
apache:branch-1from
ankitjain64:HBASE-24764_branch-1
Sep 17, 2020
Merged

Hbase-24764 : Add support of adding base peer configs via hbase-site.xml for all replication peers#2327
bharathv merged 4 commits into
apache:branch-1from
ankitjain64:HBASE-24764_branch-1

Conversation

@ankitjain64

@ankitjain64ankitjain64 commented Aug 29, 2020

Copy link
Copy Markdown
Contributor

JIRA: https://issues.apache.org/jira/browse/HBASE-24764

JIRA Description:

Today, if a user needs to apply some common base peer configs to all the replication peers on the cluster, the only way is to execute update_peer_config via CLI which requires manual intervention and can be tedious in case of large deployment fleet.

As part of this JIRA, we plan to add the support to have base replication peer configs as part of hbase-site.xml like hbase.replication.peer.base.config="k1=v1;k2=v2.." which can be easily updated and applied as part of a rolling restart.

Example below:

 <property> <name>hbase.replication.peer.base.configs</name>
<value>hbase.replication.source.custom.walentryfilters=x,y,z;hbase.rpc.protection=abc;hbase.xxx.custom_property=123</value>
</property>

This property will be empty by default, but user can override to have base configs in place.

The final peer configuration would be a merge of whatever is currently present or what users override during the peer creation/update (if any) + this newly added base config.

Related Jira: https://issues.apache.org/jira/browse/HBASE-17543. HBASE-17543 added the support to add the WALEntryFilters to default endpoint via peer configuration.
By this new Jira we are extending the support to update peer configs via hbase-site.xml and hence WalEntryFilters or any other peer property can be applied just by rolling restart.

master branch PR : #2284

@Apache-HBase

Copy link
Copy Markdown

💔 -1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec0m 33sDocker mode activated.
_ Prechecks _
+1 💚dupname0m 0sNo case conflicting files found.
+1 💚hbaseanti0m 0sPatch does not have any anti-patterns.
+1 💚@author0m 0sThe patch does not contain any @author tags.
+1 💚test4tests0m 0sThe patch appears to include 1 new or modified test files.
_ branch-1 Compile Tests _
+0 🆗mvndep2m 22sMaven dependency ordering for branch
+1 💚mvninstall8m 18sbranch-1 passed
+1 💚compile1m 0sbranch-1 passed with JDK v1.8.0_262
+1 💚compile1m 8sbranch-1 passed with JDK v1.7.0_272
+1 💚checkstyle2m 9sbranch-1 passed
+1 💚shadedjars2m 58sbranch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 59sbranch-1 passed with JDK v1.8.0_262
+1 💚javadoc1m 3sbranch-1 passed with JDK v1.7.0_272
+0 🆗spotbugs2m 44sUsed deprecated FindBugs config; considering switching to SpotBugs.
+1 💚findbugs4m 19sbranch-1 passed
_ Patch Compile Tests _
+0 🆗mvndep0m 17sMaven dependency ordering for patch
+1 💚mvninstall1m 54sthe patch passed
+1 💚compile0m 58sthe patch passed with JDK v1.8.0_262
+1 💚javac0m 58sthe patch passed
+1 💚compile1m 7sthe patch passed with JDK v1.7.0_272
+1 💚javac1m 7sthe patch passed
-1 ❌checkstyle0m 33shbase-client: The patch generated 1 new + 6 unchanged - 0 fixed = 7 total (was 6)
+1 💚whitespace0m 0sThe patch has no whitespace issues.
+1 💚shadedjars2m 47spatch has no errors when building our shaded downstream artifacts.
+1 💚hadoopcheck4m 33sPatch does not cause any errors with Hadoop 2.8.5 2.9.2.
+1 💚javadoc0m 51sthe patch passed with JDK v1.8.0_262
+1 💚javadoc1m 6sthe patch passed with JDK v1.7.0_272
+1 💚findbugs4m 20sthe patch passed
_ Other Tests _
+1 💚unit2m 42shbase-client in the patch passed.
+1 💚unit121m 1shbase-server in the patch passed.
+1 💚asflicense0m 47sThe patch does not generate ASF License warnings.
173m 6s
SubsystemReport/Notes
DockerClient=19.03.12 Server=19.03.12 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2327/1/artifact/out/Dockerfile
GITHUB PR#2327
Optional Testsdupname asflicense javac javadoc unit spotbugs findbugs shadedjars hadoopcheck hbaseanti checkstyle compile
unameLinux c9dbf305aeeb 4.15.0-60-generic #67-Ubuntu SMP Thu Aug 22 16:55:30 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personality/home/jenkins/jenkins-agent/workspace/Base-PreCommit-GitHub-PR_PR-2327/out/precommit/personality/provided.sh
git revisionbranch-1 / 31e47af
Default Java1.7.0_272
Multi-JDK versions/usr/lib/jvm/zulu-8-amd64:1.8.0_262 /usr/lib/jvm/zulu-7-amd64:1.7.0_272
checkstylehttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2327/1/artifact/out/diff-checkstyle-hbase-client.txt
Test Resultshttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2327/1/testReport/
Max. process+thread count4357 (vs. ulimit of 10000)
modulesC: hbase-client hbase-server U: .
Console outputhttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2327/1/console
versionsgit=1.9.1 maven=3.0.5 findbugs=3.0.1
Powered byApache Yetus 0.11.1 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase

Copy link
Copy Markdown

💔 -1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec6m 54sDocker mode activated.
_ Prechecks _
+1 💚dupname0m 0sNo case conflicting files found.
+1 💚hbaseanti0m 0sPatch does not have any anti-patterns.
+1 💚@author0m 0sThe patch does not contain any @author tags.
+1 💚test4tests0m 0sThe patch appears to include 1 new or modified test files.
_ branch-1 Compile Tests _
+0 🆗mvndep2m 26sMaven dependency ordering for branch
+1 💚mvninstall8m 5sbranch-1 passed
+1 💚compile1m 0sbranch-1 passed with JDK v1.8.0_262
+1 💚compile1m 8sbranch-1 passed with JDK v1.7.0_272
+1 💚checkstyle2m 14sbranch-1 passed
+1 💚shadedjars3m 1sbranch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 59sbranch-1 passed with JDK v1.8.0_262
+1 💚javadoc1m 7sbranch-1 passed with JDK v1.7.0_272
+0 🆗spotbugs2m 40sUsed deprecated FindBugs config; considering switching to SpotBugs.
+1 💚findbugs4m 17sbranch-1 passed
_ Patch Compile Tests _
+0 🆗mvndep0m 18sMaven dependency ordering for patch
+1 💚mvninstall1m 58sthe patch passed
+1 💚compile1m 1sthe patch passed with JDK v1.8.0_262
+1 💚javac1m 1sthe patch passed
+1 💚compile1m 8sthe patch passed with JDK v1.7.0_272
+1 💚javac1m 8sthe patch passed
+1 💚checkstyle2m 6sthe patch passed
+1 💚whitespace0m 0sThe patch has no whitespace issues.
+1 💚shadedjars2m 50spatch has no errors when building our shaded downstream artifacts.
+1 💚hadoopcheck4m 35sPatch does not cause any errors with Hadoop 2.8.5 2.9.2.
+1 💚javadoc0m 50sthe patch passed with JDK v1.8.0_262
+1 💚javadoc1m 6sthe patch passed with JDK v1.7.0_272
+1 💚findbugs4m 20sthe patch passed
_ Other Tests _
+1 💚unit2m 42shbase-client in the patch passed.
-1 ❌unit123m 52shbase-server in the patch failed.
+1 💚asflicense0m 50sThe patch does not generate ASF License warnings.
182m 33s
ReasonTests
Failed junit testshadoop.hbase.replication.TestReplicationKillSlaveRS
SubsystemReport/Notes
DockerClient=19.03.12 Server=19.03.12 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2327/2/artifact/out/Dockerfile
GITHUB PR#2327
Optional Testsdupname asflicense javac javadoc unit spotbugs findbugs shadedjars hadoopcheck hbaseanti checkstyle compile
unameLinux 2313d063eb29 4.15.0-58-generic #64-Ubuntu SMP Tue Aug 6 11:12:41 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personality/home/jenkins/jenkins-home/workspace/Base-PreCommit-GitHub-PR_PR-2327/out/precommit/personality/provided.sh
git revisionbranch-1 / 041debd
Default Java1.7.0_272
Multi-JDK versions/usr/lib/jvm/zulu-8-amd64:1.8.0_262 /usr/lib/jvm/zulu-7-amd64:1.7.0_272
unithttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2327/2/artifact/out/patch-unit-hbase-server.txt
Test Resultshttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2327/2/testReport/
Max. process+thread count4394 (vs. ulimit of 10000)
modulesC: hbase-client hbase-server U: .
Console outputhttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2327/2/console
versionsgit=1.9.1 maven=3.0.5 findbugs=3.0.1
Powered byApache Yetus 0.11.1 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase

Copy link
Copy Markdown

🎊 +1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec0m 39sDocker mode activated.
_ Prechecks _
+1 💚dupname0m 1sNo case conflicting files found.
+1 💚hbaseanti0m 0sPatch does not have any anti-patterns.
+1 💚@author0m 0sThe patch does not contain any @author tags.
+1 💚test4tests0m 0sThe patch appears to include 1 new or modified test files.
_ branch-1 Compile Tests _
+0 🆗mvndep2m 27sMaven dependency ordering for branch
+1 💚mvninstall8m 22sbranch-1 passed
+1 💚compile1m 1sbranch-1 passed with JDK v1.8.0_262
+1 💚compile1m 11sbranch-1 passed with JDK v1.7.0_272
+1 💚checkstyle2m 23sbranch-1 passed
+1 💚shadedjars3m 5sbranch has no errors when building our shaded downstream artifacts.
+1 💚javadoc1m 2sbranch-1 passed with JDK v1.8.0_262
+1 💚javadoc1m 9sbranch-1 passed with JDK v1.7.0_272
+0 🆗spotbugs2m 44sUsed deprecated FindBugs config; considering switching to SpotBugs.
+1 💚findbugs4m 21sbranch-1 passed
_ Patch Compile Tests _
+0 🆗mvndep0m 18sMaven dependency ordering for patch
+1 💚mvninstall1m 58sthe patch passed
+1 💚compile1m 2sthe patch passed with JDK v1.8.0_262
+1 💚javac1m 2sthe patch passed
+1 💚compile1m 7sthe patch passed with JDK v1.7.0_272
+1 💚javac1m 7sthe patch passed
+1 💚checkstyle2m 11sthe patch passed
+1 💚whitespace0m 0sThe patch has no whitespace issues.
+1 💚shadedjars2m 54spatch has no errors when building our shaded downstream artifacts.
+1 💚hadoopcheck4m 43sPatch does not cause any errors with Hadoop 2.8.5 2.9.2.
+1 💚javadoc0m 54sthe patch passed with JDK v1.8.0_262
+1 💚javadoc1m 5sthe patch passed with JDK v1.7.0_272
+1 💚findbugs4m 28sthe patch passed
_ Other Tests _
+1 💚unit2m 43shbase-client in the patch passed.
+1 💚unit133m 18shbase-server in the patch passed.
+1 💚asflicense0m 58sThe patch does not generate ASF License warnings.
187m 5s
SubsystemReport/Notes
DockerClient=19.03.12 Server=19.03.12 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2327/3/artifact/out/Dockerfile
GITHUB PR#2327
Optional Testsdupname asflicense javac javadoc unit spotbugs findbugs shadedjars hadoopcheck hbaseanti checkstyle compile
unameLinux b9a3432f1cee 4.15.0-58-generic #64-Ubuntu SMP Tue Aug 6 11:12:41 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personality/home/jenkins/jenkins-home/workspace/Base-PreCommit-GitHub-PR_PR-2327/out/precommit/personality/provided.sh
git revisionbranch-1 / 80ce76c
Default Java1.7.0_272
Multi-JDK versions/usr/lib/jvm/zulu-8-amd64:1.8.0_262 /usr/lib/jvm/zulu-7-amd64:1.7.0_272
Test Resultshttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2327/3/testReport/
Max. process+thread count4400 (vs. ulimit of 10000)
modulesC: hbase-client hbase-server U: .
Console outputhttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2327/3/console
versionsgit=1.9.1 maven=3.0.5 findbugs=3.0.1
Powered byApache Yetus 0.11.1 https://yetus.apache.org

This message was automatically generated.

@ankitjain64

Copy link
Copy Markdown
ContributorAuthor

@bharathv : Can you please have a look at this ? This is for branch-1.

@bharathv

Copy link
Copy Markdown
Contributor

Will do, waiting for a +1 from Stack on the original PR and then I can sign off on this.

@ankitjain64

Copy link
Copy Markdown
ContributorAuthor

@bharathv : Can you take a look at this. Thanks.

@bharathvbharathv left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add a quick note in the commit message about how the replication design changes from branch-1 vs other branches affect this? (The part about multiple RS updating the ZK state and the last RPC wins and if there is a divergence in configuration across RS, the end result may be non-deterministic).

String configName = entry.getKey();
String configValue = entry.getValue();
// Only override if base config does not exist in existing replication peer configs
if (!receivedPeerConfigMap.containsKey(configName)) {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: just use this.configuration directly?

…t to other branch for Hbase-24764. branch-1 does not have master based coordination for replication like master branch , and hence each RS is responsible for initing peers and updating ZK states. As part of this change we are updating zk state of peers after reading from configuration, so if there is a divergence in configuration across RS the result can be can be non-deteministic and the last RS RPC will win.
@Apache-HBase

Copy link
Copy Markdown

🎊 +1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec6m 57sDocker mode activated.
_ Prechecks _
+1 💚dupname0m 0sNo case conflicting files found.
+1 💚hbaseanti0m 0sPatch does not have any anti-patterns.
+1 💚@author0m 0sThe patch does not contain any @author tags.
+1 💚test4tests0m 0sThe patch appears to include 1 new or modified test files.
_ branch-1 Compile Tests _
+0 🆗mvndep2m 26sMaven dependency ordering for branch
+1 💚mvninstall8m 5sbranch-1 passed
+1 💚compile1m 7sbranch-1 passed with JDK v1.8.0_262
+1 💚compile1m 14sbranch-1 passed with JDK v1.7.0_272
+1 💚checkstyle2m 25sbranch-1 passed
+1 💚shadedjars3m 31sbranch has no errors when building our shaded downstream artifacts.
+1 💚javadoc1m 10sbranch-1 passed with JDK v1.8.0_262
+1 💚javadoc1m 24sbranch-1 passed with JDK v1.7.0_272
+0 🆗spotbugs3m 9sUsed deprecated FindBugs config; considering switching to SpotBugs.
+1 💚findbugs5m 0sbranch-1 passed
_ Patch Compile Tests _
+0 🆗mvndep0m 19sMaven dependency ordering for patch
+1 💚mvninstall2m 9sthe patch passed
+1 💚compile1m 9sthe patch passed with JDK v1.8.0_262
+1 💚javac1m 9sthe patch passed
+1 💚compile1m 15sthe patch passed with JDK v1.7.0_272
+1 💚javac1m 15sthe patch passed
+1 💚checkstyle2m 23sthe patch passed
+1 💚whitespace0m 0sThe patch has no whitespace issues.
+1 💚shadedjars3m 10spatch has no errors when building our shaded downstream artifacts.
+1 💚hadoopcheck5m 17sPatch does not cause any errors with Hadoop 2.8.5 2.9.2.
+1 💚javadoc1m 8sthe patch passed with JDK v1.8.0_262
+1 💚javadoc1m 45sthe patch passed with JDK v1.7.0_272
+1 💚findbugs7m 27sthe patch passed
_ Other Tests _
+1 💚unit2m 52shbase-client in the patch passed.
+1 💚unit143m 52shbase-server in the patch passed.
+1 💚asflicense0m 52sThe patch does not generate ASF License warnings.
211m 28s
SubsystemReport/Notes
DockerClient=19.03.12 Server=19.03.12 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2327/4/artifact/out/Dockerfile
GITHUB PR#2327
Optional Testsdupname asflicense javac javadoc unit spotbugs findbugs shadedjars hadoopcheck hbaseanti checkstyle compile
unameLinux 0b60862defd6 4.15.0-60-generic #67-Ubuntu SMP Thu Aug 22 16:55:30 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personality/home/jenkins/jenkins-agent/workspace/Base-PreCommit-GitHub-PR_PR-2327/out/precommit/personality/provided.sh
git revisionbranch-1 / 7801b45
Default Java1.7.0_272
Multi-JDK versions/usr/lib/jvm/zulu-8-amd64:1.8.0_262 /usr/lib/jvm/zulu-7-amd64:1.7.0_272
Test Resultshttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2327/4/testReport/
Max. process+thread count4613 (vs. ulimit of 10000)
modulesC: hbase-client hbase-server U: .
Console outputhttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2327/4/console
versionsgit=1.9.1 maven=3.0.5 findbugs=3.0.1
Powered byApache Yetus 0.11.1 https://yetus.apache.org

This message was automatically generated.

@bharathv
bharathv merged commit f0acafc into apache:branch-1Sep 17, 2020
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@ankitjain64@Apache-HBase@bharathv