mirror of
https://github.com/etcd-io/etcd.git
synced 2024-09-27 06:25:44 +00:00
rafthttp: remove failureMap from peerStatus
The logging mechanism is verbose, so it is removed from peerStatus. We would like to see the status change of connection with peers, and one error that leads to deactivation. There is no need to print out all non-repeated errors.
This commit is contained in:
parent
099d8674c4
commit
5329159b5e
@ -31,14 +31,12 @@ type peerStatus struct {
|
||||
id types.ID
|
||||
mu sync.Mutex // protect variables below
|
||||
active bool
|
||||
failureMap map[failureType]string
|
||||
activeSince time.Time
|
||||
}
|
||||
|
||||
func newPeerStatus(id types.ID) *peerStatus {
|
||||
return &peerStatus{
|
||||
id: id,
|
||||
failureMap: make(map[failureType]string),
|
||||
id: id,
|
||||
}
|
||||
}
|
||||
|
||||
@ -49,25 +47,21 @@ func (s *peerStatus) activate() {
|
||||
plog.Infof("the connection with %s became active", s.id)
|
||||
s.active = true
|
||||
s.activeSince = time.Now()
|
||||
s.failureMap = make(map[failureType]string)
|
||||
}
|
||||
}
|
||||
|
||||
func (s *peerStatus) deactivate(failure failureType, reason string) {
|
||||
s.mu.Lock()
|
||||
defer s.mu.Unlock()
|
||||
msg := fmt.Sprintf("failed to %s %s on %s (%s)", failure.action, s.id, failure.source, reason)
|
||||
if s.active {
|
||||
plog.Errorf(msg)
|
||||
plog.Infof("the connection with %s became inactive", s.id)
|
||||
s.active = false
|
||||
s.activeSince = time.Time{}
|
||||
}
|
||||
logline := fmt.Sprintf("failed to %s %s on %s (%s)", failure.action, s.id, failure.source, reason)
|
||||
if r, ok := s.failureMap[failure]; ok && r == reason {
|
||||
plog.Debugf(logline)
|
||||
return
|
||||
}
|
||||
s.failureMap[failure] = reason
|
||||
plog.Errorf(logline)
|
||||
plog.Debugf(msg)
|
||||
}
|
||||
|
||||
func (s *peerStatus) isActive() bool {
|
||||
|
Loading…
x
Reference in New Issue
Block a user