You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rocketmq.apache.org by ji...@apache.org on 2022/06/10 05:59:52 UTC
[rocketmq] branch 5.0.0-beta-dledger-controller updated: [Summer of code] Let controller become role state after append initial logs (#4442)
This is an automated email from the ASF dual-hosted git repository.
jinrongtong pushed a commit to branch 5.0.0-beta-dledger-controller
in repository https://gitbox.apache.org/repos/asf/rocketmq.git
The following commit(s) were added to refs/heads/5.0.0-beta-dledger-controller by this push:
new 6645d0a42 [Summer of code] Let controller become role state after append initial logs (#4442)
6645d0a42 is described below
commit 6645d0a42b743fc003ed54658cd24e99c375ac8b
Author: hzh0425 <64...@qq.com>
AuthorDate: Fri Jun 10 13:59:37 2022 +0800
[Summer of code] Let controller become role state after append initial logs (#4442)
* fix bug
* fix bug
---
.../java/org/apache/rocketmq/controller/impl/DLedgerController.java | 2 +-
.../apache/rocketmq/controller/impl/DLedgerControllerStateMachine.java | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/controller/src/main/java/org/apache/rocketmq/controller/impl/DLedgerController.java b/controller/src/main/java/org/apache/rocketmq/controller/impl/DLedgerController.java
index c8c213714..e99036817 100644
--- a/controller/src/main/java/org/apache/rocketmq/controller/impl/DLedgerController.java
+++ b/controller/src/main/java/org/apache/rocketmq/controller/impl/DLedgerController.java
@@ -403,7 +403,6 @@ public class DLedgerController implements Controller {
DLedgerController.this.stopScheduling();
break;
case LEADER: {
- this.currentRole = MemberState.Role.LEADER;
log.info("Controller {} change role to leader, try process a initial proposal", this.selfId);
// Because the role becomes to leader, but the memory statemachine of the controller is still in the old point,
// some committed logs have not been applied. Therefore, we must first process an empty request to dledger,
@@ -414,6 +413,7 @@ public class DLedgerController implements Controller {
request.setBody(new byte[0]);
try {
if (appendToDledgerAndWait(request)) {
+ this.currentRole = MemberState.Role.LEADER;
DLedgerController.this.startScheduling();
break;
}
diff --git a/controller/src/main/java/org/apache/rocketmq/controller/impl/DLedgerControllerStateMachine.java b/controller/src/main/java/org/apache/rocketmq/controller/impl/DLedgerControllerStateMachine.java
index 4cfe3c5bd..7679adc36 100644
--- a/controller/src/main/java/org/apache/rocketmq/controller/impl/DLedgerControllerStateMachine.java
+++ b/controller/src/main/java/org/apache/rocketmq/controller/impl/DLedgerControllerStateMachine.java
@@ -54,8 +54,8 @@ public class DLedgerControllerStateMachine implements StateMachine {
if (body != null && body.length > 0) {
final EventMessage event = this.eventSerializer.deserialize(body);
this.replicasInfoManager.applyEvent(event);
- applyingSize++;
}
+ applyingSize++;
}
log.info("Apply {} events on controller {}", applyingSize, this.dledgerId);
}