mirror of
https://github.com/cubefs/cubefs.git
synced 2026-08-02 02:00:56 +00:00
fix(raft): set no leader for the application layer when raft stopped by panic.
Signed-off-by: true1064 <tangjingyu@oppo.com>
This commit is contained in:
parent
c9b97d24a2
commit
2313a509a7
@ -272,6 +272,7 @@ func (s *raft) run() {
|
||||
s.stopSnapping()
|
||||
s.raftConfig.Storage.Close()
|
||||
close(s.done)
|
||||
atomic.StorePointer(&s.curSoftSt, unsafe.Pointer(&softState{leader: NoLeader, term: 0}))
|
||||
log.LogWarnf("raft(%v) quit run", s.raftFsm.id)
|
||||
}()
|
||||
|
||||
|
||||
@ -888,14 +888,18 @@ func (mp *metaPartition) HandleLeaderChange(leader uint64) {
|
||||
go mp.raftPartition.TryToLeader(mp.config.PartitionId)
|
||||
return
|
||||
}
|
||||
log.LogDebugf("[metaPartition] HandleLeaderChange close conn %v, nodeId: %v, leader: %v", serverPort, mp.config.NodeId, leader)
|
||||
exporter.Warning(fmt.Sprintf("[metaPartition]mp[%v] HandleLeaderChange close conn %v, nodeId: %v, leader: %v", mp.config.PartitionId, serverPort, mp.config.NodeId, leader))
|
||||
log.LogDebugf("[metaPartition] pid: %v HandleLeaderChange close conn %v, nodeId: %v, leader: %v",
|
||||
mp.config.PartitionId, serverPort, mp.config.NodeId, leader)
|
||||
exporter.Warning(fmt.Sprintf("[metaPartition]mp[%v] HandleLeaderChange close conn %v, nodeId: %v, leader: %v",
|
||||
mp.config.PartitionId, serverPort, mp.config.NodeId, leader))
|
||||
conn.(*net.TCPConn).SetLinger(0)
|
||||
conn.Close()
|
||||
}
|
||||
if mp.config.NodeId != leader {
|
||||
log.LogDebugf("[metaPartition] pid: %v HandleLeaderChange become unleader nodeId: %v, leader: %v", mp.config.PartitionId, mp.config.NodeId, leader)
|
||||
exporter.Warning(fmt.Sprintf("[metaPartition] pid: %v HandleLeaderChange become unleader nodeId: %v, leader: %v", mp.config.PartitionId, mp.config.NodeId, leader))
|
||||
log.LogDebugf("[metaPartition] pid: %v HandleLeaderChange become unleader nodeId: %v, leader: %v",
|
||||
mp.config.PartitionId, mp.config.NodeId, leader)
|
||||
exporter.Warning(fmt.Sprintf("[metaPartition] pid: %v HandleLeaderChange become unleader nodeId: %v, leader: %v",
|
||||
mp.config.PartitionId, mp.config.NodeId, leader))
|
||||
mp.storeChan <- &storeMsg{
|
||||
command: stopStoreTick,
|
||||
}
|
||||
@ -905,8 +909,10 @@ func (mp *metaPartition) HandleLeaderChange(leader uint64) {
|
||||
command: startStoreTick,
|
||||
}
|
||||
|
||||
log.LogDebugf("[metaPartition] pid: %v HandleLeaderChange become leader conn %v, nodeId: %v, leader: %v", mp.config.PartitionId, serverPort, mp.config.NodeId, leader)
|
||||
exporter.Warning(fmt.Sprintf("[metaPartition] pid: %v HandleLeaderChange become leader conn %v, nodeId: %v, leader: %v", mp.config.PartitionId, serverPort, mp.config.NodeId, leader))
|
||||
log.LogDebugf("[metaPartition] pid: %v HandleLeaderChange become leader conn %v, nodeId: %v, leader: %v",
|
||||
mp.config.PartitionId, serverPort, mp.config.NodeId, leader)
|
||||
exporter.Warning(fmt.Sprintf("[metaPartition] pid: %v HandleLeaderChange become leader conn %v, nodeId: %v, leader: %v",
|
||||
mp.config.PartitionId, serverPort, mp.config.NodeId, leader))
|
||||
if mp.config.Start == 0 && mp.config.Cursor == 0 {
|
||||
id, err := mp.nextInodeID()
|
||||
if err != nil {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user