Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Backport: HBASE-25126 Add load balance logic in hbase-client to distribute read… #2640

Merged

Conversation

huaxiangsun
Copy link
Contributor

… load over meta replica regions

It adds load balance support for meta lookup in AsyncTableRegionLocator.
The existing meta replica mode is renamed as "HedgedRead", client sends scan request to the primary meta replica region first,
if response is not back within a configured amount of time, it will send scan requests to all meta replica regions and
take the first response. On top of the existing mode, a new mode "LoadBalance" is introduced. In this mode, client first
choose a meta replica region to send scan request. If the response is stale, it may send the request to another meta replica region or
the primary region. In this mode, meta scan requests are load balanced across all replica regions with the primary mode as
the ultimate source of truth.

Two new config knobs are added:

  1. hbase.locator.meta.replicas.mode
    Valid options are "None", "HedgedRead" and "LoadBalance", they are case insensitive. The default mode is "None".

  2. hbase.locator.meta.replicas.mode.loadbalance.selector
    The load balance alogrithm to select a meta replica to send the requests.
    Only org.apache.hadoop.hbase.client.CatalogReplicaLoadBalanceReplicaSimpleSelector.class
    is supported for now, which is the default as well. The algorithm works as follows:
    a. Clients select a randome meta replica region to send the requests if there is no entry for the location in the stale
    location cache.
    b. If the location from one meta replica region is stale, a stale entry will be created in the statle location cache
    for the region.
    c. Clients select the primary meta region if the location is in the stale location cache.
    d. The stale location cache entries time out in 3 seconds.

If there is no "hbase.locator.meta.replicas.mode" configured, it will check the config knob "hbase.meta.replicas.use".
If "hbase.meta.replicas.use" is configured, the mode will be set to "HedgedRead".

For branch-2 support, it introduces support for ReversedScan over a specific non-default replica region, this is mainly
for load balance meta scan among all its replica regions.

@huaxiangsun huaxiangsun changed the title HBASE-25126 Add load balance logic in hbase-client to distribute read… Backport: HBASE-25126 Add load balance logic in hbase-client to distribute read… Nov 10, 2020
@huaxiangsun
Copy link
Contributor Author

Hi @Apache9 and @saintstack, please review the changes for branch-2. The scan over a specific replica region is not supported in branch-2, so I added ReverseScan over a specific replica region in this patch, this needs to be carefully reviewed. Newly added support is also added in ConnectionImplementation as Duo mentioned before, thanks.

@Apache9
Copy link
Contributor

Apache9 commented Nov 10, 2020

We do not support scan on a specific replica on branch-2? I think this should be a bug? We can set replica id on a Scan object?

@Apache-HBase
Copy link

🎊 +1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 1m 15s 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.
_ HBASE-18070.branch-2 Compile Tests _
+0 🆗 mvndep 0m 20s Maven dependency ordering for branch
+1 💚 mvninstall 3m 50s HBASE-18070.branch-2 passed
+1 💚 checkstyle 1m 47s HBASE-18070.branch-2 passed
+1 💚 spotbugs 3m 15s HBASE-18070.branch-2 passed
_ Patch Compile Tests _
+0 🆗 mvndep 0m 13s Maven dependency ordering for patch
+1 💚 mvninstall 3m 37s the patch passed
-0 ⚠️ checkstyle 0m 34s hbase-client: The patch generated 2 new + 32 unchanged - 0 fixed = 34 total (was 32)
-0 ⚠️ checkstyle 1m 15s hbase-server: The patch generated 1 new + 0 unchanged - 0 fixed = 1 total (was 0)
+1 💚 whitespace 0m 0s The patch has no whitespace issues.
+1 💚 hadoopcheck 12m 51s Patch does not cause any errors with Hadoop 3.1.2 3.2.1.
+1 💚 spotbugs 3m 32s the patch passed
_ Other Tests _
+1 💚 asflicense 0m 22s The patch does not generate ASF License warnings.
41m 1s
Subsystem Report/Notes
Docker ClientAPI=1.40 ServerAPI=1.40 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2640/1/artifact/yetus-general-check/output/Dockerfile
GITHUB PR #2640
Optional Tests dupname asflicense spotbugs hadoopcheck hbaseanti checkstyle
uname Linux c4a29f652b54 4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9 23:41:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision HBASE-18070.branch-2 / e4e7386
checkstyle https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2640/1/artifact/yetus-general-check/output/diff-checkstyle-hbase-client.txt
checkstyle https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2640/1/artifact/yetus-general-check/output/diff-checkstyle-hbase-server.txt
Max. process+thread count 84 (vs. ulimit of 12500)
modules C: hbase-client hbase-server U: .
Console output https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2640/1/console
versions git=2.17.1 maven=3.6.3 spotbugs=3.1.12
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

Copy link
Contributor

@Apache9 Apache9 left a comment

Choose a reason for hiding this comment

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

The old scanner implementation plus replica is a mess...

Need more time to review. I used to think we just need to write code on top of the old code but you say the old code does not support scanning a specific replica, then it will be a pain...

@Apache-HBase
Copy link

💔 -1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 4m 19s Docker mode activated.
-0 ⚠️ yetus 0m 7s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ HBASE-18070.branch-2 Compile Tests _
+0 🆗 mvndep 0m 17s Maven dependency ordering for branch
+1 💚 mvninstall 3m 39s HBASE-18070.branch-2 passed
+1 💚 compile 1m 28s HBASE-18070.branch-2 passed
+1 💚 shadedjars 6m 15s branch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 1m 5s HBASE-18070.branch-2 passed
_ Patch Compile Tests _
+0 🆗 mvndep 0m 16s Maven dependency ordering for patch
+1 💚 mvninstall 3m 33s the patch passed
+1 💚 compile 1m 29s the patch passed
+1 💚 javac 1m 29s the patch passed
+1 💚 shadedjars 6m 12s patch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 1m 0s the patch passed
_ Other Tests _
+1 💚 unit 2m 17s hbase-client in the patch passed.
-1 ❌ unit 144m 49s hbase-server in the patch failed.
179m 1s
Subsystem Report/Notes
Docker ClientAPI=1.40 ServerAPI=1.40 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2640/1/artifact/yetus-jdk8-hadoop2-check/output/Dockerfile
GITHUB PR #2640
Optional Tests javac javadoc unit shadedjars compile
uname Linux 380f556e0b46 4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9 23:41:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision HBASE-18070.branch-2 / e4e7386
Default Java AdoptOpenJDK-1.8.0_232-b09
unit https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2640/1/artifact/yetus-jdk8-hadoop2-check/output/patch-unit-hbase-server.txt
Test Results https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2640/1/testReport/
Max. process+thread count 4034 (vs. ulimit of 12500)
modules C: hbase-client hbase-server U: .
Console output https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2640/1/console
versions git=2.17.1 maven=3.6.3
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase
Copy link

💔 -1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 1m 15s Docker mode activated.
-0 ⚠️ yetus 0m 6s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ HBASE-18070.branch-2 Compile Tests _
+0 🆗 mvndep 0m 15s Maven dependency ordering for branch
+1 💚 mvninstall 4m 43s HBASE-18070.branch-2 passed
+1 💚 compile 1m 44s HBASE-18070.branch-2 passed
+1 💚 shadedjars 7m 25s branch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 1m 10s HBASE-18070.branch-2 passed
_ Patch Compile Tests _
+0 🆗 mvndep 0m 18s Maven dependency ordering for patch
+1 💚 mvninstall 4m 33s the patch passed
+1 💚 compile 1m 41s the patch passed
+1 💚 javac 1m 41s the patch passed
+1 💚 shadedjars 7m 24s patch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 1m 8s the patch passed
_ Other Tests _
+1 💚 unit 2m 44s hbase-client in the patch passed.
-1 ❌ unit 198m 58s hbase-server in the patch failed.
235m 16s
Subsystem Report/Notes
Docker ClientAPI=1.40 ServerAPI=1.40 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2640/1/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile
GITHUB PR #2640
Optional Tests javac javadoc unit shadedjars compile
uname Linux 45aeef56bcf5 4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9 23:41:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision HBASE-18070.branch-2 / e4e7386
Default Java AdoptOpenJDK-11.0.6+10
unit https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2640/1/artifact/yetus-jdk11-hadoop3-check/output/patch-unit-hbase-server.txt
Test Results https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2640/1/testReport/
Max. process+thread count 2718 (vs. ulimit of 12500)
modules C: hbase-client hbase-server U: .
Console output https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2640/1/console
versions git=2.17.1 maven=3.6.3
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@huaxiangsun
Copy link
Contributor Author

Seems that the patch has some issue, because related tests are failing, let me look into those failures.

@huaxiangsun
Copy link
Contributor Author

We do not support scan on a specific replica on branch-2? I think this should be a bug? We can set replica id on a Scan object?

Actually, it is not mentioned before that scan over a specific replica region is supported. Right now, Reverse scan is supported, I need to create a followup jira to support this over normal scan.

@huaxiangsun
Copy link
Contributor Author

Uploaded a new patch which fixes unitest errors.

@Apache-HBase
Copy link

🎊 +1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 7m 28s 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.
_ HBASE-18070.branch-2 Compile Tests _
+0 🆗 mvndep 0m 16s Maven dependency ordering for branch
+1 💚 mvninstall 3m 35s HBASE-18070.branch-2 passed
+1 💚 checkstyle 1m 39s HBASE-18070.branch-2 passed
+1 💚 spotbugs 3m 3s HBASE-18070.branch-2 passed
_ Patch Compile Tests _
+0 🆗 mvndep 0m 13s Maven dependency ordering for patch
+1 💚 mvninstall 3m 16s the patch passed
-0 ⚠️ checkstyle 0m 33s hbase-client: The patch generated 1 new + 40 unchanged - 0 fixed = 41 total (was 40)
-0 ⚠️ checkstyle 1m 7s hbase-server: The patch generated 1 new + 0 unchanged - 0 fixed = 1 total (was 0)
+1 💚 whitespace 0m 0s The patch has no whitespace issues.
+1 💚 hadoopcheck 11m 40s Patch does not cause any errors with Hadoop 3.1.2 3.2.1.
+1 💚 spotbugs 3m 20s the patch passed
_ Other Tests _
+1 💚 asflicense 0m 26s The patch does not generate ASF License warnings.
44m 18s
Subsystem Report/Notes
Docker ClientAPI=1.40 ServerAPI=1.40 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2640/2/artifact/yetus-general-check/output/Dockerfile
GITHUB PR #2640
Optional Tests dupname asflicense spotbugs hadoopcheck hbaseanti checkstyle
uname Linux 5c10e0d15ca2 4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9 23:41:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision HBASE-18070.branch-2 / e4e7386
checkstyle https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2640/2/artifact/yetus-general-check/output/diff-checkstyle-hbase-client.txt
checkstyle https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2640/2/artifact/yetus-general-check/output/diff-checkstyle-hbase-server.txt
Max. process+thread count 94 (vs. ulimit of 12500)
modules C: hbase-client hbase-server U: .
Console output https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2640/2/console
versions git=2.17.1 maven=3.6.3 spotbugs=3.1.12
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache9
Copy link
Contributor

Apache9 commented Nov 11, 2020

We do not support scan on a specific replica on branch-2? I think this should be a bug? We can set replica id on a Scan object?

Actually, it is not mentioned before that scan over a specific replica region is supported. Right now, Reverse scan is supported, I need to create a followup jira to support this over normal scan.

For async client this is implemented. And for sync client on branch-2, we have timeline consistent read support for scan. IIRC, it is very complicated and spent me a lot of time to support the feature in async client.

Let me read the code again. I could open a separated issue to support it on branch-2 to address the problem so you could rebase your patch later.

