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:
2 files changed
+16
-1
No files matched your search
@@ -257,6 +257,17 @@ func testListChannels(ht *lntest.HarnessTest) {
|
|||||||
assertChannelConstraintsEqual(
|
assertChannelConstraintsEqual(
|
||||||
ht, aliceChannel.RemoteConstraints, bobChannel.LocalConstraints,
|
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
|
// testMaxPendingChannels checks that error is returned from remote peer if
|
||||||
|
|||||||
+5
-1
@@ -3561,8 +3561,12 @@ func (r *rpcServer) ListPeers(ctx context.Context,
|
|||||||
flap, ts, err := r.server.chanEventStore.FlapCount(
|
flap, ts, err := r.server.chanEventStore.FlapCount(
|
||||||
vertex,
|
vertex,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// Log the error if we cannot get the flap count instead
|
||||||
|
// of failing this RPC call.
|
||||||
if err != nil {
|
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
|
// If our timestamp is non-nil, we have values for our
|
||||||
|
|||||||
Reference in new issue
Block a user