-
Notifications
You must be signed in to change notification settings - Fork 486
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
Unable to load a 1GB genesis file in 40 seconds in version 1.28.0. #7361
Comments
Can you share genesis file you are using? |
In my test environment, I generate a random genesis file every time using this script, which creates many accounts in one genesis file. For a quick test, this is a larger than 800MB genesis file of Endurance's mainnet. You could also try using this file: (But I haven't tried this file to see if it will produce the error. My error comes from the script method mentioned above.) |
hi @LukaszRozmej For the above mentioned performance regression, I've done a further investigation and have some conclusions and points I'd like to further discuss Regarding the performance issue: Issue identification method:
Regarding the 40s hard-coded timeout:
Let me know if you need any additional information or clarification on this matter. |
@ohko4711 thank you for the analysis. #7215 might have some unplanned effect though 60159fb shouldn't affect genesis based on the code, so not sure if it was this that could fix it. @benaadams can you check, both are your changes. I will move the timeout to config though. |
@LukaszRozmej Anything more planned for this issue? |
We could explore some additional optimizations that would not deserialize genesis file to an object, but it is very low priority now, so I think we can close. |
Description
Our custom network uses a large 1GB genesis.json file, and it worked fine with versions before 1.28.0, such as 1.27.x.
However, after upgrading to version 1.28.0, my Nethermind node can't start and encountered this error:
Steps to Reproduce
Actual behavior
The node can't start and logs a timeout of 40 seconds.
By the way, why is the
40s
timeout hardcoded?nethermind/src/Nethermind/Nethermind.Init/Steps/LoadGenesisBlock.cs
Line 23 in e856de5
Expected behavior
The node can start normally, just like in version 1.27.x.
Screenshots

Desktop (please complete the following information):
Please provide the following information regarding your setup:
Additional context
In my more precise testing, if the genesis file size exceeds 256MB, the node fails to start and times out while loading the genesis file.
My startup paramaters:
Logs
The text was updated successfully, but these errors were encountered: