rpcserver+itest: skip err from FlapCount

We need to make sure the `ListPeers` to be robust against errors from
the `FlapCount` so this RPC won't fail due to no flap count info. Also
updated the itest to check this field.
This commit is contained in:
yyforyongyu
2025-09-15 17:47:06 +08:00
parent e50ecac2f2
commit 2d59976e16
2 changed files with 16 additions and 1 deletions

View File

@@ -257,6 +257,17 @@ func testListChannels(ht *lntest.HarnessTest) {
assertChannelConstraintsEqual(
ht, aliceChannel.RemoteConstraints, bobChannel.LocalConstraints,
)
// Finally we assert that the flap count is updated as expected.
resp := alice.RPC.ListPeers()
// Assert Alice only have one peer.
require.Len(ht, resp.Peers, 1)
for _, p := range resp.Peers {
// The channel open event resulted in an online event, so we
// expect the flap count to be 1.
require.EqualValues(ht, 1, p.FlapCount)
}
}
// testMaxPendingChannels checks that error is returned from remote peer if

View File

@@ -3561,8 +3561,12 @@ func (r *rpcServer) ListPeers(ctx context.Context,
flap, ts, err := r.server.chanEventStore.FlapCount(
vertex,
)
// Log the error if we cannot get the flap count instead
// of failing this RPC call.
if err != nil {
return nil, err
rpcsLog.Debugf("Failed to get flap count for "+
"peer %v", vertex)
}
// If our timestamp is non-nil, we have values for our