[Bug 483189] New: zypper dup - too many questions when redirector targets incomplete mirrors
https://bugzilla.novell.com/show_bug.cgi?id=483189 Summary: zypper dup - too many questions when redirector targets incomplete mirrors Classification: openSUSE Product: openSUSE 11.2 Version: Factory Platform: i386 OS/Version: Other Status: NEW Severity: Normal Priority: P5 - None Component: Installation AssignedTo: bnc-team-screening@forge.provo.novell.com ReportedBy: abittner@stud.fh-heilbronn.de QAContact: jsrain@novell.com Found By: --- User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1b3) Gecko/20090305 Firefox/3.1b3 (.NET CLR 3.5.30729) hi there, testing zypper dup from 11.1 to 11.2 alpha/factory. deleted all repositories inside 11.1 clean install. added new repository for 11.2 pointing to http://download.opensuse.org/factory/repo/ zypper in zypper zypper dup zypper dup starts after a while and downloads and installs 10xx something packages.... every now and then i get zypper questions that tell me that it didnt find various rpm file on download.opensuse.org/factory/repo/..... i have verified with squid-cache that some mirrors that the redirector is redirecting to arent completed or messed or whatever else.... thats when zypper complains and stops. selecting r (retry) sometimes several times for just one file (probably meaning that apparently even multiple mirrors are incomplete or inconsistent) it eventually continues with its work..... squid access logs: 1236446694.249 114 192.168.254.254 TCP_MISS/302 909 GET http://download.opensuse.org/factory/repo/oss/suse/i586/libkdepim4-4.2.0-3.7... - DIRECT/195.135.221.130 text/html 1236446694.343 94 192.168.254.254 TCP_MISS/404 1420 GET http://ftp5.gwdg.de/pub/opensuse/factory/repo/oss/suse/i586/libkdepim4-4.2.0... - DIRECT/134.76.12.5 text/html 1236446698.057 140 192.168.254.254 TCP_MISS/200 6908 GET http://download.opensuse.org/factory/repo/oss/suse/i586/libkdepim4-4.2.0-3.7... - DIRECT/195.135.221.130 application/metalink+xml 1236446698.154 92 192.168.254.254 TCP_CLIENT_REFRESH_MISS/404 1419 GET http://ftp5.gwdg.de/pub/opensuse/factory/repo/oss/suse/i586/libkdepim4-4.2.0... - DIRECT/134.76.12.5 text/html 1236446698.456 394 192.168.254.254 TCP_MISS/206 197004 GET http://ftp.halifax.rwth-aachen.de/opensuse/factory/repo/oss/suse/i586/libkde... - DIRECT/137.226.33.58 application/x-rpm 1236446698.543 388 192.168.254.254 TCP_MISS/200 269391 GET http://ftp4.gwdg.de/pub/opensuse/factory/repo/oss/suse/i586/libkdepim4-4.2.0... - DIRECT/134.76.12.4 application/x-rpm 1236446699.043 62 192.168.254.254 TCP_MISS/302 950 GET http://download.opensuse.org/factory/repo/oss/suse/i586/libkdepim4-4.2.0-3.7... - DIRECT/195.135.221.130 text/html 1236446699.421 377 192.168.254.254 TCP_MISS/200 459090 GET http://download.uni-hd.de/ftp/pub/linux/opensuse/factory/repo/oss/suse/i586/... - DIRECT/129.206.100.134 application/x-rpm zypper needs to become much more robust i think. thanks and greetings. Reproducible: Always Steps to Reproduce: 1. 2. 3. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=483189 User abittner@stud.fh-heilbronn.de added comment https://bugzilla.novell.com/show_bug.cgi?id=483189#c1 --- Comment #1 from andreas bittner <abittner@stud.fh-heilbronn.de> 2009-03-07 12:38:52 MST --- additional info: i am trying the netinst isos to install current factory (x86) i am using: http://download.opensuse.org/factory/iso/openSUSE-Factory-NET-i586-Build0026... downloading from repository via http through proxy. i am experiencing the same problems at various packages: Sat Mar 7 20:32:11 2009 280 192.168.150.47 TCP_MISS/302 933 GET http://download.opensuse.org/factory/repo/oss/suse/noarch/bundle-lang-kde-en... - DIRECT/195.135.221.130 text/html Sat Mar 7 20:32:11 2009 102 192.168.150.47 TCP_MISS/404 1420 GET http://ftp5.gwdg.de/pub/opensuse/factory/repo/oss/suse/noarch/bundle-lang-kd... - DIRECT/134.76.12.5 text/html and i thought i was remembering that the mirrorbrain infrastructure somehow kept track of the status of the mirrors, of their reliability, and what files are present on what servers and what files need to be served directly from the suse/novell infrastructure and so forth... either there is some serious bug in the mirrorbrain today or just for factory, or the mirrors are somewhat corrupted. if you ask me, the whole download mechanism (zypper?) or whatever component is involved need to get serious enhancements, needs to get more fault tolerant, more foolproof, failsafe measures or simple retries a few times before bringing up the error dialog boxes for a thousand rpm packages that are missing on various incomplete mirror servers. factory is pretty much uninstallable if you dont plan spending all day in front of your installation and interactively taking part and having fun with dialogboxes. thanks. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=483189 User abittner@stud.fh-heilbronn.de added comment https://bugzilla.novell.com/show_bug.cgi?id=483189#c2 --- Comment #2 from andreas bittner <abittner@stud.fh-heilbronn.de> 2009-03-08 08:14:36 MST --- btw, where do i submit bugreports/enhancements to mirrorbrain? is there a separate product in the novell bugzilla or something? didnt find anything yet. i have sent a mail to mirrorbrain info address, and i also have a huge list of http/404 error urls/files here that factory net-installs gave me while trying to install. what happens if actually an early file/url gets 404ed where yast2 install isnt started yet in interactive mode and cannot retry tho get the file again? the installation ends there i suppose, as not every part of install is interactive. maybe we need to enhance the whole file-fetching process and make it much more reliable alltogether, in addition to the bad mirrorbrain behaviour. what component would the file downloading/handling of the various file sources (local files, http, ftp, smb sources and so on) be? where could i report such enhancements? greetings. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=483189 User poeml@novell.com added comment https://bugzilla.novell.com/show_bug.cgi?id=483189#c3 Peter Poeml <poeml@novell.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |dmacvicar@novell.com, | |poeml@novell.com AssignedTo|bnc-team-screening@forge.pr |poeml@novell.com |ovo.novell.com | --- Comment #3 from Peter Poeml <poeml@novell.com> 2009-03-08 15:53:06 MST --- Hi Andreas. With 11.1, you are using the "plain, old, dumb" zypper that will always have problems downloading stuff because whenever it encounters a problem it'll not deal with it. That will not change (in 11.1), but in 11.2 we plan to offer a download client that works remarkably better. See http://en.opensuse.org/Libzypp/Failover for an overview. Actually, if you update to Factory, you will be one of the first who get the benefit of the new technology. Of course, we cannot give much guarentee yet that you won't also run into severe bugs. Anyhow, testing will mature this, and it is worth it. Of course, to get there, you will have to use 11.1's libzypp to update to the current state at all, which could be a little painful. However, you could actually look at http://en.opensuse.org/Libzypp/Failover which describes how to activate the hidden prototype that shipped with 11.1 -- or how to update some packages from zypp:Head and go from there. Anyway, during the last two days we faced an additional little hurdle; there was a severe bug in the new libzypp download client, but this bug was not "published" to Factory yet, and we found it in time by testing. Now, I wanted to make sure that the fixed libzypp/ download client arrives in the published Factory tree the same time as the bug, but not later, because it would have meant some hassle for our users (manual intervention would have been needed). In order to prevent the broken change going out I stopped the publishing of Factory, while mirrors were still being updated. Thus, what you might have seen during the last 48 hours is that mirrors had a slightly different state than Factory on download.opensuse.org. Note that wouldn matter if you'd already use the new download client, ant that it would not happen this way if I hadn't intervened here (for a reason). Meanwhile, the bug fix is there and sync is active again. Note that download.opensuse.org _will_, for some time, redirect to mirrors that give a 404 for Factory(!) (not elsewhere). This is normal for now and is due to the way that Factory is synced to mirrors. This is planned to be solved by implementing the Factory in a way that integrates with the mirror database (so it always knows, what mirrors have, and doesn't find out about it only later). In addition, with the new download client it doesn't matter at all, because it is robust against that. The "new" Factory sync will take some more time to be implemented though. Maybe you have read my recent posting here http://lists.opensuse.org/opensuse-project/2009-02/msg00110.html about the status of Factory publishing. So, what you see is not a serious bug in MirrorBrain. We just sync Factory in a way that is a bit incompatible with it and the old failure-prone zypper. What you see is the reverse coin of: "http://download.opensuse.org/factory/ keeps the previous package version available for a grace period." This allows you to continue updating while all is in flux... While download.opensuse.org keeps the packages, they are quickly deleted on mirrors. There is not much to do about it, except what I mentioned above - full integration of the sync and the database update needs to be implemented in the future for Factory. * I got your mail to info@mirrorbrain.org, and it's fine to write there; about openSUSE relevant issues, the bugzilla at novell.com is appropriate. There is actually a product "openSUSE.org" and component "download infrastructure", which you can use. The issue at hand is specific to Factory. Either place to report things is fine in the end, as long as it reaches me ;-) which it usually does quite quickly. * You are fully correct with the assumption that if a "bad" redirect, or a mirror failure, or a failed transfer, et cetera, happens for one of the *initial* files that are loaded in a network install, like for instance the initial ramdisk. I can tell from experience that I have found whole broken mirrors just because of this single issue, because a simple "retry" doesn't help here -- or rather, a "retry" comprises a complete new boot and try again to load the instsys, which is rather cumbersome if one runs into problems during that. My hope is that the new powerful download client (aria2c) will be in the instsys, so it is used during installation, and I expect this to be the case. The loading of the initial files would remain the last heel of Achilles. It might be conveivable to implement a minimal metalink client in the instsys, which uses the provided metalink to verify the download and retry listed mirrors in order (which would be easy to implement). * About your very last question: all download behaviour is part of libzypp, which is then used by both YaST and zypper. There is a bugzill component libzypp which is the correct component for all issues around libzypp downloads, regardless the medium. *** I hope this somehow answers your questions, even if not all may be to your satisfaction so far. I am doing an unscheduled mirror scan to clean up old factory redirects, to improve the chances of a reasonable update to Factory for the next users to come. Thanks for your report - for your time and effort, Andreas! -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=483189 User abittner@stud.fh-heilbronn.de added comment https://bugzilla.novell.com/show_bug.cgi?id=483189#c4 --- Comment #4 from andreas bittner <abittner@stud.fh-heilbronn.de> 2009-03-08 18:53:34 MST --- thanks for the hints, maybe i will head over to the libzypp discussion or malinglist and add some comments there, because i think the whole installation (especially with remote and relatively slow downloads as sources) could be sped up when the client (libzypp) would actually refer to a list of files to fetch (download, load from media, load from disk, from wherever...) and simply load all the files in the background (parallel, independant of the installation procedure (rpm)) and then create a list on its own (or create the local cache of rpm files or how it works at the moment), and the installer would then simply work on the locally cached/downloaded/fetched files instead of "download-install-download(loop)" procedure, which is kind of very slow and inefficient especially on lot of small files and/or few big files which take relatively long to install, while the network is completely idle and isnt already downloading further packages.... maybe this basic idea of parallelism and multiple lists of "files-yet-to-get", "files-already-local" and so on could be added or somewhat enhanced. if things on the list go bad, or the list (files-to-get) significantly differs from "files-already-local", then one single dialogbox (user interaction) could be presented instead and/or automatic retries (first) could be worked on the whole "files-that-failed-fetching_n-times" list for a few times before presenting further user interaction or something like that. thanks for the details and regards. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=483189 User poeml@novell.com added comment https://bugzilla.novell.com/show_bug.cgi?id=483189#c5 --- Comment #5 from Peter Poeml <poeml@novell.com> 2009-03-08 21:00:49 MST --- Check features.opensuse.org, there is a suggestion about downloading in parallel to installing being tracked already. https://features.opensuse.org/120340 for instance. And maybe there is another one. Good news, over the last hours I have implemented a subdirectory scan that actually deletes files from the database. So far, our scanner could do either complete scans, or partial scans without deletions. Since I reimplemented the whole mirror file database in a different way, it is structured in a way that it is possible to do efficient substring matches on path names. This means that I can do cleanup scans (which remove stale files from the database, thus preventing bad redirects) much more efficiently. Now it doesn't require an expensive full scan anymore, but just a subdirectory scan which I can do every few hours. This will greatly alleviate the issue reported here. I have an idea in the back of my head for parallel download; we could provide a "precompiled" metalink with all the files, and libzypp could download that and use it to download the referenced files from it that it needs. Would be perfect for installation. Just an idea for now though, not thought through. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
participants (1)
-
bugzilla_noreply@novell.com