Note: This bug is displayed in read-only format because
the product is no longer active in Red Hat Bugzilla.
RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
The *fastestmirror* plug-in now orders mirrors before the metadata download
Previously, when the *yum* installer ran for the first time after a cache cleanup, the *fastestmirror* plug-in did not select the fastest mirror before metadata download. This sometimes caused a delay if some mirrors were slow or unavailable. With this update, the *fastestmirror* plug-in has been modified to have effect on mirror selection before metadata download. As a result, the mirrors are polled and arranged before metadata download, which prevents such delays.
DescriptionMasahiro Matsuya
2017-03-02 02:11:50 UTC
Description of problem:
A customer is using fastestmirror plugin to detect the fastest mirror in the list.
In RHEL6, the detection was done before retrieving the metadata or all repositories, so it just could retrieve the metadata from the fastest one only.
In RHEL7, the metadata is retrieved before the detection, so it tries to retrieve the metadata from a slower mirror. When some mirrors in the list are not available, it makes a delay until finding the usable mirror.
This looks related with [1]. The change was not in RHEL6, but it's in RHEL7.
The customer tested the following change in /usr/lib/python2.7/site-packages/yum/repos.py. This is just for testing.
--------------------------------------
def doSetup(self, thisrepo = None):
...
self._setup = True
self.retrieveAllMD()
self.ayum.plugins.run('postreposetup')
--------------------------------------
====>
--------------------------------------
def doSetup(self, thisrepo = None):
...
self._setup = True
self.ayum.plugins.run('postreposetup')
self.retrieveAllMD()
--------------------------------------
And, they confirmed that the problem was fixed.
The comment in [1] says that
"Metadata are downloaded in parallel just before postreposetup."
So, it seems that inserting self.retrieveAllMD() just before self.ayum.plugins.run('postreposetup') was by design. I'm not sure the reason, but any plugin requires that?
Can we fix this problem in yum side?
[1] http://yum.baseurl.org/gitweb?p=yum.git;a=commitdiff;h=a522869c21768d53c3861be9c0a2394a3930ad66
Version-Release number of selected component (if applicable):
Red Hat Enterprise Linux 7
How reproducible:
Always
Steps to Reproduce:
1. configure yum repositiry mirrors (some mirrors are not reachable)
2. configure fastestmirror plugin
3. run 'yum clean all' and 'yum repolist'
Actual results:
It tries to retrieve metadata from slower mirror.
# yum repolist
Loaded plugins: fastestmirror, langpacks
http://test1.example.com/x86_64/repodata/repomd.xml: [Errno 12] Timeout on http://test1.example.com/x86_64/repodata/repomd.xml: (28, 'Connection timed out after 30002 milliseconds')
Trying other mirror.
...
Expected results:
It can retrieve the metadata from the fastest mirror soon as done in RHEL6.
Additional info:
Looks a regression from RHEL6.
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.
For information on the advisory, and where to find the updated
files, follow the link below.
If the solution does not work for you, open a new bug report.
https://access.redhat.com/errata/RHBA-2018:0919
Description of problem: A customer is using fastestmirror plugin to detect the fastest mirror in the list. In RHEL6, the detection was done before retrieving the metadata or all repositories, so it just could retrieve the metadata from the fastest one only. In RHEL7, the metadata is retrieved before the detection, so it tries to retrieve the metadata from a slower mirror. When some mirrors in the list are not available, it makes a delay until finding the usable mirror. This looks related with [1]. The change was not in RHEL6, but it's in RHEL7. The customer tested the following change in /usr/lib/python2.7/site-packages/yum/repos.py. This is just for testing. -------------------------------------- def doSetup(self, thisrepo = None): ... self._setup = True self.retrieveAllMD() self.ayum.plugins.run('postreposetup') -------------------------------------- ====> -------------------------------------- def doSetup(self, thisrepo = None): ... self._setup = True self.ayum.plugins.run('postreposetup') self.retrieveAllMD() -------------------------------------- And, they confirmed that the problem was fixed. The comment in [1] says that "Metadata are downloaded in parallel just before postreposetup." So, it seems that inserting self.retrieveAllMD() just before self.ayum.plugins.run('postreposetup') was by design. I'm not sure the reason, but any plugin requires that? Can we fix this problem in yum side? [1] http://yum.baseurl.org/gitweb?p=yum.git;a=commitdiff;h=a522869c21768d53c3861be9c0a2394a3930ad66 Version-Release number of selected component (if applicable): Red Hat Enterprise Linux 7 How reproducible: Always Steps to Reproduce: 1. configure yum repositiry mirrors (some mirrors are not reachable) 2. configure fastestmirror plugin 3. run 'yum clean all' and 'yum repolist' Actual results: It tries to retrieve metadata from slower mirror. # yum repolist Loaded plugins: fastestmirror, langpacks http://test1.example.com/x86_64/repodata/repomd.xml: [Errno 12] Timeout on http://test1.example.com/x86_64/repodata/repomd.xml: (28, 'Connection timed out after 30002 milliseconds') Trying other mirror. ... Expected results: It can retrieve the metadata from the fastest mirror soon as done in RHEL6. Additional info: Looks a regression from RHEL6.