Description of problem: I run satellite-sync (lot of channels) and some user during sync, does yum upgrade. It then corrupt satellite cache and throw tracebacks (see bottom). Version-Release number of selected component (if applicable): RHN Satellite 500 How reproducible: seen several times Steps to Reproduce: 1. run satellite-sync 2. run yum upgrade (probably of that channel you are now syncing) in parallel. 3. after satellite sync finish, run yum upgrade again. Actual results: got traceback, need to: rm -f /var/cache/rhn/repomd*234 Expected results: not getting traceback Additional info: Exception reported from sputnik-prod.englab.brq.redhat.com Time: Thu Jul 19 15:05:51 2007 Exception type exceptions.OSError Exception while handling function repodata Request object information: URI: https://sputnik-prod.brq.redhat.com/XMLRPC/GET-REQ/rhel-i386-client-workstation-5/repodata/repomd.xml Remote Host: 10.34.32.42 Server Name: sputnik-prod.brq.redhat.com:443 Headers passed in: Accept-Encoding: identity Connection: close Host: sputnik-prod.brq.redhat.com Pragma: no-cache User-agent: urlgrabber/3.1.0 X-rhn-auth: UPOCwsAbAMzEkA0ZEnAljw== X-rhn-auth-expire-offset: 3600.0 X-rhn-auth-server-time: 1184850350.24 X-rhn-auth-user-id: X-rhn-server-id: 1000010630 Exception Handler Information Traceback (most recent call last): File "/usr/share/rhn/server/apacheRequest.py", line 108, in call_function response = apply(func, params) File "/usr/share/rhn/server/rhnRepository.py", line 166, in repodata output = repo.get_repomd_file() File "/usr/share/rhn/server/repomd/repository.py", line 286, in get_repomd_file to_generate.append(self.repository.get_primary_view()) File "/usr/share/rhn/server/repomd/repository.py", line 120, in get_primary_view return self.get_cache_view(self.primary_prefix, view.PrimaryView) File "/usr/share/rhn/server/repomd/repository.py", line 106, in get_cache_view ret = self.cache.set_file(cache_entry, self.last_modified) File "/usr/share/rhn/common/rhnCache.py", line 373, in set_file return self.cache.set_file(name, modified) File "/usr/share/rhn/common/rhnCache.py", line 259, in set_file fd = WriteLockedFile(name, modified) File "/usr/share/rhn/common/rhnCache.py", line 158, in __init__ self.fd = self.get_fd(name) File "/usr/share/rhn/common/rhnCache.py", line 202, in get_fd raise OSError, "cache entry exists, but is not accessible: %s" % \ OSError: cache entry exists, but is not accessible: repomd_primary.xml-234 Local variables by frame Frame get_fd in /usr/share/rhn/common/rhnCache.py at line 202 self = <class 'common.rhnCache.WriteLockedFile'> <common.rhnCache.WriteLockedFile object at 0xb76dfacc> name = <type 'str'> repomd_primary.xml-234 Frame __init__ in /usr/share/rhn/common/rhnCache.py at line 158 self = <class 'common.rhnCache.WriteLockedFile'> <common.rhnCache.WriteLockedFile object at 0xb76dfacc> modified = <type 'str'> 20070719142312 name = <type 'str'> repomd_primary.xml-234 Frame set_file in /usr/share/rhn/common/rhnCache.py at line 259 self = <type 'instance'> <common.rhnCache.Cache instance at 0xb76df94c> modified = <type 'str'> 20070719142312 name = <type 'str'> repomd_primary.xml-234 Frame set_file in /usr/share/rhn/common/rhnCache.py at line 373 self = <type 'instance'> <common.rhnCache.NullCache instance at 0xb76df86c> modified = <type 'str'> 20070719142312 name = <type 'str'> repomd_primary.xml-234 Frame get_cache_view in /usr/share/rhn/server/repomd/repository.py at line 106 cache_entry = <type 'str'> repomd_primary.xml-234 self = <class 'server.repomd.repository.Repository'> <server.repomd.repository.Repository object at 0xb76df8ec> view_class = <type 'type'> <class 'server.repomd.view.PrimaryView'> cache_prefix = <type 'str'> repomd_primary.xml Frame get_primary_view in /usr/share/rhn/server/repomd/repository.py at line 120 self = <class 'server.repomd.repository.Repository'> <server.repomd.repository.Repository object at 0xb76df8ec> Frame get_repomd_file in /usr/share/rhn/server/repomd/repository.py at line 286 cache_entry = <type 'str'> repomd.xml-234 timestamp = <type 'int'> 1184850351 self = <type 'instance'> <server.repomd.repository.Repository object at 0xb76df8ec> to_generate = <type 'list'> [] ret = <type 'NoneType'> None Frame repodata in /usr/share/rhn/server/rhnRepository.py at line 166 c_info = <type 'dict'> {'name': 'RHEL Desktop Workstation (v. 5 for 32-bit x86)', 'org_id': '', 'summary': 'Red Hat Enterprise Linux Desktop Workstation Option (v. 5 for 32-bit x86)', 'last_modified': '20070719142312', 'parent_channel': '224', 'label': 'rhel-i386-client-workstation-5', 'arch': 'channel-ia32', 'id': '234', 'description': 'Red Hat Enterprise Linux - Desktop workstation and development components (v. 5 for 32-bit x86)'} file_name = <type 'str'> repomd.xml self = <type 'instance'> <server.rhnRepository.Repository instance at 0xb76df82c> repo = <type 'instance'> <server.repomd.repository.Repository object at 0xb76df8ec> content_type = <type 'str'> text/xml output = <type 'NoneType'> None Frame call_function in /usr/share/rhn/server/apacheRequest.py at line 159 self = <type 'instance'> <server.handlers.xmlrpc.get_handler.GetHandler instance at 0xb77388ac> params = <type 'tuple'> ('repomd.xml',) force_rollback = <type 'int'> 1 func = <type 'instancemethod'> <bound method Repository.repodata of <server.rhnRepository.Repository instance at 0xb76df82c>> method = <type 'str'> repodata Frame process in /usr/share/rhn/server/apacheRequest.py at line 533 self = <type 'instance'> <server.handlers.xmlrpc.get_handler.GetHandler instance at 0xb77388ac> params = <type 'tuple'> ('repomd.xml',) method = <type 'str'> repodata Frame handler in /usr/share/rhn/server/apacheHandler.py at line 190 h = <type 'instance'> <OracleCursor object at 0xb7760a20> self = <type 'instance'> <server.apacheHandler.apacheHandler instance at 0xb773876c> req = <type 'instance'> <mod_python.apache.Request instance at 0xb7a74aec> ret = <type 'int'> 1 templateStrings = <type 'dict'> {'email_account_info': '\nAccount Information:\n Your RHN login: <login />\n Your RHN email address: <email-address />', 'email_footer': '--the Red Hat Network Team', 'hostname': 'sputnik-prod.brq.redhat.com'} row = <type 'NoneType'> None Frame __call__ in /usr/share/rhn/server/apacheServer.py at line 49 self = <type 'instance'> <server.apacheServer.HandlerWrap instance at 0xb78a33ec> req = <type 'instance'> <mod_python.apache.Request instance at 0xb7a74aec> f = <type 'instancemethod'> <bound method apacheHandler.handler of <server.apacheHandler.apacheHandler instance at 0xb773876c>> Frame Dispatch in /usr/lib/python2.3/site-packages/mod_python/apache.py at line 185 dirs = <type 'mp_table'> {'PythonHeaderParserHandler': '/XMLRPC/', 'PythonHandler': '/XMLRPC/', 'PythonLogHandler': '/XMLRPC/', 'PythonCleanupHandler': '/XMLRPC/', 'PythonPath': '', 'PythonInterpreter': ''} req = <type 'instance'> <mod_python.apache.Request instance at 0xb7a74aec> silent = <type 'int'> 0 hstack = <type 'instance'> <mod_python.apache.HStack instance at 0xb7a74eac> config = <type 'mp_table'> {'PythonHeaderParserHandler': 'server.apacheServer::HeaderParserHandler', 'PythonHandler': 'server.apacheServer::Handler', 'PythonLogHandler': 'server.apacheServer::LogHandler', 'PythonCleanupHandler': 'server.apacheServer::CleanupHandler', 'PythonPath': 'sys.path+['/usr/share/rhn']', 'PythonInterpreter': 'rhn.server'} self = <type 'instance'> <mod_python.apache.CallBack instance at 0xb7a5b4cc> object = <type 'instance'> <server.apacheServer.HandlerWrap instance at 0xb78a33ec> l = <type 'list'> ['server.apacheServer', 'Handler'] module = <type 'module'> <module 'server.apacheServer' from '/usr/share/rhn/server/apacheServer.py'> _req = <type 'mp_request'> <mp_request object at 0xa5c7138> handler = <type 'str'> server.apacheServer::Handler result = <type 'int'> 500 object_str = <type 'str'> Handler debug = <type 'int'> 0 module_name = <type 'str'> server.apacheServer pathstring = <type 'str'> sys.path+['/usr/share/rhn'] htype = <type 'str'> PythonHandler Environment for PID=26786 on exception: LANG = en_US.UTF-8 NLS_LANG = english.UTF8 ORACLE_HOME = /opt/oracle PATH = /sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin PWD = / SHLVL = 1 TERM = xterm _ = /sbin/initlog
fixed as part of the repodata rewrite. moving to modified. Thanks, ~ Prad
Verified. Satellite-5.3.0-RHEL4-re20090403.2 [ in parallel to sat-sync ] # yum update Loading "security" plugin Loading "rhnplugin" plugin rhel-i386-server-5 100% |=========================| 1.1 kB 00:00 Error: Cannot retrieve repository metadata (repomd.xml) for repository: rhel-i386-server-vt-5. Please verify its path and try again [ after sat-sync and repomd.xml refresh] # yum update Loading "security" plugin Loading "rhnplugin" plugin rhel-i386-server-5 100% |=========================| 1.1 kB 00:00 rhel-i386-server-vt-5 100% |=========================| 1.3 kB 00:00 primary.xml.gz 100% |=========================| 27 kB 00:00 rhel-i386-: ################################################## 145/145 rhn-tools-rhel-i386-serve 100% |=========================| 871 B 00:00 Skipping security plugin, no data Setting up Update Process No Packages marked for Update
Verified in stage -> RELEASE_PENDING
An advisory has been issued which should help the problem described in this bug report. This report is therefore being closed with a resolution of ERRATA. For more information on therefore solution and/or where to find the updated files, please follow the link below. You may reopen this bug report if the solution does not work for you. http://rhn.redhat.com/errata/RHEA-2009-1434.html