From 25737bcb6bc7ab82985a0c27c2ca53a320c26041 Mon Sep 17 00:00:00 2001 From: darshankabariya Date: Wed, 10 Dec 2025 16:48:03 +0530 Subject: [PATCH] fix: store-query issue in v0.37.0 --- tests/testlib/wakunode.nim | 2 +- tools/confutils/cli_args.nim | 4 ++-- waku/factory/conf_builder/waku_conf_builder.nim | 13 ++++++------- waku/factory/waku_conf.nim | 11 ----------- waku/waku_store/client.nim | 11 +++++------ 5 files changed, 14 insertions(+), 27 deletions(-) diff --git a/tests/testlib/wakunode.nim b/tests/testlib/wakunode.nim index 0ab94265b..36aacce03 100644 --- a/tests/testlib/wakunode.nim +++ b/tests/testlib/wakunode.nim @@ -34,7 +34,7 @@ proc defaultTestWakuConfBuilder*(): WakuConfBuilder = @[parseIpAddress("1.1.1.1"), parseIpAddress("1.0.0.1")] ) builder.withNatStrategy("any") - builder.withMaxConnections(300) + builder.withMaxConnections(150) builder.withRelayServiceRatio("50:50") builder.withMaxMessageSize("1024 KiB") builder.withClusterId(DefaultClusterId) diff --git a/tools/confutils/cli_args.nim b/tools/confutils/cli_args.nim index 2be92105f..6811e335f 100644 --- a/tools/confutils/cli_args.nim +++ b/tools/confutils/cli_args.nim @@ -207,8 +207,8 @@ type WakuNodeConf* = object maxConnections* {. desc: - "Maximum allowed number of libp2p connections. (Default: 300) can't set it to less than 300", - defaultValue: 300, + "Maximum allowed number of libp2p connections. (Default: 150) that's recommended value for better connectivity", + defaultValue: 150, name: "max-connections" .}: int diff --git a/waku/factory/conf_builder/waku_conf_builder.nim b/waku/factory/conf_builder/waku_conf_builder.nim index 5833fcdfd..e80f1b4aa 100644 --- a/waku/factory/conf_builder/waku_conf_builder.nim +++ b/waku/factory/conf_builder/waku_conf_builder.nim @@ -587,14 +587,13 @@ proc build*( var maxConnections: int if builder.maxConnections.isSome(): - var mc = builder.maxConnections.get() # mutable to enforce minimum - if mc < 300: - warn "max-connections less than 300; using default 300", provided = mc - mc = 300 - maxConnections = mc + maxConnections = builder.maxConnections.get() + if maxConnections < 150: + warn "max-connections less than 150; we suggest using 150 or more for better connectivity", + provided = maxConnections else: - warn "Max Connections was not specified, defaulting to 300" - maxConnections = 300 + warn "Max Connections was not specified, defaulting to 150" + maxConnections = 150 # TODO: Do the git version thing here let agentString = builder.agentString.get("nwaku") diff --git a/waku/factory/waku_conf.nim b/waku/factory/waku_conf.nim index 404f690e7..899008221 100644 --- a/waku/factory/waku_conf.nim +++ b/waku/factory/waku_conf.nim @@ -231,19 +231,8 @@ proc validateNoEmptyStrings(wakuConf: WakuConf): Result[void, string] = return ok() -proc validateMaxConnectionsAndRatio(wakuConf: WakuConf): Result[void, string] = - if wakuConf.maxConnections < 300: - return - err("max-connections must be at least 300, provided " & $wakuConf.maxConnections) - if wakuConf.relayServiceRatio != "50:50": - return err( - "relay-service-ratio must be exactly 50:50, provided " & wakuConf.relayServiceRatio - ) - ok() - proc validate*(wakuConf: WakuConf): Result[void, string] = ?wakuConf.validateNodeKey() ?wakuConf.shardingConf.validateShards(wakuConf.subscribeShards) ?wakuConf.validateNoEmptyStrings() - ?wakuConf.validateMaxConnectionsAndRatio() return ok() diff --git a/waku/waku_store/client.nim b/waku/waku_store/client.nim index 3d6011d37..5b261af47 100644 --- a/waku/waku_store/client.nim +++ b/waku/waku_store/client.nim @@ -109,12 +109,11 @@ proc queryToAny*( lastError = StoreError(kind: ErrorCode.PEER_DIAL_FAILURE, address: $peer) continue - let res = await self.sendStoreRequest(request, connection) - if res.isOk(): - return res + let response = (await self.sendStoreRequest(request, connection)).valueOr: + warn "store query failed, trying next peer", peerId = peer.peerId, error = $error + lastError = error + continue - warn "store query failed, trying next peer", - peerId = peer.peerId, cause = $res.error - lastError = res.error + return ok(response) return err(lastError)