You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@doris.apache.org by "deardeng (via GitHub)" <gi...@apache.org> on 2024/07/25 12:50:26 UTC
[PR] [feature](cloud) Support multi follower fe in cloud [doris]
deardeng opened a new pull request, #38388:
URL: https://github.com/apache/doris/pull/38388
## Proposed changes
Issue Number: close #xxx
<!--Describe your changes.-->
--
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: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [feature](cloud) Support multi follower fe in cloud [doris]
Posted by "doris-robot (via GitHub)" <gi...@apache.org>.
doris-robot commented on PR #38388:
URL: https://github.com/apache/doris/pull/38388#issuecomment-2250383772
<details>
<summary>TPC-H: <b>Total hot run time: 39963 ms</b></summary>
```
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/tpch-tools
Tpch sf100 test result on commit 03019769802bb7c09d058c2a9fc2f9a631ec3c72, data reload: false
------ Round 1 ----------------------------------
q1 17643 4640 4369 4369
q2 2360 200 195 195
q3 10513 1264 1099 1099
q4 10146 775 786 775
q5 7546 2788 2713 2713
q6 216 138 139 138
q7 1017 622 596 596
q8 9224 1963 1917 1917
q9 9268 6994 6936 6936
q10 8751 3773 3821 3773
q11 491 251 250 250
q12 394 225 222 222
q13 17889 2976 2952 2952
q14 277 244 241 241
q15 536 476 479 476
q16 505 394 382 382
q17 979 663 670 663
q18 8174 7608 7342 7342
q19 4936 1048 1039 1039
q20 670 347 341 341
q21 5047 3251 4025 3251
q22 351 303 293 293
Total cold run time: 116933 ms
Total hot run time: 39963 ms
----- Round 2, with runtime_filter_mode=off -----
q1 4502 4225 4225 4225
q2 371 264 277 264
q3 3011 2789 2734 2734
q4 1880 1613 1609 1609
q5 5298 5340 5334 5334
q6 218 134 134 134
q7 2119 1762 1740 1740
q8 3218 3373 3320 3320
q9 8925 8923 8841 8841
q10 3900 3674 3716 3674
q11 617 490 495 490
q12 785 615 605 605
q13 17453 3006 2968 2968
q14 303 269 268 268
q15 521 470 485 470
q16 469 431 422 422
q17 1778 1495 1468 1468
q18 7645 7503 7497 7497
q19 1663 1493 1514 1493
q20 1996 1793 1781 1781
q21 4899 4579 4787 4579
q22 576 518 542 518
Total cold run time: 72147 ms
Total hot run time: 54434 ms
```
</details>
--
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: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [feature](cloud) Support multi follower fe in cloud [doris]
Posted by "deardeng (via GitHub)" <gi...@apache.org>.
deardeng commented on PR #38388:
URL: https://github.com/apache/doris/pull/38388#issuecomment-2251847548
run buildall
--
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: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [feature](cloud) Support multi follower fe in cloud [doris]
Posted by "github-actions[bot] (via GitHub)" <gi...@apache.org>.
github-actions[bot] commented on PR #38388:
URL: https://github.com/apache/doris/pull/38388#issuecomment-2251844689
clang-tidy review says "All clean, LGTM! :+1:"
--
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: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [feature](cloud) Support multi follower fe in cloud [doris]
Posted by "gavinchou (via GitHub)" <gi...@apache.org>.
gavinchou commented on code in PR #38388:
URL: https://github.com/apache/doris/pull/38388#discussion_r1738359699
##########
gensrc/proto/cloud.proto:
##########
@@ -142,6 +142,7 @@ message NodeInfoPB {
UNKNOWN = 0;
FE_MASTER = 1;
Review Comment:
add comment // lagacy logic for one-master-multi-observer mode
##########
cloud/src/resource-manager/resource_manager.cpp:
##########
@@ -618,6 +631,37 @@ std::pair<TxnErrorCode, std::string> ResourceManager::get_instance(std::shared_p
return ec;
}
+// check instance pb is valid
+bool instance_is_valid(const InstanceInfoPB& instance) {
Review Comment:
is_instance_valid()
##########
fe/fe-core/src/main/java/org/apache/doris/cloud/catalog/CloudClusterChecker.java:
##########
@@ -371,22 +371,33 @@ private void getCloudObserverFes() {
LOG.debug("get cloud cluster, clusterId={} nodes={}",
Config.cloud_sql_server_cluster_id, cpb.getNodesList());
}
- List<Frontend> currentFes = Env.getCurrentEnv().getFrontends(FrontendNodeType.OBSERVER);
+ List<Frontend> currentFollowers = Env.getCurrentEnv().getFrontends(FrontendNodeType.FOLLOWER);
+ List<Frontend> currentObservers = Env.getCurrentEnv().getFrontends(FrontendNodeType.OBSERVER);
+ currentFollowers.addAll(currentObservers);
+ List<Frontend> currentFes = new ArrayList<>(currentFollowers.stream().collect(Collectors.toMap(
+ fe -> fe.getHost() + ":" + fe.getEditLogPort(),
+ fe -> fe,
+ (existing, replacement) -> existing
+ )).values());
List<Frontend> toAdd = new ArrayList<>();
List<Frontend> toDel = new ArrayList<>();
List<Cloud.NodeInfoPB> expectedFes = cpb.getNodesList();
diffNodes(toAdd, toDel, () -> {
+ // memory
Map<String, Frontend> currentMap = new HashMap<>();
String selfNode = Env.getCurrentEnv().getSelfNode().getIdent();
for (Frontend fe : currentFes) {
String endpoint = fe.getHost() + "_" + fe.getEditLogPort();
if (selfNode.equals(endpoint)) {
continue;
}
+ // add type to map key, for diff
+ endpoint = endpoint + "_" + fe.getRole();
Review Comment:
do we allow different roles for an idnetical endpont?
##########
fe/fe-core/src/main/java/org/apache/doris/cloud/catalog/CloudClusterChecker.java:
##########
@@ -399,9 +410,15 @@ private void getCloudObserverFes() {
if (selfNode.equals(endpoint)) {
continue;
}
- Frontend fe = new Frontend(FrontendNodeType.OBSERVER,
+ Cloud.NodeInfoPB.NodeType type = node.getNodeType();
Review Comment:
warning if any MASTER is given
--
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: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [feature](cloud) Support multi follower fe in cloud [doris]
Posted by "deardeng (via GitHub)" <gi...@apache.org>.
deardeng commented on code in PR #38388:
URL: https://github.com/apache/doris/pull/38388#discussion_r1740777975
##########
gensrc/proto/cloud.proto:
##########
@@ -142,6 +142,7 @@ message NodeInfoPB {
UNKNOWN = 0;
FE_MASTER = 1;
FE_OBSERVER = 2;
+ FE_FOLLOWER = 3;
Review Comment:
为了兼容旧的 cloud 逻辑
--
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: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [feature](cloud) Support multi follower fe in cloud [doris]
Posted by "dataroaring (via GitHub)" <gi...@apache.org>.
dataroaring merged PR #38388:
URL: https://github.com/apache/doris/pull/38388
--
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: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [feature](cloud) Support multi follower fe in cloud [doris]
Posted by "doris-robot (via GitHub)" <gi...@apache.org>.
doris-robot commented on PR #38388:
URL: https://github.com/apache/doris/pull/38388#issuecomment-2325587569
<details>
<summary>ClickBench: <b>Total hot run time: 32.85 s</b></summary>
```
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/clickbench-tools
ClickBench test result on commit 63cff667c51eec15b0cc4de5011085b0bbda162e, data reload: false
query1 0.05 0.04 0.04
query2 0.09 0.04 0.04
query3 0.23 0.05 0.05
query4 1.67 0.08 0.08
query5 0.53 0.50 0.50
query6 1.14 0.72 0.72
query7 0.02 0.02 0.01
query8 0.06 0.04 0.05
query9 0.55 0.48 0.48
query10 0.56 0.54 0.54
query11 0.16 0.12 0.12
query12 0.16 0.12 0.12
query13 0.62 0.60 0.59
query14 2.04 2.10 2.07
query15 0.86 0.82 0.82
query16 0.37 0.38 0.38
query17 1.05 1.01 1.06
query18 0.21 0.19 0.21
query19 1.93 1.83 1.81
query20 0.01 0.02 0.01
query21 15.41 0.67 0.65
query22 4.00 7.09 2.58
query23 18.26 1.38 1.27
query24 2.08 0.24 0.21
query25 0.15 0.08 0.09
query26 0.27 0.18 0.18
query27 0.08 0.08 0.08
query28 13.26 1.02 1.00
query29 12.64 3.31 3.27
query30 0.24 0.06 0.05
query31 2.86 0.40 0.39
query32 3.26 0.48 0.47
query33 2.99 3.02 3.02
query34 17.02 4.45 4.51
query35 4.53 4.48 4.53
query36 0.66 0.48 0.50
query37 0.19 0.16 0.15
query38 0.16 0.14 0.15
query39 0.04 0.03 0.05
query40 0.14 0.12 0.13
query41 0.09 0.05 0.05
query42 0.06 0.05 0.04
query43 0.05 0.04 0.04
Total cold run time: 110.75 s
Total hot run time: 32.85 s
```
</details>
--
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: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [feature](cloud) Support multi follower fe in cloud [doris]
Posted by "deardeng (via GitHub)" <gi...@apache.org>.
deardeng commented on PR #38388:
URL: https://github.com/apache/doris/pull/38388#issuecomment-2325511015
run buildall
--
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: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [feature](cloud) Support multi follower fe in cloud [doris]
Posted by "github-actions[bot] (via GitHub)" <gi...@apache.org>.
github-actions[bot] commented on PR #38388:
URL: https://github.com/apache/doris/pull/38388#issuecomment-2324573968
clang-tidy review says "All clean, LGTM! :+1:"
--
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: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [feature](cloud) Support multi follower fe in cloud [doris]
Posted by "github-actions[bot] (via GitHub)" <gi...@apache.org>.
github-actions[bot] commented on PR #38388:
URL: https://github.com/apache/doris/pull/38388#issuecomment-2330459289
PR approved by at least one committer and no changes requested.
--
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: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [feature](cloud) Support multi follower fe in cloud [doris]
Posted by "yujun777 (via GitHub)" <gi...@apache.org>.
yujun777 commented on code in PR #38388:
URL: https://github.com/apache/doris/pull/38388#discussion_r1696185127
##########
regression-test/suites/cloud_p0/multi_cluster/test_multi_follower.groovy:
##########
@@ -0,0 +1,176 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements. See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership. The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied. See the License for the
+// specific language governing permissions and limitations
+// under the License.
+
+import org.apache.doris.regression.suite.ClusterOptions
+import groovy.json.JsonSlurper
+import org.awaitility.Awaitility
+import static java.util.concurrent.TimeUnit.SECONDS
+
+suite('test_multi_followr_in_cloud', 'multi_cluster') {
+ if (!isCloudMode()) {
+ return
+ }
+ def options = new ClusterOptions()
+ options.feConfigs += [
+ 'cloud_cluster_check_interval_second=1',
+ 'sys_log_verbose_modules=org',
+ 'heartbeat_interval_second=1'
+ ]
+ options.setFeNum(3)
+ options.setBeNum(1)
+ options.cloudMode = true
+ options.connectToFollower = true
+ options.useFollowersMode = true
+
+ docker(options) {
+ def f = "FOLLOWER"
+ def o = "OBSERVER"
+ def check = { int feNum, Closure checkFunc ->
+ def ret = sql_return_maparray """SHOW FRONTENDS"""
+ assertEquals(feNum, ret.size())
+ Boolean hasMaster = false
+ checkFunc.call(ret)
+ ret.each { row ->
+ if (Boolean.parseBoolean(row.IsMaster)) {
+ hasMaster = true
+ }
+ }
+ assertTrue(hasMaster)
+ }
+
+ def transferType = { String old ->
+ if (old.contains(f)) {
+ return "FE_FOLLOWER"
+ } else if (old.contains(o)) {
+ return "FE_OBSERVER"
+ }
+ }
+
+ check(3) { ret ->
+ ret.each {
+ assertTrue(it.Role.contains(f))
+ }
+ }
+ // get fe clusterName
+ ret = sql_return_maparray """ADMIN SHOW FRONTEND CONFIG LIKE '%cloud_sql_server_cluster_name%'"""
Review Comment:
ret is a global var, add def
--
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: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [feature](cloud) Support multi follower fe in cloud [doris]
Posted by "w41ter (via GitHub)" <gi...@apache.org>.
w41ter commented on code in PR #38388:
URL: https://github.com/apache/doris/pull/38388#discussion_r1697833036
##########
gensrc/proto/cloud.proto:
##########
@@ -142,6 +142,7 @@ message NodeInfoPB {
UNKNOWN = 0;
FE_MASTER = 1;
FE_OBSERVER = 2;
+ FE_FOLLOWER = 3;
Review Comment:
How about changing `FE_MASTER` to `FE_FOLLOWER`, to make it more consistent with the local mode?
##########
fe/fe-core/src/main/java/org/apache/doris/cloud/system/CloudSystemInfoService.java:
##########
@@ -285,16 +285,24 @@ public synchronized void updateFrontends(List<Frontend> toAdd, List<Frontend> to
if (masterIp.equals(fe.getHost())) {
continue;
}
- Env.getCurrentEnv().addFrontend(FrontendNodeType.OBSERVER,
- fe.getHost(), fe.getEditLogPort(), fe.getNodeName());
- LOG.info("added cloud frontend={} ", fe);
+ try {
+ Env.getCurrentEnv().addFrontend(fe.getRole(),
+ fe.getHost(), fe.getEditLogPort(), fe.getNodeName());
+ LOG.info("added cloud frontend={} ", fe);
+ } catch (DdlException e) {
+ LOG.warn("failed to add cloud frontend={} ", fe);
+ }
}
for (Frontend fe : toDel) {
if (masterIp.equals(fe.getHost())) {
continue;
}
- Env.getCurrentEnv().dropFrontend(FrontendNodeType.OBSERVER, fe.getHost(), fe.getEditLogPort());
- LOG.info("dropped cloud frontend={} ", fe);
+ try {
+ Env.getCurrentEnv().dropFrontend(fe.getRole(), fe.getHost(), fe.getEditLogPort());
Review Comment:
Delete first and then add, otherwise the cluster surviving nodes may not be able to form a majority.
--
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: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [feature](cloud) Support multi follower fe in cloud [doris]
Posted by "doris-robot (via GitHub)" <gi...@apache.org>.
doris-robot commented on PR #38388:
URL: https://github.com/apache/doris/pull/38388#issuecomment-2250245485
Thank you for your contribution to Apache Doris.
Don't know what should be done next? See [How to process your PR](https://cwiki.apache.org/confluence/display/DORIS/How+to+process+your+PR)
Since 2024-03-18, the Document has been moved to [doris-website](https://github.com/apache/doris-website).
See [Doris Document](https://cwiki.apache.org/confluence/display/DORIS/Doris+Document).
--
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: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [feature](cloud) Support multi follower fe in cloud [doris]
Posted by "github-actions[bot] (via GitHub)" <gi...@apache.org>.
github-actions[bot] commented on PR #38388:
URL: https://github.com/apache/doris/pull/38388#issuecomment-2297941744
PR approved by anyone and no changes requested.
--
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: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [feature](cloud) Support multi follower fe in cloud [doris]
Posted by "gavinchou (via GitHub)" <gi...@apache.org>.
gavinchou commented on code in PR #38388:
URL: https://github.com/apache/doris/pull/38388#discussion_r1738357822
##########
cloud/src/resource-manager/resource_manager.cpp:
##########
@@ -157,28 +157,41 @@ bool ResourceManager::check_cluster_params_valid(const ClusterPB& cluster, std::
std::stringstream ss;
bool no_err = true;
int master_num = 0;
+ int follower_num = 0;
for (auto& n : cluster.nodes()) {
if (ClusterPB::SQL == cluster.type() && n.has_edit_log_port() && n.edit_log_port() &&
n.has_node_type() &&
(n.node_type() == NodeInfoPB_NodeType_FE_MASTER ||
- n.node_type() == NodeInfoPB_NodeType_FE_OBSERVER)) {
+ n.node_type() == NodeInfoPB_NodeType_FE_OBSERVER ||
+ n.node_type() == NodeInfoPB_NodeType_FE_FOLLOWER)) {
master_num += n.node_type() == NodeInfoPB_NodeType_FE_MASTER ? 1 : 0;
+ follower_num += n.node_type() == NodeInfoPB_NodeType_FE_FOLLOWER ? 1 : 0;
continue;
- }
- if (ClusterPB::COMPUTE == cluster.type() && n.has_heartbeat_port() && n.heartbeat_port()) {
+ } else if (ClusterPB::COMPUTE == cluster.type() && n.has_heartbeat_port() &&
+ n.heartbeat_port()) {
continue;
}
ss << "check cluster params failed, node : " << proto_to_json(n);
*err = ss.str();
no_err = false;
break;
}
- // ATTN: add_cluster check must have only a master node
- // add_node doesn't check it
- if (check_master_num && ClusterPB::SQL == cluster.type() && master_num != 1) {
+
+ if (check_master_num && ClusterPB::SQL == cluster.type()) {
no_err = false;
- ss << "cluster is SQL type, must have only one master node, now master count: "
- << master_num;
+ if (master_num && follower_num) {
Review Comment:
if (num_master > 0 && num_follower > 0)
--
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: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [feature](cloud) Support multi follower fe in cloud [doris]
Posted by "doris-robot (via GitHub)" <gi...@apache.org>.
doris-robot commented on PR #38388:
URL: https://github.com/apache/doris/pull/38388#issuecomment-2325574869
<details>
<summary>TPC-H: <b>Total hot run time: 38092 ms</b></summary>
```
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/tpch-tools
Tpch sf100 test result on commit 63cff667c51eec15b0cc4de5011085b0bbda162e, data reload: false
------ Round 1 ----------------------------------
q1 18047 4526 4353 4353
q2 2038 181 185 181
q3 11489 993 1198 993
q4 10177 722 747 722
q5 7747 2878 2788 2788
q6 239 138 142 138
q7 969 626 597 597
q8 9365 2106 2053 2053
q9 7063 6614 6637 6614
q10 6983 2241 2209 2209
q11 462 245 242 242
q12 394 219 221 219
q13 17750 3054 3096 3054
q14 271 230 238 230
q15 542 478 493 478
q16 583 536 515 515
q17 999 626 731 626
q18 7532 6886 6949 6886
q19 1410 1104 999 999
q20 706 337 338 337
q21 3944 2916 2844 2844
q22 1119 1033 1014 1014
Total cold run time: 109829 ms
Total hot run time: 38092 ms
----- Round 2, with runtime_filter_mode=off -----
q1 4402 4348 4263 4263
q2 382 278 267 267
q3 2896 2670 2621 2621
q4 1903 1670 1668 1668
q5 5634 5697 5745 5697
q6 244 138 135 135
q7 2256 1809 1799 1799
q8 3286 3445 3448 3445
q9 8910 8870 8828 8828
q10 3571 3360 3429 3360
q11 638 516 529 516
q12 827 673 655 655
q13 14556 3168 3284 3168
q14 318 297 299 297
q15 544 492 475 475
q16 611 587 568 568
q17 1848 1582 1521 1521
q18 8260 8005 7867 7867
q19 1724 1496 1442 1442
q20 2140 1895 1920 1895
q21 5707 5326 5360 5326
q22 1145 1062 1026 1026
Total cold run time: 71802 ms
Total hot run time: 56839 ms
```
</details>
--
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: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [feature](cloud) Support multi follower fe in cloud [doris]
Posted by "deardeng (via GitHub)" <gi...@apache.org>.
deardeng commented on code in PR #38388:
URL: https://github.com/apache/doris/pull/38388#discussion_r1740777208
##########
fe/fe-core/src/main/java/org/apache/doris/cloud/catalog/CloudClusterChecker.java:
##########
@@ -371,22 +371,33 @@ private void getCloudObserverFes() {
LOG.debug("get cloud cluster, clusterId={} nodes={}",
Config.cloud_sql_server_cluster_id, cpb.getNodesList());
}
- List<Frontend> currentFes = Env.getCurrentEnv().getFrontends(FrontendNodeType.OBSERVER);
+ List<Frontend> currentFollowers = Env.getCurrentEnv().getFrontends(FrontendNodeType.FOLLOWER);
+ List<Frontend> currentObservers = Env.getCurrentEnv().getFrontends(FrontendNodeType.OBSERVER);
+ currentFollowers.addAll(currentObservers);
+ List<Frontend> currentFes = new ArrayList<>(currentFollowers.stream().collect(Collectors.toMap(
+ fe -> fe.getHost() + ":" + fe.getEditLogPort(),
+ fe -> fe,
+ (existing, replacement) -> existing
+ )).values());
List<Frontend> toAdd = new ArrayList<>();
List<Frontend> toDel = new ArrayList<>();
List<Cloud.NodeInfoPB> expectedFes = cpb.getNodesList();
diffNodes(toAdd, toDel, () -> {
+ // memory
Map<String, Frontend> currentMap = new HashMap<>();
String selfNode = Env.getCurrentEnv().getSelfNode().getIdent();
for (Frontend fe : currentFes) {
String endpoint = fe.getHost() + "_" + fe.getEditLogPort();
if (selfNode.equals(endpoint)) {
continue;
}
+ // add type to map key, for diff
+ endpoint = endpoint + "_" + fe.getRole();
Review Comment:
no
--
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: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [feature](cloud) Support multi follower fe in cloud [doris]
Posted by "doris-robot (via GitHub)" <gi...@apache.org>.
doris-robot commented on PR #38388:
URL: https://github.com/apache/doris/pull/38388#issuecomment-2250409923
<details>
<summary>TPC-DS: <b>Total hot run time: 172269 ms</b></summary>
```
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/tpcds-tools
TPC-DS sf100 test result on commit 03019769802bb7c09d058c2a9fc2f9a631ec3c72, data reload: false
query1 917 387 367 367
query2 6446 1953 1940 1940
query3 6657 204 217 204
query4 26941 17554 17471 17471
query5 4255 489 479 479
query6 280 170 162 162
query7 4585 288 286 286
query8 241 196 194 194
query9 8455 2431 2406 2406
query10 443 278 264 264
query11 10579 10044 10100 10044
query12 139 84 83 83
query13 1604 366 369 366
query14 10499 7920 7184 7184
query15 224 165 162 162
query16 7171 468 485 468
query17 1328 536 544 536
query18 1828 279 273 273
query19 186 139 140 139
query20 93 84 89 84
query21 206 98 101 98
query22 4236 4087 4015 4015
query23 33738 33191 33257 33191
query24 11247 2841 2944 2841
query25 645 371 377 371
query26 1341 155 152 152
query27 3030 267 275 267
query28 7359 2026 2015 2015
query29 899 413 436 413
query30 284 153 150 150
query31 963 741 740 740
query32 97 52 56 52
query33 764 345 320 320
query34 900 473 475 473
query35 907 730 732 730
query36 1124 939 932 932
query37 151 79 80 79
query38 2825 2752 2734 2734
query39 899 803 787 787
query40 277 116 120 116
query41 46 44 44 44
query42 117 104 97 97
query43 494 472 472 472
query44 1224 724 733 724
query45 209 173 175 173
query46 1094 717 755 717
query47 1833 1738 1752 1738
query48 373 306 295 295
query49 1131 436 446 436
query50 809 412 414 412
query51 6801 6769 6779 6769
query52 140 90 88 88
query53 257 179 182 179
query54 853 441 441 441
query55 76 79 74 74
query56 299 279 279 279
query57 1168 1040 1055 1040
query58 265 257 271 257
query59 2848 2776 2720 2720
query60 324 274 287 274
query61 97 95 92 92
query62 831 646 635 635
query63 209 189 188 188
query64 10158 2243 1711 1711
query65 3168 3128 3116 3116
query66 1037 355 323 323
query67 15381 14801 14748 14748
query68 4576 554 565 554
query69 441 310 306 306
query70 1085 1156 1017 1017
query71 418 273 263 263
query72 7539 5668 5958 5668
query73 784 327 333 327
query74 6027 5666 5557 5557
query75 3407 2735 2711 2711
query76 2904 942 947 942
query77 460 329 312 312
query78 9697 9315 8829 8829
query79 2707 531 530 530
query80 2135 499 499 499
query81 604 221 218 218
query82 743 138 137 137
query83 313 185 184 184
query84 269 79 79 79
query85 1997 322 307 307
query86 486 315 312 312
query87 3336 3074 3091 3074
query88 3851 2410 2397 2397
query89 403 283 284 283
query90 1791 191 197 191
query91 130 97 106 97
query92 70 52 51 51
query93 2004 552 552 552
query94 815 304 285 285
query95 354 274 269 269
query96 596 270 272 270
query97 3249 3037 2987 2987
query98 229 219 188 188
query99 1602 1282 1243 1243
Total cold run time: 281027 ms
Total hot run time: 172269 ms
```
</details>
--
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: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [feature](cloud) Support multi follower fe in cloud [doris]
Posted by "github-actions[bot] (via GitHub)" <gi...@apache.org>.
github-actions[bot] commented on PR #38388:
URL: https://github.com/apache/doris/pull/38388#issuecomment-2250257815
clang-tidy review says "All clean, LGTM! :+1:"
--
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: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [feature](cloud) Support multi follower fe in cloud [doris]
Posted by "deardeng (via GitHub)" <gi...@apache.org>.
deardeng commented on PR #38388:
URL: https://github.com/apache/doris/pull/38388#issuecomment-2250246075
run buildall
--
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: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [feature](cloud) Support multi follower fe in cloud [doris]
Posted by "doris-robot (via GitHub)" <gi...@apache.org>.
doris-robot commented on PR #38388:
URL: https://github.com/apache/doris/pull/38388#issuecomment-2250424043
<details>
<summary>ClickBench: <b>Total hot run time: 30.65 s</b></summary>
```
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/clickbench-tools
ClickBench test result on commit 03019769802bb7c09d058c2a9fc2f9a631ec3c72, data reload: false
query1 0.04 0.04 0.03
query2 0.08 0.04 0.03
query3 0.23 0.05 0.04
query4 1.68 0.07 0.08
query5 0.51 0.48 0.48
query6 1.14 0.72 0.72
query7 0.02 0.01 0.01
query8 0.04 0.04 0.05
query9 0.55 0.49 0.48
query10 0.54 0.56 0.55
query11 0.16 0.12 0.11
query12 0.14 0.12 0.12
query13 0.61 0.58 0.58
query14 0.74 0.78 0.77
query15 0.85 0.81 0.82
query16 0.37 0.36 0.37
query17 0.96 1.04 0.99
query18 0.23 0.22 0.22
query19 1.77 1.64 1.70
query20 0.01 0.01 0.01
query21 15.42 0.76 0.66
query22 4.90 6.41 2.06
query23 18.24 1.44 1.21
query24 2.11 0.22 0.22
query25 0.15 0.08 0.08
query26 0.30 0.21 0.21
query27 0.46 0.24 0.23
query28 13.33 1.01 1.00
query29 12.65 3.32 3.29
query30 0.25 0.06 0.05
query31 2.87 0.39 0.39
query32 3.25 0.47 0.47
query33 2.89 2.90 2.91
query34 17.16 4.34 4.40
query35 4.38 4.45 4.46
query36 0.66 0.46 0.48
query37 0.18 0.15 0.15
query38 0.16 0.15 0.15
query39 0.05 0.03 0.03
query40 0.15 0.12 0.13
query41 0.09 0.05 0.04
query42 0.05 0.04 0.05
query43 0.04 0.04 0.04
Total cold run time: 110.41 s
Total hot run time: 30.65 s
```
</details>
--
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: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [feature](cloud) Support multi follower fe in cloud [doris]
Posted by "github-actions[bot] (via GitHub)" <gi...@apache.org>.
github-actions[bot] commented on PR #38388:
URL: https://github.com/apache/doris/pull/38388#issuecomment-2325514923
clang-tidy review says "All clean, LGTM! :+1:"
--
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: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [feature](cloud) Support multi follower fe in cloud [doris]
Posted by "doris-robot (via GitHub)" <gi...@apache.org>.
doris-robot commented on PR #38388:
URL: https://github.com/apache/doris/pull/38388#issuecomment-2325583403
<details>
<summary>TPC-DS: <b>Total hot run time: 192673 ms</b></summary>
```
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/tpcds-tools
TPC-DS sf100 test result on commit 63cff667c51eec15b0cc4de5011085b0bbda162e, data reload: false
query1 1247 907 860 860
query2 6343 2046 1993 1993
query3 10755 3981 3896 3896
query4 60186 26974 23422 23422
query5 5313 506 500 500
query6 401 157 158 157
query7 5788 286 298 286
query8 294 213 238 213
query9 8809 2441 2455 2441
query10 499 275 262 262
query11 18165 15114 15525 15114
query12 153 103 96 96
query13 1589 402 411 402
query14 11116 7304 7531 7304
query15 221 180 185 180
query16 7388 499 487 487
query17 1105 604 553 553
query18 1746 291 297 291
query19 299 148 143 143
query20 127 105 106 105
query21 209 110 107 107
query22 4554 4511 4816 4511
query23 34060 33646 33188 33188
query24 5954 2869 2867 2867
query25 546 392 380 380
query26 685 152 154 152
query27 1795 276 277 276
query28 3915 2030 2022 2022
query29 627 404 403 403
query30 242 157 159 157
query31 909 766 779 766
query32 83 49 54 49
query33 474 281 303 281
query34 856 483 484 483
query35 804 700 696 696
query36 1072 954 926 926
query37 144 89 88 88
query38 4043 3834 3834 3834
query39 1448 1401 1371 1371
query40 199 115 113 113
query41 45 45 45 45
query42 112 92 98 92
query43 510 462 469 462
query44 1106 722 719 719
query45 196 206 167 167
query46 1078 743 779 743
query47 1869 1796 1801 1796
query48 360 300 298 298
query49 747 415 428 415
query50 806 418 403 403
query51 7036 6837 6780 6780
query52 96 87 85 85
query53 246 174 179 174
query54 559 459 458 458
query55 74 75 73 73
query56 272 252 246 246
query57 1202 1074 1045 1045
query58 227 250 237 237
query59 3116 2914 2828 2828
query60 291 269 268 268
query61 102 98 102 98
query62 746 641 622 622
query63 210 183 189 183
query64 2581 671 661 661
query65 3237 3155 3124 3124
query66 628 340 334 334
query67 15460 15269 15142 15142
query68 2973 560 546 546
query69 399 290 276 276
query70 1168 1153 1029 1029
query71 332 286 275 275
query72 6184 4056 4022 4022
query73 756 329 326 326
query74 9157 8952 9045 8952
query75 3346 2696 2729 2696
query76 1359 999 1007 999
query77 564 323 331 323
query78 9612 9637 9065 9065
query79 1048 525 519 519
query80 711 526 519 519
query81 469 237 237 237
query82 250 151 147 147
query83 179 230 148 148
query84 251 72 74 72
query85 674 297 279 279
query86 322 305 295 295
query87 4332 4296 4351 4296
query88 3173 2316 2317 2316
query89 374 286 288 286
query90 1995 190 188 188
query91 124 101 100 100
query92 59 50 50 50
query93 1029 525 529 525
query94 676 286 291 286
query95 322 297 253 253
query96 584 261 273 261
query97 3232 3061 3065 3061
query98 216 195 199 195
query99 1518 1258 1300 1258
Total cold run time: 304463 ms
Total hot run time: 192673 ms
```
</details>
--
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: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org