From 27ae07adaaea7beeae02cea9f8647b18cd9fb482 Mon Sep 17 00:00:00 2001 From: Ivan FB <128452529+Ivansete-status@users.noreply.github.com> Date: Wed, 6 May 2026 19:58:19 +0200 Subject: [PATCH] receive_service: ensure fetch msgs query is performed when missing msg (#3849) --- .../recv_service/recv_service.nim | 22 +++++++++++-------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/waku/node/delivery_service/recv_service/recv_service.nim b/waku/node/delivery_service/recv_service/recv_service.nim index 9f01ac267..64f4d683d 100644 --- a/waku/node/delivery_service/recv_service/recv_service.nim +++ b/waku/node/delivery_service/recv_service/recv_service.nim @@ -113,15 +113,19 @@ proc checkStore*(self: RecvService) {.async.} = let missedHashes: seq[WakuMessageHash] = msgHashesInStore.filterIt(not rxMsgHashes.contains(it)) - ## Now retrieve the missing WakuMessages and deliver them - let missingMsgsRet = await self.getMissingMsgsFromStore(missedHashes) - if missingMsgsRet.isOk(): - for msgTuple in missingMsgsRet.get(): - if self.processIncomingMessageOfInterest(msgTuple.pubsubTopic, msgTuple.msg): - info "recv service store-recovered message", - msg_hash = shortLog(msgTuple.hash), pubsubTopic = msgTuple.pubsubTopic - else: - error "failed to retrieve missing messages: ", error = $missingMsgsRet.error + if missedHashes.len > 0: + info "missed messages detected, checking store for missed messages", + pubsubTopic = pubsubTopic, missedCount = missedHashes.len + + ## Now retrieve the missing WakuMessages and deliver them + let missingMsgsRet = await self.getMissingMsgsFromStore(missedHashes) + if missingMsgsRet.isOk(): + for msgTuple in missingMsgsRet.get(): + if self.processIncomingMessageOfInterest(msgTuple.pubsubTopic, msgTuple.msg): + info "recv service store-recovered message", + msg_hash = shortLog(msgTuple.hash), pubsubTopic = msgTuple.pubsubTopic + else: + error "failed to retrieve missing messages: ", error = $missingMsgsRet.error ## update next check times self.startTimeToCheck = self.endTimeToCheck