@huaxiangsun
Copy link
Contributor Author

We do not support scan on a specific replica on branch-2? I think this should be a bug? We can set replica id on a Scan object?

Actually, it is not mentioned before that scan over a specific replica region is supported. Right now, Reverse scan is supported, I need to create a followup jira to support this over normal scan.

For async client this is implemented. And for sync client on branch-2, we have timeline consistent read support for scan. IIRC, it is very complicated and spent me a lot of time to support the feature in async client.

Let me read the code again. I could open a separated issue to support it on branch-2 to address the problem so you could rebase your patch later.

Yeah, you are right. Both Async and Sync support timeline scan. There is no interface exposed to support meta scan over a replica region, maybe it is ok for now?

@Apache9
Copy link
Contributor

Apache9 commented Nov 11, 2020

We do not support scan on a specific replica on branch-2? I think this should be a bug? We can set replica id on a Scan object?

Actually, it is not mentioned before that scan over a specific replica region is supported. Right now, Reverse scan is supported, I need to create a followup jira to support this over normal scan.

For async client this is implemented. And for sync client on branch-2, we have timeline consistent read support for scan. IIRC, it is very complicated and spent me a lot of time to support the feature in async client.
Let me read the code again. I could open a separated issue to support it on branch-2 to address the problem so you could rebase your patch later.

Yeah, you are right. Both Async and Sync support timeline scan. There is no interface exposed to support meta scan over a replica region, maybe it is ok for now?

No interface needed, just set the replicaId in the Scan object is enough?

@Apache9
Copy link
Contributor

Apache9 commented Nov 11, 2020

Checked the code, we do not support scan on a specific replica... I think this should be a bug...

Let me open an issue to address it, should not be very hard but the code is a bit mess so...

@Apache-HBase
Copy link

🎊 +1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 0m 33s Docker mode activated.
-0 ⚠️ yetus 0m 6s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ HBASE-18070.branch-2 Compile Tests _
+0 🆗 mvndep 0m 16s Maven dependency ordering for branch
+1 💚 mvninstall 3m 37s HBASE-18070.branch-2 passed
+1 💚 compile 1m 24s HBASE-18070.branch-2 passed
+1 💚 shadedjars 6m 1s branch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 1m 4s HBASE-18070.branch-2 passed
_ Patch Compile Tests _
+0 🆗 mvndep 0m 16s Maven dependency ordering for patch
+1 💚 mvninstall 3m 21s the patch passed
+1 💚 compile 1m 23s the patch passed
+1 💚 javac 1m 23s the patch passed
+1 💚 shadedjars 5m 59s patch has no errors when building our shaded downstream artifacts.
-0 ⚠️ javadoc 0m 24s hbase-client generated 1 new + 3 unchanged - 0 fixed = 4 total (was 3)
_ Other Tests _
+1 💚 unit 2m 17s hbase-client in the patch passed.
+1 💚 unit 138m 45s hbase-server in the patch passed.
168m 36s
Subsystem Report/Notes
Docker ClientAPI=1.40 ServerAPI=1.40 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2640/2/artifact/yetus-jdk8-hadoop2-check/output/Dockerfile
GITHUB PR #2640
Optional Tests javac javadoc unit shadedjars compile
uname Linux a4b35d12dbbd 4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9 23:41:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision HBASE-18070.branch-2 / e4e7386
Default Java AdoptOpenJDK-1.8.0_232-b09
javadoc https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2640/2/artifact/yetus-jdk8-hadoop2-check/output/diff-javadoc-javadoc-hbase-client.txt
Test Results https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2640/2/testReport/
Max. process+thread count 4396 (vs. ulimit of 12500)
modules C: hbase-client hbase-server U: .
Console output https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2640/2/console
versions git=2.17.1 maven=3.6.3
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase
Copy link

🎊 +1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 1m 24s Docker mode activated.
-0 ⚠️ yetus 0m 7s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ HBASE-18070.branch-2 Compile Tests _
+0 🆗 mvndep 0m 15s Maven dependency ordering for branch
+1 💚 mvninstall 4m 58s HBASE-18070.branch-2 passed
+1 💚 compile 1m 49s HBASE-18070.branch-2 passed
+1 💚 shadedjars 7m 36s branch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 1m 19s HBASE-18070.branch-2 passed
_ Patch Compile Tests _
+0 🆗 mvndep 0m 20s Maven dependency ordering for patch
+1 💚 mvninstall 4m 39s the patch passed
+1 💚 compile 1m 47s the patch passed
+1 💚 javac 1m 47s the patch passed
+1 💚 shadedjars 7m 26s patch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 1m 11s the patch passed
_ Other Tests _
+1 💚 unit 2m 49s hbase-client in the patch passed.
+1 💚 unit 221m 21s hbase-server in the patch passed.
260m 3s
Subsystem Report/Notes
Docker ClientAPI=1.40 ServerAPI=1.40 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2640/2/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile
GITHUB PR #2640
Optional Tests javac javadoc unit shadedjars compile
uname Linux 32b59bd0428a 4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9 23:41:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision HBASE-18070.branch-2 / e4e7386
Default Java AdoptOpenJDK-11.0.6+10
Test Results https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2640/2/testReport/
Max. process+thread count 2635 (vs. ulimit of 12500)
modules C: hbase-client hbase-server U: .
Console output https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2640/2/console
versions git=2.17.1 maven=3.6.3
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@huaxiangsun
Copy link
Contributor Author

Checked the code, we do not support scan on a specific replica... I think this should be a bug...

Let me open an issue to address it, should not be very hard but the code is a bit mess so...
Great!

@huaxiangsun
Copy link
Contributor Author

Pushed addendum to remove setUseMetaReplicas() and updated unittests accordingly.
@Apache9, once you commit HBASE-25272, I can rebase my patch accordingly.

@huaxiangsun
Copy link
Contributor Author

