Skip to content

Conversation

@ankitjain64
Copy link
Contributor

@ankitjain64 ankitjain64 commented Aug 29, 2020

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

💔 -1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 0m 33s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 0s No case conflicting files found.
+1 💚 hbaseanti 0m 0s Patch does not have any anti-patterns.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
+1 💚 test4tests 0m 0s The patch appears to include 1 new or modified test files.
_ branch-1 Compile Tests _
+0 🆗 mvndep 2m 22s Maven dependency ordering for branch
+1 💚 mvninstall 8m 18s branch-1 passed
+1 💚 compile 1m 0s branch-1 passed with JDK v1.8.0_262
+1 💚 compile 1m 8s branch-1 passed with JDK v1.7.0_272
+1 💚 checkstyle 2m 9s branch-1 passed
+1 💚 shadedjars 2m 58s branch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 0m 59s branch-1 passed with JDK v1.8.0_262
+1 💚 javadoc 1m 3s branch-1 passed with JDK v1.7.0_272
+0 🆗 spotbugs 2m 44s Used deprecated FindBugs config; considering switching to SpotBugs.
+1 💚 findbugs 4m 19s branch-1 passed
_ Patch Compile Tests _
+0 🆗 mvndep 0m 17s Maven dependency ordering for patch
+1 💚 mvninstall 1m 54s the patch passed
+1 💚 compile 0m 58s the patch passed with JDK v1.8.0_262
+1 💚 javac 0m 58s the patch passed
+1 💚 compile 1m 7s the patch passed with JDK v1.7.0_272
+1 💚 javac 1m 7s the patch passed
-1 ❌ checkstyle 0m 33s hbase-client: The patch generated 1 new + 6 unchanged - 0 fixed = 7 total (was 6)
+1 💚 whitespace 0m 0s The patch has no whitespace issues.
+1 💚 shadedjars 2m 47s patch has no errors when building our shaded downstream artifacts.
+1 💚 hadoopcheck 4m 33s Patch does not cause any errors with Hadoop 2.8.5 2.9.2.
+1 💚 javadoc 0m 51s the patch passed with JDK v1.8.0_262
+1 💚 javadoc 1m 6s the patch passed with JDK v1.7.0_272
+1 💚 findbugs 4m 20s the patch passed
_ Other Tests _
+1 💚 unit 2m 42s hbase-client in the patch passed.
+1 💚 unit 121m 1s hbase-server in the patch passed.
+1 💚 asflicense 0m 47s The patch does not generate ASF License warnings.
173m 6s
Subsystem Report/Notes
Docker Client=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 Tests dupname asflicense javac javadoc unit spotbugs findbugs shadedjars hadoopcheck hbaseanti checkstyle compile
uname Linux 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 tool maven
Personality /home/jenkins/jenkins-agent/workspace/Base-PreCommit-GitHub-PR_PR-2327/out/precommit/personality/provided.sh
git revision branch-1 / 31e47af
Default Java 1.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
checkstyle https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2327/1/artifact/out/diff-checkstyle-hbase-client.txt
Test Results https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2327/1/testReport/
Max. process+thread count 4357 (vs. ulimit of 10000)
modules C: hbase-client hbase-server U: .
Console output https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2327/1/console
versions git=1.9.1 maven=3.0.5 findbugs=3.0.1
Powered by Apache Yetus 0.11.1 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase
Copy link

