This is an automated email from the ASF dual-hosted git repository.
jinrongtong pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/rocketmq.git
The following commit(s) were added to refs/heads/develop by this push:
new 02595d936 [ISSUE #4845] Fix Controller design.md typo (#4846)
02595d936 is described below
commit 02595d9360afcf015eea499f5d83f505f99b8a44
Author: mxsm <[email protected]>
AuthorDate: Sat Aug 20 09:20:58 2022 +0800
[ISSUE #4845] Fix Controller design.md typo (#4846)
---
docs/cn/controller/design.md | 22 +++++++++++-----------
1 file changed, 11 insertions(+), 11 deletions(-)
diff --git a/docs/cn/controller/design.md b/docs/cn/controller/design.md
index 5814c88f2..6a51ad25b 100644
--- a/docs/cn/controller/design.md
+++ b/docs/cn/controller/design.md
@@ -74,7 +74,7 @@ Transfer 阶段:
- Slave ⽐较获取到的 Master EpochCahce <Startoffset,Endoffset>,从后往前依次和本地进行比对, 如果二者的
Epoch 与 StartOffset 相等, 则该 Epoch 有效,截断位点为两者中较⼩的 Endoffset,截断后修正⾃⼰的<Epoch ,
Startoffset> 信息,进⼊Transfer 阶 段;如果不相等,对比 Slave 前⼀个epoch,直到找到截断位点。
-```
+```java
slave:TreeMap<Epoch, Pair<startOffset,endOffset>> epochMap;
Iterator iterator = epochMap.entrySet().iterator();
truncateOffset = -1;
@@ -82,14 +82,14 @@ truncateOffset = -1;
//Epoch为从⼤到⼩排序
while (iterator.hasNext()) {
Map.Entry<Epoch, Pair<startOffset,endOffset>> curEntry = iterator.next();
- Pair<startOffset,endOffset> masterOffset=
- findMasterOffsetByEpoch(curEntry.getKey());
-
- if(masterOffset != null &&
- curEntry.getKey().getObejct1() == masterOffset.getObejct1()) {
- truncateOffset = Math.min(curEntry.getKey().getObejct2(),
masterOffset.getObejct2());
- break;
- }
+ Pair<startOffset,endOffset> masterOffset=
+ findMasterOffsetByEpoch(curEntry.getKey());
+
+ if(masterOffset != null &&
+ curEntry.getKey().getObejct1() == masterOffset.getObejct1()) {
+ truncateOffset = Math.min(curEntry.getKey().getObejct2(),
masterOffset.getObejct2());
+ break;
+ }
}
```
@@ -172,7 +172,7 @@ Slave 收到 Master 回送的包后, 就会在本地进行上文阐述的日志
### 基本流程
-ELectMaster 主要是在某 Broker 副本组的 Master 下线或不可访问时,重新从 SyncStateSet 列表⾥⾯选出⼀个新的
Master,该事件由 Controller ⾃身发起。
+ELectMaster 主要是在某 Broker 副本组的 Master 下线或不可访问时,重新从 SyncStateSet 列表⾥⾯选出⼀个新的
Master,该事件由 Controller ⾃身或者通过运维命令`electMaster` 发起Master选举。
无论 Controller 是独立部署, 还是嵌入在 Namesrv 中, 其都会监听每个 Broker 的连接通道, 如果某个 Broker
channel inActive 了, 就会判断该 Broker 是否为 Master, 如果是, 则会触发选主的流程。
@@ -194,7 +194,7 @@ Shrink SyncStateSet ,指把 SyncStateSet 副本集合中那些与Master差距
- Master 端通过定时任务扫描每一个 HaConnection, 如果 (cur_time -
connection.lastCaughtUpTimeMs) > haMaxTimeSlaveNotCatchUp,则该 Slave 是
Out-of-sync 的。
-- 如果检测到 Slave out of sync , master 会立刻和 Controller 上报, 从而 Shrink SyncStateSet。
+- 如果检测到 Slave out of sync , master 会立刻向 Controller 上报SyncStateSet, 从而 Shrink
SyncStateSet。
#### Expand