@saintstack, I pushed the diff to remove setUseMetaReplicas(), please review, thanks.

@Apache-HBase
Copy link

🎊 +1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 0m 40s 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.
_ HBASE-18070.branch-2 Compile Tests _
+0 🆗 mvndep 0m 16s Maven dependency ordering for branch
+1 💚 mvninstall 3m 41s HBASE-18070.branch-2 passed
+1 💚 checkstyle 1m 43s HBASE-18070.branch-2 passed
+1 💚 spotbugs 3m 4s HBASE-18070.branch-2 passed
_ Patch Compile Tests _
+0 🆗 mvndep 0m 14s Maven dependency ordering for patch
+1 💚 mvninstall 3m 18s the patch passed
-0 ⚠️ checkstyle 0m 33s hbase-client: The patch generated 1 new + 39 unchanged - 1 fixed = 40 total (was 40)
-0 ⚠️ checkstyle 1m 8s hbase-server: The patch generated 1 new + 3 unchanged - 0 fixed = 4 total (was 3)
+1 💚 whitespace 0m 0s The patch has no whitespace issues.
+1 💚 hadoopcheck 11m 51s Patch does not cause any errors with Hadoop 3.1.2 3.2.1.
+1 💚 spotbugs 3m 20s the patch passed
_ Other Tests _
+1 💚 asflicense 0m 26s The patch does not generate ASF License warnings.
37m 33s
Subsystem Report/Notes
Docker ClientAPI=1.40 ServerAPI=1.40 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2640/3/artifact/yetus-general-check/output/Dockerfile
GITHUB PR #2640
Optional Tests dupname asflicense spotbugs hadoopcheck hbaseanti checkstyle
uname Linux 4b79080c912b 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 dev-support/hbase-personality.sh
git revision HBASE-18070.branch-2 / e4e7386
checkstyle https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2640/3/artifact/yetus-general-check/output/diff-checkstyle-hbase-client.txt
checkstyle https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2640/3/artifact/yetus-general-check/output/diff-checkstyle-hbase-server.txt
Max. process+thread count 94 (vs. ulimit of 12500)
modules C: hbase-client hbase-server U: .
Console output https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2640/3/console
versions git=2.17.1 maven=3.6.3 spotbugs=3.1.12
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase
Copy link

🎊 +1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 0m 32s Docker mode activated.
-0 ⚠️ yetus 0m 6s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ HBASE-18070.branch-2 Compile Tests _
+0 🆗 mvndep 0m 16s Maven dependency ordering for branch
+1 💚 mvninstall 3m 35s HBASE-18070.branch-2 passed
+1 💚 compile 1m 25s HBASE-18070.branch-2 passed
+1 💚 shadedjars 6m 4s branch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 1m 2s HBASE-18070.branch-2 passed
_ Patch Compile Tests _
+0 🆗 mvndep 0m 17s Maven dependency ordering for patch
+1 💚 mvninstall 3m 19s the patch passed
+1 💚 compile 1m 26s the patch passed
+1 💚 javac 1m 26s the patch passed
+1 💚 shadedjars 5m 57s patch has no errors when building our shaded downstream artifacts.
-0 ⚠️ javadoc 0m 25s hbase-client generated 1 new + 3 unchanged - 0 fixed = 4 total (was 3)
_ Other Tests _
+1 💚 unit 2m 17s hbase-client in the patch passed.
+1 💚 unit 138m 43s hbase-server in the patch passed.
168m 19s
Subsystem Report/Notes
Docker ClientAPI=1.40 ServerAPI=1.40 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2640/3/artifact/yetus-jdk8-hadoop2-check/output/Dockerfile
GITHUB PR #2640
Optional Tests javac javadoc unit shadedjars compile
uname Linux 3d613f9373ef 4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9 23:41:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision HBASE-18070.branch-2 / e4e7386
Default Java AdoptOpenJDK-1.8.0_232-b09
javadoc https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2640/3/artifact/yetus-jdk8-hadoop2-check/output/diff-javadoc-javadoc-hbase-client.txt
Test Results https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2640/3/testReport/
Max. process+thread count 4145 (vs. ulimit of 12500)
modules C: hbase-client hbase-server U: .
Console output https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2640/3/console
versions git=2.17.1 maven=3.6.3
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase
Copy link

🎊 +1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 1m 13s Docker mode activated.
-0 ⚠️ yetus 0m 5s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ HBASE-18070.branch-2 Compile Tests _
+0 🆗 mvndep 0m 15s Maven dependency ordering for branch
+1 💚 mvninstall 4m 39s HBASE-18070.branch-2 passed
+1 💚 compile 1m 42s HBASE-18070.branch-2 passed
+1 💚 shadedjars 7m 30s branch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 1m 11s HBASE-18070.branch-2 passed
_ Patch Compile Tests _
+0 🆗 mvndep 0m 18s Maven dependency ordering for patch
+1 💚 mvninstall 4m 26s the patch passed
+1 💚 compile 1m 42s the patch passed
+1 💚 javac 1m 42s the patch passed
+1 💚 shadedjars 7m 27s patch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 1m 9s the patch passed
_ Other Tests _
+1 💚 unit 2m 34s hbase-client in the patch passed.
+1 💚 unit 194m 18s hbase-server in the patch passed.
230m 18s
Subsystem Report/Notes
Docker ClientAPI=1.40 ServerAPI=1.40 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2640/3/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile
GITHUB PR #2640
Optional Tests javac javadoc unit shadedjars compile
uname Linux 2b20944f76c3 4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9 23:41:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision HBASE-18070.branch-2 / e4e7386
Default Java AdoptOpenJDK-11.0.6+10
Test Results https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2640/3/testReport/
Max. process+thread count 2768 (vs. ulimit of 12500)
modules C: hbase-client hbase-server U: .
Console output https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2640/3/console
versions git=2.17.1 maven=3.6.3
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase
Copy link

