Skip to content

Commit

Permalink
fix: px protocol decode - do not treat missing response field as error (
Browse files Browse the repository at this point in the history
#3055)

* Fix missing response field of PeerExchange RPC treated as error.
* Fix PX metrics from gauge to counter for better dashboard stats
  • Loading branch information
NagyZoltanPeter authored Sep 24, 2024
1 parent e492c59 commit 9b445ac
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 5 deletions.
5 changes: 3 additions & 2 deletions waku/waku_peer_exchange/protocol.nim
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,10 @@ declarePublicGauge waku_px_peers_received_total,
"number of ENRs received via peer exchange"
declarePublicGauge waku_px_peers_received_unknown,
"number of previously unknown ENRs received via peer exchange"
declarePublicGauge waku_px_peers_sent, "number of ENRs sent to peer exchange requesters"
declarePublicCounter waku_px_peers_sent,
"number of ENRs sent to peer exchange requesters"
declarePublicGauge waku_px_peers_cached, "number of peer exchange peer ENRs cached"
declarePublicGauge waku_px_errors, "number of peer exchange errors", ["type"]
declarePublicCounter waku_px_errors, "number of peer exchange errors", ["type"]

logScope:
topics = "waku peer_exchange"
Expand Down
7 changes: 4 additions & 3 deletions waku/waku_peer_exchange/rpc_codec.nim
Original file line number Diff line number Diff line change
Expand Up @@ -103,8 +103,9 @@ proc decode*(T: type PeerExchangeRpc, buffer: seq[byte]): ProtobufResult[T] =

var responseBuffer: seq[byte]
if not ?pb.getField(2, responseBuffer):
return err(ProtobufError.missingRequiredField("response"))

rpc.response = ?PeerExchangeResponse.decode(responseBuffer)
rpc.response =
PeerExchangeResponse(status_code: PeerExchangeResponseStatusCode.UNKNOWN)
else:
rpc.response = ?PeerExchangeResponse.decode(responseBuffer)

ok(rpc)

0 comments on commit 9b445ac

Please sign in to comment.