mirror of
https://github.com/status-im/nimbus-eth2.git
synced 2025-02-17 08:56:45 +00:00
Fix an RPC error in Lighthouse triggered by the getMetadata message
This commit is contained in:
parent
2f9dc31b2e
commit
24a17f5814
@ -509,15 +509,18 @@ proc handleIncomingStream(network: Eth2Node,
|
|||||||
|
|
||||||
let deadline = sleepAsync RESP_TIMEOUT
|
let deadline = sleepAsync RESP_TIMEOUT
|
||||||
|
|
||||||
let msg = try:
|
let msg = if sizeof(MsgRec) > 0:
|
||||||
awaitWithTimeout(readChunkPayload(s, noSnappy, MsgRec), deadline):
|
try:
|
||||||
returnInvalidRequest "Request full data not sent in time"
|
awaitWithTimeout(readChunkPayload(s, noSnappy, MsgRec), deadline):
|
||||||
|
returnInvalidRequest "Request full data not sent in time"
|
||||||
|
|
||||||
except SerializationError as err:
|
except SerializationError as err:
|
||||||
returnInvalidRequest err.formatMsg("msg")
|
returnInvalidRequest err.formatMsg("msg")
|
||||||
|
|
||||||
except SnappyError as err:
|
except SnappyError as err:
|
||||||
returnInvalidRequest err.msg
|
returnInvalidRequest err.msg
|
||||||
|
else:
|
||||||
|
NetRes[MsgRec].ok default(MsgRec)
|
||||||
|
|
||||||
if msg.isErr:
|
if msg.isErr:
|
||||||
let (responseCode, errMsg) = case msg.error.kind
|
let (responseCode, errMsg) = case msg.error.kind
|
||||||
@ -556,7 +559,7 @@ proc handleIncomingStream(network: Eth2Node,
|
|||||||
await sendErrorResponse(peer, conn, noSnappy, ServerError, err.msg)
|
await sendErrorResponse(peer, conn, noSnappy, ServerError, err.msg)
|
||||||
|
|
||||||
except CatchableError as err:
|
except CatchableError as err:
|
||||||
debug "Error processing an incoming request", err = err.msg
|
debug "Error processing an incoming request", err = err.msg, msgName
|
||||||
|
|
||||||
finally:
|
finally:
|
||||||
await safeClose(conn)
|
await safeClose(conn)
|
||||||
@ -1031,7 +1034,7 @@ proc subscribe*[MsgType](node: Eth2Node,
|
|||||||
proc traceMessage(fut: FutureBase, digest: MDigest[256]) =
|
proc traceMessage(fut: FutureBase, digest: MDigest[256]) =
|
||||||
fut.addCallback do (arg: pointer):
|
fut.addCallback do (arg: pointer):
|
||||||
if not(fut.failed):
|
if not(fut.failed):
|
||||||
trace "Outgoing pubsub message has been sent", message_id = `$`(digest)
|
trace "Outgoing pubsub message sent", message_id = `$`(digest)
|
||||||
|
|
||||||
proc broadcast*(node: Eth2Node, topic: string, msg: auto) =
|
proc broadcast*(node: Eth2Node, topic: string, msg: auto) =
|
||||||
inc gossip_messages_sent
|
inc gossip_messages_sent
|
||||||
|
Loading…
x
Reference in New Issue
Block a user