🎊 +1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 1m 13s 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.
_ HBASE-18070.branch-2 Compile Tests _
+0 🆗 mvndep 0m 32s Maven dependency ordering for branch
+1 💚 mvninstall 3m 43s HBASE-18070.branch-2 passed
+1 💚 checkstyle 1m 48s HBASE-18070.branch-2 passed
+1 💚 spotbugs 3m 15s HBASE-18070.branch-2 passed
_ Patch Compile Tests _
+0 🆗 mvndep 0m 11s Maven dependency ordering for patch
+1 💚 mvninstall 3m 37s the patch passed
-0 ⚠️ checkstyle 0m 33s hbase-client: The patch generated 1 new + 39 unchanged - 1 fixed = 40 total (was 40)
-0 ⚠️ checkstyle 1m 15s hbase-server: The patch generated 1 new + 3 unchanged - 0 fixed = 4 total (was 3)
+1 💚 whitespace 0m 0s The patch has no whitespace issues.
+1 💚 hadoopcheck 12m 42s Patch does not cause any errors with Hadoop 3.1.2 3.2.1.
+1 💚 spotbugs 3m 32s the patch passed
_ Other Tests _
+1 💚 asflicense 0m 21s The patch does not generate ASF License warnings.
40m 33s
Subsystem Report/Notes
Docker ClientAPI=1.40 ServerAPI=1.40 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2640/4/artifact/yetus-general-check/output/Dockerfile
GITHUB PR #2640
Optional Tests dupname asflicense spotbugs hadoopcheck hbaseanti checkstyle
uname Linux ef53961ca861 4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9 23:41:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision HBASE-18070.branch-2 / e4e7386
checkstyle https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2640/4/artifact/yetus-general-check/output/diff-checkstyle-hbase-client.txt
checkstyle https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2640/4/artifact/yetus-general-check/output/diff-checkstyle-hbase-server.txt
Max. process+thread count 84 (vs. ulimit of 12500)
modules C: hbase-client hbase-server U: .
Console output https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2640/4/console
versions git=2.17.1 maven=3.6.3 spotbugs=3.1.12
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase
Copy link

💔 -1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 0m 49s Docker mode activated.
-0 ⚠️ yetus 0m 8s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ HBASE-18070.branch-2 Compile Tests _
+0 🆗 mvndep 0m 19s Maven dependency ordering for branch
+1 💚 mvninstall 4m 38s HBASE-18070.branch-2 passed
+1 💚 compile 1m 34s HBASE-18070.branch-2 passed
+1 💚 shadedjars 7m 11s branch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 1m 21s HBASE-18070.branch-2 passed
_ Patch Compile Tests _
+0 🆗 mvndep 0m 17s Maven dependency ordering for patch
+1 💚 mvninstall 4m 25s the patch passed
+1 💚 compile 1m 43s the patch passed
+1 💚 javac 1m 43s the patch passed
+1 💚 shadedjars 7m 39s patch has no errors when building our shaded downstream artifacts.
-0 ⚠️ javadoc 0m 28s hbase-client generated 1 new + 3 unchanged - 0 fixed = 4 total (was 3)
_ Other Tests _
+1 💚 unit 2m 29s hbase-client in the patch passed.
-1 ❌ unit 8m 34s hbase-server in the patch failed.
43m 50s
Subsystem Report/Notes
Docker ClientAPI=1.40 ServerAPI=1.40 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2640/4/artifact/yetus-jdk8-hadoop2-check/output/Dockerfile
GITHUB PR #2640
Optional Tests javac javadoc unit shadedjars compile
uname Linux 2bcf24333cc5 4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9 23:41:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision HBASE-18070.branch-2 / e4e7386
Default Java AdoptOpenJDK-1.8.0_232-b09
javadoc https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2640/4/artifact/yetus-jdk8-hadoop2-check/output/diff-javadoc-javadoc-hbase-client.txt
unit https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2640/4/artifact/yetus-jdk8-hadoop2-check/output/patch-unit-hbase-server.txt
Test Results https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2640/4/testReport/
Max. process+thread count 1181 (vs. ulimit of 12500)
modules C: hbase-client hbase-server U: .
Console output https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2640/4/console
versions git=2.17.1 maven=3.6.3
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase
Copy link

🎊 +1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 1m 11s Docker mode activated.
-0 ⚠️ yetus 0m 7s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ HBASE-18070.branch-2 Compile Tests _
+0 🆗 mvndep 0m 26s Maven dependency ordering for branch
+1 💚 mvninstall 4m 29s HBASE-18070.branch-2 passed
+1 💚 compile 1m 43s HBASE-18070.branch-2 passed
+1 💚 shadedjars 7m 19s branch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 1m 8s HBASE-18070.branch-2 passed
_ Patch Compile Tests _
+0 🆗 mvndep 0m 13s Maven dependency ordering for patch
+1 💚 mvninstall 4m 33s the patch passed
+1 💚 compile 1m 42s the patch passed
+1 💚 javac 1m 42s the patch passed
+1 💚 shadedjars 7m 24s patch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 1m 10s the patch passed
_ Other Tests _
+1 💚 unit 2m 33s hbase-client in the patch passed.
+1 💚 unit 197m 3s hbase-server in the patch passed.
232m 53s
Subsystem Report/Notes
Docker ClientAPI=1.40 ServerAPI=1.40 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2640/4/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile
GITHUB PR #2640
Optional Tests javac javadoc unit shadedjars compile
uname Linux 6345de409815 4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9 23:41:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision HBASE-18070.branch-2 / e4e7386
Default Java AdoptOpenJDK-11.0.6+10
Test Results https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2640/4/testReport/
Max. process+thread count 2739 (vs. ulimit of 12500)
modules C: hbase-client hbase-server U: .
Console output https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2640/4/console
versions git=2.17.1 maven=3.6.3
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@huaxiangsun
Copy link
Contributor Author

