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 <[email protected]>
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);
}