[Bug 1200425] New: Zypper fails to refresh repo for first time
http://bugzilla.opensuse.org/show_bug.cgi?id=1200425 Bug ID: 1200425 Summary: Zypper fails to refresh repo for first time Classification: openSUSE Product: openSUSE Distribution Version: Leap 15.4 Hardware: Other OS: Other Status: NEW Severity: Normal Priority: P5 - None Component: libzypp Assignee: zypp-maintainers@suse.de Reporter: dheidler@suse.com QA Contact: qa-bugs@suse.de CC: ma@suse.com Found By: --- Blocker: --- Created attachment 859529 --> http://bugzilla.opensuse.org/attachment.cgi?id=859529&action=edit zypper logs for the failing refresh call Steps to reproduce: podman run --rm -it registry.opensuse.org/opensuse/leap bash zypper -n addrepo https://download.opensuse.org/repositories/devel:/openQA/openSUSE_Leap_15.4 'devel:openQA' zypper -n --gpg-auto-import-keys refresh This will lead to the error: Repository 'devel:openQA' is invalid. [devel:openQA|https://download.opensuse.org/repositories/devel:/openQA/openSUSE_Leap_15.4] Valid metadata not found at specified URL History: - File './repodata/2ad6a48622cfbd2c7a5da44242c2b188c7c97fd31a9e08f2951650964a589bba-primary.xml.gz' not found on medium 'https://download.opensuse.org/repositories/devel:/openQA/openSUSE_Leap_15.4' - Can't provide ./repodata/2ad6a48622cfbd2c7a5da44242c2b188c7c97fd31a9e08f2951650964a589bba-primary.xml.gz Please check if the URIs defined for this repository are pointing to a valid repository. Skipping repository 'devel:openQA' because of the above error. Even though the repo is valid. And the odd thing is that when calling "zypper -n --gpg-auto-import-keys refresh" again, it will work from now on. Related Ticket: https://progress.opensuse.org/issues/111587 -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1200425
Oliver Kurz
http://bugzilla.opensuse.org/show_bug.cgi?id=1200425
Oliver Kurz
http://bugzilla.opensuse.org/show_bug.cgi?id=1200425
http://bugzilla.opensuse.org/show_bug.cgi?id=1200425#c1
Benjamin Zeller
http://bugzilla.opensuse.org/show_bug.cgi?id=1200425
http://bugzilla.opensuse.org/show_bug.cgi?id=1200425#c2
--- Comment #2 from Benjamin Zeller
http://bugzilla.opensuse.org/show_bug.cgi?id=1200425
http://bugzilla.opensuse.org/show_bug.cgi?id=1200425#c3
--- Comment #3 from Dominik Heidler
http://bugzilla.opensuse.org/show_bug.cgi?id=1200425
http://bugzilla.opensuse.org/show_bug.cgi?id=1200425#c4
--- Comment #4 from Benjamin Zeller
Hm - could it be that we have a broken mirror server? And on the 2nd attempt we're lucky and get a mirror that has the desired file. That would also explain the issues I had when updating one of my machines from 15.3 to 15.4.
Just also checked the logs for the cases when it worked. Whats interesting is, is that I get redirects from d.o.o in the functioning cases but a direct 404 if it is not working, as if the server "sometimes" can not find a mirror. However I can see no difference in the requests in both cases. - Both times a existing connection is reused - Its HTTP/2 in both cases - Same request args are used But also , why does it always fail on the first attempt... -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1200425
http://bugzilla.opensuse.org/show_bug.cgi?id=1200425#c5
--- Comment #5 from Michael Andres
http://bugzilla.opensuse.org/show_bug.cgi?id=1200425
http://bugzilla.opensuse.org/show_bug.cgi?id=1200425#c6
--- Comment #6 from Dominik Heidler
http://bugzilla.opensuse.org/show_bug.cgi?id=1200425
http://bugzilla.opensuse.org/show_bug.cgi?id=1200425#c7
Michael Andres
http://bugzilla.opensuse.org/show_bug.cgi?id=1200425
http://bugzilla.opensuse.org/show_bug.cgi?id=1200425#c8
--- Comment #8 from Michael Andres
As you can see in the openQA job history, the issues started to appear first on 2022-06-07. And most probably without any changes too zypp
-- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1200425 http://bugzilla.opensuse.org/show_bug.cgi?id=1200425#c9 --- Comment #9 from Michael Andres--- In case we can check the servers logs. The failing request 2022-06-13 10:53:30 from 91.55.248.129: > * Found bundle for host download.opensuse.org: 0x5604f43a9ce0 [can multiplex] > * Re-using existing connection! (#0) with host download.opensuse.org > * Connected to download.opensuse.org (195.135.221.134) port 443 (#0) > * Using Stream ID: 7 (easy handle 0x5604f43b47b0) > > GET /repositories/devel:/openQA/openSUSE_Leap_15.4/repodata/b137b90094f320a6254d1879cb7a5c30d3bbb8a4a1c8757084f4c09922779981-prim> > > Host: download.opensuse.org > > User-Agent: ZYpp 17.30.1 (curl 7.66.0) > > X-ZYpp-AnonymousId: 508ce7fd-36c7-4aad-ba2a-edef9fbd16f9 > > Accept: */*, application/metalink+xml, application/metalink4+xml > * The requested URL returned error: 404 > * stopped the pause stream! > * Connection #0 to host download.opensuse.org left intact 10 seconds later 2022-06-13 10:53:30 the succeeding one: > * Found bundle for host download.opensuse.org: 0x55ca297b34a0 [can multiplex] > * Re-using existing connection! (#0) with host download.opensuse.org > * Connected to download.opensuse.org (195.135.221.134) port 443 (#0) > * Using Stream ID: 7 (easy handle 0x55ca296eca70) > > GET /repositories/devel:/openQA/openSUSE_Leap_15.4/repodata/b137b90094f320a6254d1879cb7a5c30d3bbb8a4a1c8757084f4c09922779981-prim> > > Host: download.opensuse.org > > User-Agent: ZYpp 17.30.1 (curl 7.66.0) > > X-ZYpp-AnonymousId: 508ce7fd-36c7-4aad-ba2a-edef9fbd16f9 > > Accept: */*, application/metalink+xml, application/metalink4+xml > < HTTP/2 302 > < content-length: 0 > < server: Apache > < location: https://mirrorcache-eu.opensuse.org/repositories/devel:/openQA/openSUSE_Leap_15.4/repodata/b137b90094f320a6254d1879cb7a> >s_curl):117 redirecting to location: https://mirrorcache-eu.opensuse.org/repositories/devel:/openQA/openSUSE_Leap_15.4/repodata/b137> > < date: Mon, 13 Jun 2022 08:53:30 GMT > < cache-control: must-revalidate > < expires: Mon, 13 Jun 2022 08:53:30 GMT > < content-type: application/x-gzip > * Connection #0 to host download.opensuse.org left intact > * Issue another request to this URL: 'https://mirrorcache-eu.opensuse.org/repositories/devel:/openQA/openSUSE_Leap_15.4/repodata/b1> > * Trying 195.135.221.140:443... > * TCP_NODELAY set > * Connected to mirrorcache-eu.opensuse.org (195.135.221.140) port 443 (#1) > * ALPN, offering h2 > * ALPN, offering http/1.1 > * successfully set certificate verify locations: > * CAfile: none > * CApath: /etc/ssl/certs > * TLSv1.3 (OUT), TLS handshake, Client hello (1): > * TLSv1.3 (IN), TLS handshake, Server hello (2): > * TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8): > * TLSv1.3 (IN), TLS handshake, Certificate (11): > * TLSv1.3 (IN), TLS handshake, CERT verify (15): > * TLSv1.3 (IN), TLS handshake, Finished (20): > * TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1): > * TLSv1.3 (OUT), TLS handshake, Finished (20): > * SSL connection using TLSv1.3 / TLS_AES_128_GCM_SHA256 > * ALPN, server accepted to use h2 > * Server certificate: > * subject: CN=opensuse.org > * start date: May 11 00:59:07 2022 GMT > * expire date: Aug 9 00:59:06 2022 GMT > * subjectAltName: host "mirrorcache-eu.opensuse.org" matched cert's "*.opensuse.org" > * issuer: C=US; O=Let's Encrypt; CN=R3 > * SSL certificate verify ok. > * Using HTTP2, server supports multi-use > * Connection state changed (HTTP/2 confirmed) > * Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0 > * Using Stream ID: 1 (easy handle 0x55ca296eca70) > > GET /repositories/devel:/openQA/openSUSE_Leap_15.4/repodata/b137b90094f320a6254d1879cb7a5c30d3bbb8a4a1c8757084f4c09922779981-prim> > > Host: mirrorcache-eu.opensuse.org > > User-Agent: ZYpp 17.30.1 (curl 7.66.0) > > X-ZYpp-AnonymousId: 508ce7fd-36c7-4aad-ba2a-edef9fbd16f9 > > Accept: */*, application/metalink+xml, application/metalink4+xml > * TLSv1.3 (IN), TLS handshake, Newsession Ticket (4): > * TLSv1.3 (IN), TLS handshake, Newsession Ticket (4): > * old SSL session ID is stale, removing > * Connection state changed (MAX_CONCURRENT_STREAMS == 100)! > < HTTP/2 302 > < location: https://downloadcontent.opensuse.org/repositories/devel:/openQA/openSUSE_Leap_15.4/repodata/b137b90094f320a6254d1879cb7> >s_curl):117 redirecting to location: https://downloadcontent.opensuse.org/repositories/devel:/openQA/openSUSE_Leap_15.4/repodata/b13> > < content-length: 0 > < date: Mon, 13 Jun 2022 08:53:30 GMT > < x-frame-options: SAMEORIGIN > < x-xss-protection: 1; mode=block > < x-content-type-options: nosniff > < referrer-policy: no-referrer-when-downgrade > < strict-transport-security: max-age=15768000 > * Connection #1 to host mirrorcache-eu.opensuse.org left intact > * Issue another request to this URL: 'https://downloadcontent.opensuse.org/repositories/devel:/openQA/openSUSE_Leap_15.4/repodata/b> > * Trying 195.135.221.157:443... > * TCP_NODELAY set > * Connected to downloadcontent.opensuse.org (195.135.221.157) port 443 (#2) > * ALPN, offering h2 > * ALPN, offering http/1.1 > * successfully set certificate verify locations: > * CAfile: none > * CApath: /etc/ssl/certs > * TLSv1.3 (OUT), TLS handshake, Client hello (1): > * TLSv1.3 (IN), TLS handshake, Server hello (2): > * TLSv1.2 (IN), TLS handshake, Certificate (11): > * TLSv1.2 (IN), TLS handshake, Server key exchange (12): > * TLSv1.2 (IN), TLS handshake, Server finished (14): > * TLSv1.2 (OUT), TLS handshake, Client key exchange (16): > * TLSv1.2 (OUT), TLS change cipher, Change cipher spec (1): > * TLSv1.2 (OUT), TLS handshake, Finished (20): > * TLSv1.2 (IN), TLS handshake, Finished (20): > * SSL connection using TLSv1.2 / ECDHE-RSA-AES256-GCM-SHA384 > * ALPN, server accepted to use h2 > * Server certificate: > * subject: CN=opensuse.org > * start date: May 11 00:58:24 2022 GMT > * expire date: Aug 9 00:58:23 2022 GMT > * subjectAltName: host "downloadcontent.opensuse.org" matched cert's "*.opensuse.org" > * issuer: C=US; O=Let's Encrypt; CN=R3 > * SSL certificate verify ok. > * Using HTTP2, server supports multi-use > * Connection state changed (HTTP/2 confirmed) > * Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0 > * Using Stream ID: 1 (easy handle 0x55ca296eca70) > > GET /repositories/devel:/openQA/openSUSE_Leap_15.4/repodata/b137b90094f320a6254d1879cb7a5c30d3bbb8a4a1c8757084f4c09922779981-prim> > > Host: downloadcontent.opensuse.org > > User-Agent: ZYpp 17.30.1 (curl 7.66.0) > > X-ZYpp-AnonymousId: 508ce7fd-36c7-4aad-ba2a-edef9fbd16f9 > > Accept: */*, application/metalink+xml, application/metalink4+xml > * Connection state changed (MAX_CONCURRENT_STREAMS == 128)! > < HTTP/2 200 > < server: nginx > < date: Mon, 13 Jun 2022 08:53:30 GMT > < content-type: application/octet-stream > < content-length: 19465 > < last-modified: Mon, 13 Jun 2022 08:45:40 GMT > < etag: "62a6f934-4c09" > < strict-transport-security: max-age=31536000 > < accept-ranges: bytes To me it looks like the server is too slow to lauch something. Subsequent requests succeeded. But now after I took awhile to write this. It fails again (once), and after having been primed succeeded 4 times in a row. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1200425
http://bugzilla.opensuse.org/show_bug.cgi?id=1200425#c10
--- Comment #10 from Benjamin Zeller
curl -L -H "Accept: */*, application/metalink+xml, application/metalink4+xml" https://download.opensuse.org/repositories/devel:/openQA/openSUSE_Leap_15.4/...
Here i constantly get errors and just sometimes a success, removing the metalink makes it work:
curl -L -H "Accept: */*" https://download.opensuse.org/repositories/devel:/openQA/openSUSE_Leap_15.4/...
-- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1200425
Pavel Dost�l
http://bugzilla.opensuse.org/show_bug.cgi?id=1200425
http://bugzilla.opensuse.org/show_bug.cgi?id=1200425#c11
Michael Andres
http://bugzilla.opensuse.org/show_bug.cgi?id=1200425
Dominik Heidler
http://bugzilla.opensuse.org/show_bug.cgi?id=1200425
Michael Andres
http://bugzilla.opensuse.org/show_bug.cgi?id=1200425
http://bugzilla.opensuse.org/show_bug.cgi?id=1200425#c13
--- Comment #13 from Andrii Nikitin
http://bugzilla.opensuse.org/show_bug.cgi?id=1200425
http://bugzilla.opensuse.org/show_bug.cgi?id=1200425#c14
Oliver Kurz
Here i constantly get errors and just sometimes a success, removing the metalink makes it work
How about making that a zypper feature to automatically fall back to `ZYPP_MULTICURL=0` after multiple failed attempts to work around broken mirroring infrastructure? -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1200425
http://bugzilla.opensuse.org/show_bug.cgi?id=1200425#c15
--- Comment #15 from Benjamin Zeller
(In reply to Benjamin Zeller from comment #10)
Here i constantly get errors and just sometimes a success, removing the metalink makes it work
How about making that a zypper feature to automatically fall back to `ZYPP_MULTICURL=0` after multiple failed attempts to work around broken mirroring infrastructure?
We are already working on a full async backend that will completely replace the current curl and multicurl backends, so we are not going to introduce big changes into the old backend. Auto Fallback also is a bit tricky, consider a codepath that is just checking if a file exists. IF we'd do auto fallback on errors or auto retries all file existance checks had to be run multiple times, making zypper slower. IMO the feasible solution would be to implement opt in switches for automatic retries on failed downloads. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1200425
Jan Zerebecki
http://bugzilla.opensuse.org/show_bug.cgi?id=1200425
http://bugzilla.opensuse.org/show_bug.cgi?id=1200425#c16
--- Comment #16 from Nick Dordea
http://bugzilla.opensuse.org/show_bug.cgi?id=1200425
http://bugzilla.opensuse.org/show_bug.cgi?id=1200425#c17
--- Comment #17 from Dominik Heidler
It looks a bug was introduced in MirrorCache metalink handling last week and I want to sick leave afterward, so didn't notice it. I hotpatched the root cause, so please confirm if possible if all works reliably now.
looking at https://openqa.opensuse.org/tests/latest?arch=x86_64&distri=opensuse&flavor=DVD-Updates&machine=64bit&test=openqa_bootstrap&version=15.4#next_previous it seems to work again. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1200425
http://bugzilla.opensuse.org/show_bug.cgi?id=1200425#c18
--- Comment #18 from Michael Andres
How about making that a zypper feature to automatically fall back to `ZYPP_MULTICURL=0` after multiple failed attempts to work around broken mirroring infrastructure?
Sorry - no. If the server says 404(file not found), we must not ask 'Really?'. If the mirroring infrastructure is that broken, d.o.o should turn it off. We can try to work around issues where silent reties make sense. If ZYPP_MULTICURL fails(!) we already fall back to plain curl. But we can not distrust everything d.o.o is telling us. Then we must not use it at all. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1200425
Nick Dordea
http://bugzilla.opensuse.org/show_bug.cgi?id=1200425
Nick Dordea
http://bugzilla.opensuse.org/show_bug.cgi?id=1200425
http://bugzilla.opensuse.org/show_bug.cgi?id=1200425#c19
--- Comment #19 from Dominik Heidler
http://bugzilla.opensuse.org/show_bug.cgi?id=1200425
http://bugzilla.opensuse.org/show_bug.cgi?id=1200425#c20
Andrii Nikitin
participants (1)
-
bugzilla_noreply@suse.com