HBASE-18070.branch-2 needs to be rebased to include Duo's HBASE-27252. I rebased my branch and now the review messes up.

@huaxiangsun
Copy link
Contributor Author

huaxiangsun commented Nov 13, 2020

@Apache9 @saintstack I have rebased my branch to include HBASE-25272, please review. It shows lots of commits, but please look at the last two commits. Once Stack rebase HBASE-18070.branch-2, these previous commits will go away.

`Huaxiang Sun
HBASE-25126 Add load balance logic in hbase-client to distribute read… …
501ed34

Huaxiang Sun
Remove ConnectionImplementation#setUseMetaReplicas()
7540dec`

@huaxiangsun
Copy link
Contributor Author

@saintstack Could you rebase HBASE-18070.branch-2 to latest branch-2? thanks

@saintstack
Copy link
Contributor

@huaxiangsun done sir

commit e6f65ab (HEAD -> HBASE-18070.branch-2.2, origin/HBASE-18070.branch-2)

@Apache-HBase
Copy link

🎊 +1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 1m 9s 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.
_ HBASE-18070.branch-2 Compile Tests _
+0 🆗 mvndep 0m 33s Maven dependency ordering for branch
+1 💚 mvninstall 3m 26s HBASE-18070.branch-2 passed
+1 💚 checkstyle 1m 39s HBASE-18070.branch-2 passed
+1 💚 spotbugs 3m 0s HBASE-18070.branch-2 passed
_ Patch Compile Tests _
+0 🆗 mvndep 0m 13s Maven dependency ordering for patch
+1 💚 mvninstall 3m 19s the patch passed
-0 ⚠️ checkstyle 0m 33s hbase-client: The patch generated 1 new + 23 unchanged - 1 fixed = 24 total (was 24)
-0 ⚠️ checkstyle 1m 8s hbase-server: The patch generated 1 new + 3 unchanged - 0 fixed = 4 total (was 3)
+1 💚 whitespace 0m 0s The patch has no whitespace issues.
+1 💚 hadoopcheck 11m 33s Patch does not cause any errors with Hadoop 3.1.2 3.2.1.
+1 💚 spotbugs 3m 25s the patch passed
_ Other Tests _
+1 💚 asflicense 0m 25s The patch does not generate ASF License warnings.
38m 8s
Subsystem Report/Notes
Docker ClientAPI=1.40 ServerAPI=1.40 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2640/6/artifact/yetus-general-check/output/Dockerfile
GITHUB PR #2640
Optional Tests dupname asflicense spotbugs hadoopcheck hbaseanti checkstyle
uname Linux 9572778b1934 4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9 23:41:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision HBASE-18070.branch-2 / 3f3bc2e
checkstyle https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2640/6/artifact/yetus-general-check/output/diff-checkstyle-hbase-client.txt
checkstyle https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2640/6/artifact/yetus-general-check/output/diff-checkstyle-hbase-server.txt
Max. process+thread count 94 (vs. ulimit of 12500)
modules C: hbase-client hbase-server U: .
Console output https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2640/6/console
versions git=2.17.1 maven=3.6.3 spotbugs=3.1.12
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase
Copy link

💔 -1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 1m 38s Docker mode activated.
-0 ⚠️ yetus 0m 7s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ HBASE-18070.branch-2 Compile Tests _
+0 🆗 mvndep 0m 17s Maven dependency ordering for branch
+1 💚 mvninstall 5m 28s HBASE-18070.branch-2 passed
+1 💚 compile 2m 6s HBASE-18070.branch-2 passed
+1 💚 shadedjars 8m 35s branch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 1m 30s HBASE-18070.branch-2 passed
_ Patch Compile Tests _
+0 🆗 mvndep 0m 23s Maven dependency ordering for patch
+1 💚 mvninstall 5m 47s the patch passed
+1 💚 compile 2m 8s the patch passed
+1 💚 javac 2m 8s the patch passed
+1 💚 shadedjars 8m 35s patch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 1m 27s the patch passed
_ Other Tests _
+1 💚 unit 3m 15s hbase-client in the patch passed.
-1 ❌ unit 12m 4s hbase-server in the patch failed.
55m 2s
Subsystem Report/Notes
Docker ClientAPI=1.40 ServerAPI=1.40 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2640/6/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile
GITHUB PR #2640
Optional Tests javac javadoc unit shadedjars compile
uname Linux 58746e89adf7 4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9 23:41:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision HBASE-18070.branch-2 / 3f3bc2e
Default Java AdoptOpenJDK-11.0.6+10
unit https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2640/6/artifact/yetus-jdk11-hadoop3-check/output/patch-unit-hbase-server.txt
Test Results https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2640/6/testReport/
Max. process+thread count 862 (vs. ulimit of 12500)
modules C: hbase-client hbase-server U: .
Console output https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2640/6/console
versions git=2.17.1 maven=3.6.3
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase
Copy link

🎊 +1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 0m 45s Docker mode activated.
-0 ⚠️ yetus 0m 7s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ HBASE-18070.branch-2 Compile Tests _
+0 🆗 mvndep 0m 31s Maven dependency ordering for branch
+1 💚 mvninstall 3m 42s HBASE-18070.branch-2 passed
+1 💚 compile 1m 33s HBASE-18070.branch-2 passed
+1 💚 shadedjars 6m 40s branch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 1m 1s HBASE-18070.branch-2 passed
_ Patch Compile Tests _
+0 🆗 mvndep 0m 16s Maven dependency ordering for patch
+1 💚 mvninstall 3m 16s the patch passed
+1 💚 compile 1m 23s the patch passed
+1 💚 javac 1m 23s the patch passed
+1 💚 shadedjars 5m 58s patch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 1m 2s the patch passed
_ Other Tests _
+1 💚 unit 2m 17s hbase-client in the patch passed.
+1 💚 unit 138m 47s hbase-server in the patch passed.
169m 51s
Subsystem Report/Notes
Docker ClientAPI=1.40 ServerAPI=1.40 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2640/6/artifact/yetus-jdk8-hadoop2-check/output/Dockerfile
GITHUB PR #2640
Optional Tests javac javadoc unit shadedjars compile
uname Linux 247feb4b31d2 4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9 23:41:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision HBASE-18070.branch-2 / 3f3bc2e
Default Java AdoptOpenJDK-1.8.0_232-b09
Test Results https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2640/6/testReport/
Max. process+thread count 4051 (vs. ulimit of 12500)
modules C: hbase-client hbase-server U: .
Console output https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2640/6/console
versions git=2.17.1 maven=3.6.3
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@huaxiangsun
Copy link
Contributor Author

