Skip to content

Conversation

igor-sirotin
Copy link
Collaborator

Closes #6949
Closes #4628

Requires:

Description

Instead of running peer exchange each 5 seconds, run it on demand for specific shard

@igor-sirotin igor-sirotin changed the title fix/6949 peer exchange loop fix: improve peer exchange loop logic Oct 15, 2025
@status-im-auto
Copy link
Member

status-im-auto commented Oct 15, 2025

Jenkins Builds

Commit #️⃣ Finished (UTC) Duration Platform Result
✔️ e6606b5 #1 2025-10-15 00:12:38 ~3 min macos/status-go 📦zip
✔️ e6606b5 #1 2025-10-15 00:13:11 ~4 min linux/status-go 📦zip
✔️ e6606b5 #1 2025-10-15 00:15:59 ~6 min windows/status-go 📦zip
✔️ e6606b5 #1 2025-10-15 00:19:53 ~10 min linux/nwaku 📦zip
✔️ e6606b5 #1 2025-10-15 00:22:16 ~13 min tests-rpc 📄log
✔️ e6606b5 #1 2025-10-15 00:36:30 ~27 min tests 📄log

Copy link

codecov bot commented Oct 15, 2025

Codecov Report

❌ Patch coverage is 62.96296% with 10 lines in your changes missing coverage. Please review.
✅ Project coverage is 59.48%. Comparing base (c0f75d6) to head (e6606b5).

Files with missing lines Patch % Lines
messaging/waku/gowaku.go 62.96% 7 Missing and 3 partials ⚠️
Additional details and impacted files
@@             Coverage Diff             @@
##           develop    #7005      +/-   ##
===========================================
+ Coverage    55.11%   59.48%   +4.37%     
===========================================
  Files          820      821       +1     
  Lines       116628   116647      +19     
===========================================
+ Hits         64275    69389    +5114     
+ Misses       45548    40169    -5379     
- Partials      6805     7089     +284     
Flag Coverage Δ
functional 34.81% <62.96%> (?)
unit 55.14% <55.55%> (+0.03%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
messaging/waku/gowaku.go 65.93% <62.96%> (+5.11%) ⬆️

... and 213 files with indirect coverage changes

w.logger.Debug("Running peer exchange loop")
err := w.node.PeerExchange().Request(

case status, ok := <-w.topicHealthStatusChan:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Iirc topic Health status for light/edge nodes where peer-Exchange is generally used is not implemented in go-waku. It is only implemented for relay mode.
Did you validate this in a setup and noticed that health is reported based on connections to Filter peers and available lightpush peers in peerStore?

that is how it is supposed to be derived as per #4628

- In lightMode: status-go shall derive it based on peer connections to Filter and lightpush(This shall be later migrated to SDK layer once https://github.com/status-im/status-go/pull/4665 is complete)

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm, weird. I did test it indeed and it looked like it's working 🤔

Let me double check carefully what's happening.

Thank you ❤️

@igor-sirotin igor-sirotin marked this pull request as draft October 16, 2025 17:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Improve the Peer Exchange loop logic feat: connection health should be shard specific

3 participants