From ceff0c20249b72b4bad80321f275f663a1d42bbf Mon Sep 17 00:00:00 2001 From: zghh <34953677+zghh@users.noreply.github.com> Date: Fri, 2 Jun 2023 11:27:17 +0800 Subject: [PATCH] Fix the bug that return 500 in /eth/v1/node/peers interface (#12483) * Fix the bug that return 500 in /eth/v1/node/peers interface * Update node.go --------- Co-authored-by: Nishant Das --- beacon-chain/rpc/eth/node/node.go | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/beacon-chain/rpc/eth/node/node.go b/beacon-chain/rpc/eth/node/node.go index 14ff6539f7..372e64148b 100644 --- a/beacon-chain/rpc/eth/node/node.go +++ b/beacon-chain/rpc/eth/node/node.go @@ -337,6 +337,9 @@ func handleEmptyFilters(req *ethpb.PeersRequest) (emptyState, emptyDirection boo func peerInfo(peerStatus *peers.Status, id peer.ID) (*ethpb.Peer, error) { enr, err := peerStatus.ENR(id) if err != nil { + if errors.Is(err, peerdata.ErrPeerUnknown) { + return nil, nil + } return nil, errors.Wrap(err, "could not obtain ENR") } var serializedEnr string @@ -348,14 +351,23 @@ func peerInfo(peerStatus *peers.Status, id peer.ID) (*ethpb.Peer, error) { } address, err := peerStatus.Address(id) if err != nil { + if errors.Is(err, peerdata.ErrPeerUnknown) { + return nil, nil + } return nil, errors.Wrap(err, "could not obtain address") } connectionState, err := peerStatus.ConnectionState(id) if err != nil { + if errors.Is(err, peerdata.ErrPeerUnknown) { + return nil, nil + } return nil, errors.Wrap(err, "could not obtain connection state") } direction, err := peerStatus.Direction(id) if err != nil { + if errors.Is(err, peerdata.ErrPeerUnknown) { + return nil, nil + } return nil, errors.Wrap(err, "could not obtain direction") } if eth.PeerDirection(direction) == eth.PeerDirection_UNKNOWN {