Skip to content

Commit 9b445ac

Browse files
fix: px protocol decode - do not treat missing response field as error (#3055)
* Fix missing response field of PeerExchange RPC treated as error. * Fix PX metrics from gauge to counter for better dashboard stats
1 parent e492c59 commit 9b445ac

File tree

2 files changed

+7
-5
lines changed

2 files changed

+7
-5
lines changed

waku/waku_peer_exchange/protocol.nim

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,10 @@ declarePublicGauge waku_px_peers_received_total,
2020
"number of ENRs received via peer exchange"
2121
declarePublicGauge waku_px_peers_received_unknown,
2222
"number of previously unknown ENRs received via peer exchange"
23-
declarePublicGauge waku_px_peers_sent, "number of ENRs sent to peer exchange requesters"
23+
declarePublicCounter waku_px_peers_sent,
24+
"number of ENRs sent to peer exchange requesters"
2425
declarePublicGauge waku_px_peers_cached, "number of peer exchange peer ENRs cached"
25-
declarePublicGauge waku_px_errors, "number of peer exchange errors", ["type"]
26+
declarePublicCounter waku_px_errors, "number of peer exchange errors", ["type"]
2627

2728
logScope:
2829
topics = "waku peer_exchange"

waku/waku_peer_exchange/rpc_codec.nim

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -103,8 +103,9 @@ proc decode*(T: type PeerExchangeRpc, buffer: seq[byte]): ProtobufResult[T] =
103103

104104
var responseBuffer: seq[byte]
105105
if not ?pb.getField(2, responseBuffer):
106-
return err(ProtobufError.missingRequiredField("response"))
107-
108-
rpc.response = ?PeerExchangeResponse.decode(responseBuffer)
106+
rpc.response =
107+
PeerExchangeResponse(status_code: PeerExchangeResponseStatusCode.UNKNOWN)
108+
else:
109+
rpc.response = ?PeerExchangeResponse.decode(responseBuffer)
109110

110111
ok(rpc)

0 commit comments

Comments
 (0)