I run TestMetaRegionLocationCache#testStandByMetaLocations and it passed locally. Probably this test is flakey.

@huaxiangsun
Copy link
Contributor Author

@Apache9 @saintstack I think your comments are addressed. Is this patch good to be merged? Thanks.

Copy link
Contributor

@saintstack saintstack left a comment

Choose a reason for hiding this comment

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

Skimmed. Looks good to me.

@huaxiangsun
Copy link
Contributor Author

@Apache9 Ping for +1. I think all your comments are addressed, thanks.

@huaxiangsun
Copy link
Contributor Author

I would assume that you had +1 here, but want to double check with you.

Copy link
Contributor

@Apache9 Apache9 left a comment

Choose a reason for hiding this comment

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

The code is OK but seems a small UT failed so we do not run the full test. Let me retrigger thepre commit build to see if it is OK. Please wait a while, I think it could finish when you American get up in the morning.

@Apache-HBase
Copy link

🎊 +1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 1m 12s 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.
_ HBASE-18070.branch-2 Compile Tests _
+0 🆗 mvndep 0m 29s Maven dependency ordering for branch
+1 💚 mvninstall 3m 19s HBASE-18070.branch-2 passed
+1 💚 checkstyle 1m 38s HBASE-18070.branch-2 passed
+1 💚 spotbugs 2m 59s HBASE-18070.branch-2 passed
_ Patch Compile Tests _
+0 🆗 mvndep 0m 12s Maven dependency ordering for patch
+1 💚 mvninstall 3m 22s the patch passed
-0 ⚠️ checkstyle 0m 32s hbase-client: The patch generated 1 new + 23 unchanged - 1 fixed = 24 total (was 24)
-0 ⚠️ checkstyle 1m 7s hbase-server: The patch generated 1 new + 3 unchanged - 0 fixed = 4 total (was 3)
+1 💚 whitespace 0m 0s The patch has no whitespace issues.
+1 💚 hadoopcheck 11m 55s Patch does not cause any errors with Hadoop 3.1.2 3.2.1.
+1 💚 spotbugs 3m 23s the patch passed
_ Other Tests _
+1 💚 asflicense 0m 25s The patch does not generate ASF License warnings.
37m 58s
Subsystem Report/Notes
Docker ClientAPI=1.40 ServerAPI=1.40 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2640/7/artifact/yetus-general-check/output/Dockerfile
GITHUB PR #2640
Optional Tests dupname asflicense spotbugs hadoopcheck hbaseanti checkstyle
uname Linux 5b50405b4cf5 4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9 23:41:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision HBASE-18070.branch-2 / 3f3bc2e
checkstyle https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2640/7/artifact/yetus-general-check/output/diff-checkstyle-hbase-client.txt
checkstyle https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2640/7/artifact/yetus-general-check/output/diff-checkstyle-hbase-server.txt
Max. process+thread count 94 (vs. ulimit of 12500)
modules C: hbase-client hbase-server U: .
Console output https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2640/7/console
versions git=2.17.1 maven=3.6.3 spotbugs=3.1.12
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase
Copy link

🎊 +1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 0m 38s Docker mode activated.
-0 ⚠️ yetus 0m 6s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ HBASE-18070.branch-2 Compile Tests _
+0 🆗 mvndep 0m 16s Maven dependency ordering for branch
+1 💚 mvninstall 3m 35s HBASE-18070.branch-2 passed
+1 💚 compile 1m 24s HBASE-18070.branch-2 passed
+1 💚 shadedjars 6m 3s branch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 1m 3s HBASE-18070.branch-2 passed
_ Patch Compile Tests _
+0 🆗 mvndep 0m 17s Maven dependency ordering for patch
+1 💚 mvninstall 3m 15s the patch passed
+1 💚 compile 1m 23s the patch passed
+1 💚 javac 1m 23s the patch passed
+1 💚 shadedjars 6m 4s patch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 1m 1s the patch passed
_ Other Tests _
+1 💚 unit 2m 21s hbase-client in the patch passed.
+1 💚 unit 140m 5s hbase-server in the patch passed.
169m 48s
Subsystem Report/Notes
Docker ClientAPI=1.40 ServerAPI=1.40 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2640/7/artifact/yetus-jdk8-hadoop2-check/output/Dockerfile
GITHUB PR #2640
Optional Tests javac javadoc unit shadedjars compile
uname Linux d521bc2c76f7 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 dev-support/hbase-personality.sh
git revision HBASE-18070.branch-2 / 3f3bc2e
Default Java AdoptOpenJDK-1.8.0_232-b09
Test Results https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2640/7/testReport/
Max. process+thread count 4278 (vs. ulimit of 12500)
modules C: hbase-client hbase-server U: .
Console output https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2640/7/console
versions git=2.17.1 maven=3.6.3
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase
Copy link