💔 -1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 6m 54s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 0s No case conflicting files found.
+1 💚 hbaseanti 0m 0s Patch does not have any anti-patterns.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
+1 💚 test4tests 0m 0s The patch appears to include 1 new or modified test files.
_ branch-1 Compile Tests _
+0 🆗 mvndep 2m 26s Maven dependency ordering for branch
+1 💚 mvninstall 8m 5s branch-1 passed
+1 💚 compile 1m 0s branch-1 passed with JDK v1.8.0_262
+1 💚 compile 1m 8s branch-1 passed with JDK v1.7.0_272
+1 💚 checkstyle 2m 14s branch-1 passed
+1 💚 shadedjars 3m 1s branch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 0m 59s branch-1 passed with JDK v1.8.0_262
+1 💚 javadoc 1m 7s branch-1 passed with JDK v1.7.0_272
+0 🆗 spotbugs 2m 40s Used deprecated FindBugs config; considering switching to SpotBugs.
+1 💚 findbugs 4m 17s branch-1 passed
_ Patch Compile Tests _
+0 🆗 mvndep 0m 18s Maven dependency ordering for patch
+1 💚 mvninstall 1m 58s the patch passed
+1 💚 compile 1m 1s the patch passed with JDK v1.8.0_262
+1 💚 javac 1m 1s the patch passed
+1 💚 compile 1m 8s the patch passed with JDK v1.7.0_272
+1 💚 javac 1m 8s the patch passed
+1 💚 checkstyle 2m 6s the patch passed
+1 💚 whitespace 0m 0s The patch has no whitespace issues.
+1 💚 shadedjars 2m 50s patch has no errors when building our shaded downstream artifacts.
+1 💚 hadoopcheck 4m 35s Patch does not cause any errors with Hadoop 2.8.5 2.9.2.
+1 💚 javadoc 0m 50s the patch passed with JDK v1.8.0_262
+1 💚 javadoc 1m 6s the patch passed with JDK v1.7.0_272
+1 💚 findbugs 4m 20s the patch passed
_ Other Tests _
+1 💚 unit 2m 42s hbase-client in the patch passed.
-1 ❌ unit 123m 52s hbase-server in the patch failed.
+1 💚 asflicense 0m 50s The patch does not generate ASF License warnings.
182m 33s
Reason Tests
Failed junit tests hadoop.hbase.replication.TestReplicationKillSlaveRS
Subsystem Report/Notes
Docker Client=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 Tests dupname asflicense javac javadoc unit spotbugs findbugs shadedjars hadoopcheck hbaseanti checkstyle compile
uname Linux 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 tool maven
Personality /home/jenkins/jenkins-home/workspace/Base-PreCommit-GitHub-PR_PR-2327/out/precommit/personality/provided.sh
git revision branch-1 / 041debd
Default Java 1.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
unit https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2327/2/artifact/out/patch-unit-hbase-server.txt
Test Results https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2327/2/testReport/
Max. process+thread count 4394 (vs. ulimit of 10000)
modules C: hbase-client hbase-server U: .
Console output https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2327/2/console
versions git=1.9.1 maven=3.0.5 findbugs=3.0.1
Powered by Apache Yetus 0.11.1 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase
Copy link

🎊 +1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 0m 39s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 1s No case conflicting files found.
+1 💚 hbaseanti 0m 0s Patch does not have any anti-patterns.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
+1 💚 test4tests 0m 0s The patch appears to include 1 new or modified test files.
_ branch-1 Compile Tests _
+0 🆗 mvndep 2m 27s Maven dependency ordering for branch
+1 💚 mvninstall 8m 22s branch-1 passed
+1 💚 compile 1m 1s branch-1 passed with JDK v1.8.0_262
+1 💚 compile 1m 11s branch-1 passed with JDK v1.7.0_272
+1 💚 checkstyle 2m 23s branch-1 passed
+1 💚 shadedjars 3m 5s branch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 1m 2s branch-1 passed with JDK v1.8.0_262
+1 💚 javadoc 1m 9s branch-1 passed with JDK v1.7.0_272
+0 🆗 spotbugs 2m 44s Used deprecated FindBugs config; considering switching to SpotBugs.
+1 💚 findbugs 4m 21s branch-1 passed
_ Patch Compile Tests _
+0 🆗 mvndep 0m 18s Maven dependency ordering for patch
+1 💚 mvninstall 1m 58s the patch passed
+1 💚 compile 1m 2s the patch passed with JDK v1.8.0_262
+1 💚 javac 1m 2s the patch passed
+1 💚 compile 1m 7s the patch passed with JDK v1.7.0_272
+1 💚 javac 1m 7s the patch passed
+1 💚 checkstyle 2m 11s the patch passed
+1 💚 whitespace 0m 0s The patch has no whitespace issues.
+1 💚 shadedjars 2m 54s patch has no errors when building our shaded downstream artifacts.
+1 💚 hadoopcheck 4m 43s Patch does not cause any errors with Hadoop 2.8.5 2.9.2.
+1 💚 javadoc 0m 54s the patch passed with JDK v1.8.0_262
+1 💚 javadoc 1m 5s the patch passed with JDK v1.7.0_272
+1 💚 findbugs 4m 28s the patch passed
_ Other Tests _
+1 💚 unit 2m 43s hbase-client in the patch passed.
+1 💚 unit 133m 18s hbase-server in the patch passed.
+1 💚 asflicense 0m 58s The patch does not generate ASF License warnings.
187m 5s
Subsystem Report/Notes
Docker Client=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 Tests dupname asflicense javac javadoc unit spotbugs findbugs shadedjars hadoopcheck hbaseanti checkstyle compile
uname Linux 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 tool maven
Personality /home/jenkins/jenkins-home/workspace/Base-PreCommit-GitHub-PR_PR-2327/out/precommit/personality/provided.sh
git revision branch-1 / 80ce76c
Default Java 1.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 Results https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2327/3/testReport/
Max. process+thread count 4400 (vs. ulimit of 10000)
modules C: hbase-client hbase-server U: .
Console output https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2327/3/console
versions git=1.9.1 maven=3.0.5 findbugs=3.0.1
Powered by Apache Yetus 0.11.1 https://yetus.apache.org

