Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

increase TNS state downloading timeout to 120 seconds #6487

Merged
merged 1 commit into from
Aug 12, 2024
Merged

increase TNS state downloading timeout to 120 seconds #6487

merged 1 commit into from
Aug 12, 2024

Conversation

tersec
Copy link
Contributor

@tersec tersec commented Aug 11, 2024

Over time, the natural ratio of largeRequestsTimeout to smallRequestsTimeout should increase, since the states (which contain both active and inactive validators) grow faster than the ongoing network traffic (which contain only active validators).

Reported the other day in #dev-helpdesk in Discord:
2024-08-11T23:40:49,220543020+00:00

@tersec tersec enabled auto-merge (squash) August 11, 2024 23:44
Copy link

Unit Test Results

         9 files  ±0    1 334 suites  ±0   29m 27s ⏱️ -40s
  5 064 tests ±0    4 716 ✔️ ±0  348 💤 ±0  0 ±0 
20 991 runs  ±0  20 587 ✔️ ±0  404 💤 ±0  0 ±0 

Results for commit 66a296c. ± Comparison against base commit f258cba.

@tersec tersec merged commit 2895df1 into unstable Aug 12, 2024
12 checks passed
@tersec tersec deleted the mOG branch August 12, 2024 01:49
@cmd0s
Copy link

cmd0s commented Dec 21, 2024

In my opinion, the current hardcoded timeout of 120 seconds is still insufficient for many scenarios. Slower networks, such as those with 16 Mbps download speeds, frequently fail to complete synchronization within this limit. Instead of advocating for yet another fixed increase to the timeout value, I propose a flexible solution: this Pull Request introduces a configurable --large-requests-timeout parameter for nimbus_beacon_node in trustedNodeSync mode.

Pull Request --> #6781

This approach empowers users to adapt the timeout to their network conditions, ensuring successful synchronization without altering the code. The default value remains at 120 seconds, maintaining backward compatibility, but users with challenging network conditions can now specify a custom timeout, such as --large-requests-timeout=300.

I lead the Web3Pi.io project, empowering users to seamlessly and automatically set up a full Ethereum node on Raspberry Pi devices. This streamlined setup includes both execution and consensus clients, with Nimbus as the default consensus client.

Our users span various countries and have diverse network conditions, ranging from high-speed connections to more constrained ones. For some users with slower connections, completing trustedNodeSync has been challenging. After examining this issue, I found that the timeout value for largeRequestsTimeout can be a limiting factor in certain cases. While increasing this value resolves the issue, I wanted to propose a more flexible and user-friendly approach to accommodate a wider range of network scenarios.

I believe this solution not only addresses the immediate synchronization issues but also enhances the versatility of nimbus_beacon_node for diverse environments. Thank you for considering this Pull Request!

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.

2 participants