diff --git a/server/etcdserver/corrupt.go b/server/etcdserver/corrupt.go index 3a4bab6d5..256c15308 100644 --- a/server/etcdserver/corrupt.go +++ b/server/etcdserver/corrupt.go @@ -175,14 +175,7 @@ func (s *EtcdServer) checkHashKV() error { return } alarmed = true - a := &pb.AlarmRequest{ - MemberID: id, - Action: pb.AlarmRequest_ACTIVATE, - Alarm: pb.AlarmType_CORRUPT, - } - s.GoAttach(func() { - s.raftRequest(s.ctx, pb.InternalRaftRequest{Alarm: a}) - }) + s.triggerCorruptAlarm(id) } if h2 != h && rev2 == rev && crev == crev2 { @@ -245,6 +238,17 @@ func (s *EtcdServer) checkHashKV() error { return nil } +func (s *EtcdServer) triggerCorruptAlarm(id uint64) { + a := &pb.AlarmRequest{ + MemberID: id, + Action: pb.AlarmRequest_ACTIVATE, + Alarm: pb.AlarmType_CORRUPT, + } + s.GoAttach(func() { + s.raftRequest(s.ctx, pb.InternalRaftRequest{Alarm: a}) + }) +} + type peerInfo struct { id types.ID eps []string