Bug 994164
Summary: | attempting to sync fedora-updates repo ends in error | ||
---|---|---|---|
Product: | [Retired] Pulp | Reporter: | Preethi Thomas <pthomas> |
Component: | rpm-support | Assignee: | Michael Hrivnak <mhrivnak> |
Status: | CLOSED NOTABUG | QA Contact: | Preethi Thomas <pthomas> |
Severity: | unspecified | Docs Contact: | |
Priority: | urgent | ||
Version: | 2.2 | CC: | mhrivnak |
Target Milestone: | --- | Keywords: | Triaged |
Target Release: | 2.2.0 | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | 988919 | Environment: | |
Last Closed: | 2013-08-07 01:30:46 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: | |||
Bug Depends On: | |||
Bug Blocks: | 988919 |
Description
Preethi Thomas
2013-08-06 15:41:03 UTC
This was an interesting find, but it is not a bug in pulp. The remote server seems to be actively refusing connections when a client (like pulp) makes too many connections. By default, pulp will download with 5 concurrent connections. I can demonstrate without using pulp that the remote server refuses new connections when it sees too many connections from a host. First run this crazy command to generate a text file of links to the same XML files pulp is failing to download: $ curl http://mirror.cc.vt.edu/pub/fedora/linux/updates/19/x86_64/repodata/repomd.xml -s| grep href| grep xml.gz | perl -pe 's|.*?href="(.*?)".*$|http://mirror.cc.vt.edu/pub/fedora/linux/updates/19/x86_64/\1|' > links.txt Now run the following command, which tries downloading them 5 at a time using the "curl" command: $ xargs -a links.txt -P 5 -n 1 curl -o /dev/null -4 -s -w '%{response_code}\n' You will see several response codes of "000", which indicates a connection failure. Adjusting down to either 1 or 2 at a time seems to work without any errors. You can try this by adjusting the value for -P: $ xargs -a links.txt -P 2 -n 1 curl -o /dev/null -4 -s -w '%{response_code}\n' You should now see all "200" response codes. The remote server may be throttling how many connections can be made in rapid succession, or perhaps how many connections can exist period. In any case, the solution here is to use pulp's "--max-downloads" option on this repository and set the limit to 1 or 2. |