-
Notifications
You must be signed in to change notification settings - Fork 41
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
Build timeout on package_build.py for Fedora #191
Comments
Hey @pleia2 hope you're doing well. I tried to reproduce this issue. I only executed the package_build.py file in a separate directory isolated from the actual code base (I was temporarily working on a windows PC, I got curious seeing this issue so hurriedly tried to reproduce it without setting up the entire repo with all the dependencies). I'll admit that the build took a long time (did not track how long but at least 6-7 minutes or more) but apparently it did eventually generate the Fedora_40_List.json file. Here's what I got:
Below is a snapshot of the directory structure I was using (within a virtual environment in python) I'm looking into ways that would make the build work faster but in the meantime I would be glad if you could tell me if there was anything specific you did in order to get this error (I'll run this again on my actual PC where the repository is set up properly to see if it gets regenerated there). Thanks! |
I'm guessing the scripts lacks timeout parameters on requests and error handling for the same. Also, we'd need to async it. That will make processing each file faster! |
hey @pleia2 |
@glitcher007 yes it's open I got busy with other things so couldn't keep track of this though I initially looked to make some changes.... You're more than welcome to work on it, or share some insights. May be we could come up with something together. |
Hi @glitcher007 Thanks for asking, it is! The big thing about this one is that it doesn't always happen, but when it does it blocks the installation from continuing, so it's important that we work to find a better way to gather this data. It's taking a long time because it's doing a bunch of requests as it traverses these directories, and I suspect that looks like some sort of attack to the Fedora servers, so it stops allowing access. We don't want that either 😄 |
Hii @pleia2 |
I was thinking if we can iterate over a mirrorlist to use some other mirror if the connection gets timed out. Something like https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-40&arch=s390x&country=global. I am still figuring out how the mirrorlist can be filtered for other distros. As a last resort, we can manually add some sources in a list. |
My big question about this approach is whether it's what the Fedora community would prefer. If they find our method of traversing directories to be a problem, just jumping to another mirror could be seen as abusive behavior. @sharkcz Do you have any thoughts? |
While generating the sources for Fedora, I got a build timeout while it was building Fedora 40. Full traceback below (the 404 errors are unrelated and a known issue).
Essentially, it looks like by traversing dozens of directories for three different versions, we're hitting some sort of rate limiting so it hangs until it finally fails without generating Fedora_40_List.json.
We should evaluate the logic we're using in the script, do some research into whether there's a better way of collecting this data (a different source or API?), and perhaps reach out to a contact at Fedora to get their thoughts.
The text was updated successfully, but these errors were encountered: