Jelajahi Sumber

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.
Yicheng Qin 10 tahun lalu
induk
melakukan
5329159b5e
1 mengubah file dengan 4 tambahan dan 10 penghapusan
  1. 4 10
      rafthttp/peer_status.go

+ 4 - 10
rafthttp/peer_status.go

@@ -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 {