This message was automatically generated.

@ankitjain64
Copy link
Contributor Author

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

@bharathv
Copy link
Contributor

bharathv commented Sep 1, 2020

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

@ankitjain64
Copy link
Contributor Author

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

Copy link
Contributor

@bharathv bharathv left a comment

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

🎊 +1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 6m 57s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 0s No case conflicting files found.
+1 💚 hbaseanti 0m 0s Patch does not have any anti-patterns.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
+1 💚 test4tests 0m 0s The patch appears to include 1 new or modified test files.
_ branch-1 Compile Tests _
+0 🆗 mvndep 2m 26s Maven dependency ordering for branch
+1 💚 mvninstall 8m 5s branch-1 passed
+1 💚 compile 1m 7s branch-1 passed with JDK v1.8.0_262
+1 💚 compile 1m 14s branch-1 passed with JDK v1.7.0_272
+1 💚 checkstyle 2m 25s branch-1 passed
+1 💚 shadedjars 3m 31s branch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 1m 10s branch-1 passed with JDK v1.8.0_262
+1 💚 javadoc 1m 24s branch-1 passed with JDK v1.7.0_272
+0 🆗 spotbugs 3m 9s Used deprecated FindBugs config; considering switching to SpotBugs.
+1 💚 findbugs 5m 0s branch-1 passed
_ Patch Compile Tests _
+0 🆗 mvndep 0m 19s Maven dependency ordering for patch
+1 💚 mvninstall 2m 9s the patch passed
+1 💚 compile 1m 9s the patch passed with JDK v1.8.0_262
+1 💚 javac 1m 9s the patch passed
+1 💚 compile 1m 15s the patch passed with JDK v1.7.0_272
+1 💚 javac 1m 15s the patch passed
+1 💚 checkstyle 2m 23s the patch passed
+1 💚 whitespace 0m 0s The patch has no whitespace issues.
+1 💚 shadedjars 3m 10s patch has no errors when building our shaded downstream artifacts.
+1 💚 hadoopcheck 5m 17s Patch does not cause any errors with Hadoop 2.8.5 2.9.2.
+1 💚 javadoc 1m 8s the patch passed with JDK v1.8.0_262
+1 💚 javadoc 1m 45s the patch passed with JDK v1.7.0_272
+1 💚 findbugs 7m 27s the patch passed
_ Other Tests _
+1 💚 unit 2m 52s hbase-client in the patch passed.
+1 💚 unit 143m 52s hbase-server in the patch passed.
+1 💚 asflicense 0m 52s The patch does not generate ASF License warnings.
211m 28s
Subsystem Report/Notes
Docker Client=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 Tests dupname asflicense javac javadoc unit spotbugs findbugs shadedjars hadoopcheck hbaseanti checkstyle compile
uname Linux 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 tool maven
Personality /home/jenkins/jenkins-agent/workspace/Base-PreCommit-GitHub-PR_PR-2327/out/precommit/personality/provided.sh
git revision branch-1 / 7801b45
Default Java 1.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 Results https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2327/4/testReport/
Max. process+thread count 4613 (vs. ulimit of 10000)
modules C: hbase-client hbase-server U: .
Console output https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2327/4/console
versions git=1.9.1 maven=3.0.5 findbugs=3.0.1
Powered by Apache Yetus 0.11.1 https://yetus.apache.org

This message was automatically generated.

@bharathv bharathv merged commit f0acafc into apache:branch-1 Sep 17, 2020
Sign up for free to 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