🎊 +1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 1m 28s Docker mode activated.
-0 ⚠️ yetus 0m 7s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ HBASE-18070.branch-2 Compile Tests _
+0 🆗 mvndep 0m 16s Maven dependency ordering for branch
+1 💚 mvninstall 4m 45s HBASE-18070.branch-2 passed
+1 💚 compile 1m 44s HBASE-18070.branch-2 passed
+1 💚 shadedjars 7m 32s branch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 1m 11s HBASE-18070.branch-2 passed
_ Patch Compile Tests _
+0 🆗 mvndep 0m 24s Maven dependency ordering for patch
+1 💚 mvninstall 4m 47s the patch passed
+1 💚 compile 1m 54s the patch passed
+1 💚 javac 1m 54s the patch passed
+1 💚 shadedjars 7m 32s patch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 1m 8s the patch passed
_ Other Tests _
+1 💚 unit 2m 43s hbase-client in the patch passed.
+1 💚 unit 198m 40s hbase-server in the patch passed.
236m 9s
Subsystem Report/Notes
Docker ClientAPI=1.40 ServerAPI=1.40 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2640/7/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile
GITHUB PR #2640
Optional Tests javac javadoc unit shadedjars compile
uname Linux 80df36008e47 4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9 23:41:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision HBASE-18070.branch-2 / 3f3bc2e
Default Java AdoptOpenJDK-11.0.6+10
Test Results https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2640/7/testReport/
Max. process+thread count 3186 (vs. ulimit of 12500)
modules C: hbase-client hbase-server U: .
Console output https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2640/7/console
versions git=2.17.1 maven=3.6.3
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@huaxiangsun
Copy link
Contributor Author

Thanks!

… load over meta replica regions

It adds load balance support for meta lookup in AsyncTableRegionLocator.
The existing meta replica mode is renamed as "HedgedRead", client sends scan request to the primary meta replica region first,
if response is not back within a configured amount of time, it will send scan requests to all meta replica regions and
take the first response. On top of the existing mode, a new mode "LoadBalance" is introduced. In this mode, client first
choose a meta replica region to send scan request. If the response is stale, it may send the request to another meta replica region or
the primary region. In this mode, meta scan requests are load balanced across all replica regions with the primary mode as
the ultimate source of truth.

Two new config knobs are added:

1. hbase.locator.meta.replicas.mode
   Valid options are "None", "HedgedRead" and "LoadBalance", they are case insensitive. The default mode is "None".

2. hbase.locator.meta.replicas.mode.loadbalance.selector
   The load balance alogrithm to select a meta replica to send the requests.
   Only org.apache.hadoop.hbase.client.CatalogReplicaLoadBalanceReplicaSimpleSelector.class
   is supported for now, which is the default as well. The algorithm works as follows:
      a. Clients select a randome meta replica region to send the requests if there is no entry for the location in the stale
         location cache.
      b. If the location from one meta replica region is stale, a stale entry will be created in the statle location cache
         for the region.
      c. Clients select the primary meta region if the location is in the stale location cache.
      d. The stale location cache entries time out in 3 seconds.

If there is no "hbase.locator.meta.replicas.mode" configured, it will check the config knob "hbase.meta.replicas.use".
If "hbase.meta.replicas.use" is configured, the mode will be set to "HedgedRead".

For branch-2 support, it introduces support for ReversedScan over a specific non-default replica region, this is mainly
for load balance meta scan among all its replica regions.

Remove ConnectionImplementation#setUseMetaReplicas()
@huaxiangsun huaxiangsun merged commit 920cf9f into apache:HBASE-18070.branch-2 Nov 20, 2020
@Apache-HBase
Copy link

💔 -1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 1m 17s Docker mode activated.
-1 ❌ patch 0m 7s #2640 does not apply to HBASE-18070.branch-2. Rebase required? Wrong Branch? See https://yetus.apache.org/documentation/in-progress/precommit-patchnames for help.
Subsystem Report/Notes
Docker ClientAPI=1.40 ServerAPI=1.40 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2640/8/artifact/yetus-general-check/output/Dockerfile
GITHUB PR #2640
Console output https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2640/8/console
versions git=2.17.1
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase
Copy link

💔 -1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 1m 29s Docker mode activated.
-1 ❌ patch 0m 7s #2640 does not apply to HBASE-18070.branch-2. Rebase required? Wrong Branch? See https://yetus.apache.org/documentation/in-progress/precommit-patchnames for help.
Subsystem Report/Notes
Docker ClientAPI=1.40 ServerAPI=1.40 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2640/8/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile
GITHUB PR #2640
Console output https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2640/8/console
versions git=2.17.1
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase
Copy link

🎊 +1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 0m 38s Docker mode activated.
-0 ⚠️ yetus 0m 7s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ HBASE-18070.branch-2 Compile Tests _
+0 🆗 mvndep 0m 14s Maven dependency ordering for branch
+1 💚 mvninstall 3m 14s HBASE-18070.branch-2 passed
+1 💚 compile 1m 22s HBASE-18070.branch-2 passed
+1 💚 shadedjars 5m 56s branch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 1m 0s HBASE-18070.branch-2 passed
_ Patch Compile Tests _
+0 🆗 mvndep 0m 17s Maven dependency ordering for patch
+1 💚 mvninstall 3m 16s the patch passed
+1 💚 compile 1m 21s the patch passed
+1 💚 javac 1m 21s the patch passed
+1 💚 shadedjars 5m 57s patch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 1m 2s the patch passed
_ Other Tests _
+1 💚 unit 2m 11s hbase-client in the patch passed.
+1 💚 unit 139m 30s hbase-server in the patch passed.
168m 37s
Subsystem Report/Notes
Docker ClientAPI=1.40 ServerAPI=1.40 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2640/8/artifact/yetus-jdk8-hadoop2-check/output/Dockerfile
GITHUB PR #2640
Optional Tests javac javadoc unit shadedjars compile
uname Linux 672472fdaf5a 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 dev-support/hbase-personality.sh
git revision HBASE-18070.branch-2 / 47ad207
Default Java AdoptOpenJDK-1.8.0_232-b09
Test Results https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2640/8/testReport/
Max. process+thread count 4334 (vs. ulimit of 12500)
modules C: hbase-client hbase-server U: .
Console output https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2640/8/console
versions git=2.17.1 maven=3.6.3
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
4 participants