Skip to content
This repository has been archived by the owner on Dec 15, 2021. It is now read-only.

Commit

Permalink
[LC-219] set next_leader_id when do leader complain.
Browse files Browse the repository at this point in the history
  • Loading branch information
windies21 committed Mar 7, 2019
1 parent a596a3a commit 068c59c
Show file tree
Hide file tree
Showing 3 changed files with 4 additions and 5 deletions.
6 changes: 2 additions & 4 deletions loopchain/blockchain/epoch.py
Expand Up @@ -68,17 +68,15 @@ def complain_result(self) -> str:
vote_result = self.__complain_vote.get_result_detail(Epoch.COMPLAIN_VOTE_HASH, conf.LEADER_COMPLAIN_RATIO)

# detect complain vote fail, change new leader by order (of peer list) for next complain vote.
if not vote_result.result:
if not vote_result.result and self.next_leader_id:
util.logger.spam(f"complain vote fail! last voters({self.__complain_vote.get_voters()})")
voters = self.__complain_vote.get_voters()
peer_order_list = ObjectManager().channel_service.peer_manager.peer_order_list[conf.ALL_GROUP_ID]
peer_order_len = len(peer_order_list)
start_order = 1 # ObjectManager().channel_service.peer_manager.get_peer(self.leader_id).order

for i in range(peer_order_len):
index = i + start_order
if index >= peer_order_len:
index -= peer_order_len
index = (i + start_order) % (peer_order_len + 1)

try:
candidate_leader = peer_order_list[index]
Expand Down
2 changes: 1 addition & 1 deletion loopchain/channel/channel_statemachine.py
Expand Up @@ -163,6 +163,6 @@ def _leadercomplain_on_enter(self):

def _leadercomplain_on_exit(self):
util.logger.debug(f"_leadercomplain_on_exit")
self.__channel_service.stop_leader_complain_timer()
# self.__channel_service.stop_leader_complain_timer()

# }
1 change: 1 addition & 0 deletions loopchain/peer/block_manager.py
Expand Up @@ -699,6 +699,7 @@ def leader_complain(self):
current_leader_peer_id=complained_leader_id
)
new_leader_id = new_leader.peer_id if new_leader else None
self.epoch.next_leader_id = new_leader_id

if not isinstance(new_leader_id, str):
new_leader_id = ""
Expand Down

0 comments on commit 068c59c

Please sign in to comment.