Bug 248882 - Cache entry exists, but is not accessible: repomd_primary.xml
Cache entry exists, but is not accessible: repomd_primary.xml
Product: Red Hat Satellite 5
Classification: Red Hat
Component: Server (Show other bugs)
All Linux
low Severity low
: ---
: ---
Assigned To: Pradeep Kilambi
Michael Mráka
: Triaged
Depends On:
Blocks: 456985 485807
  Show dependency treegraph
Reported: 2007-07-19 09:13 EDT by Miroslav Suchý
Modified: 2009-09-10 14:40 EDT (History)
4 users (show)

See Also:
Fixed In Version: sat530
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2009-09-10 14:40:27 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description Miroslav Suchý 2007-07-19 09:13:48 EDT
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:
Remote Host:
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-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
  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
	            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
	            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
	                 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':
	                 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
	                   f = <type 'instancemethod'> <bound method
apacheHandler.handler of <server.apacheHandler.apacheHandler instance at

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
	              silent = <type 'int'> 0
	              hstack = <type 'instance'> <mod_python.apache.HStack instance at
	              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
	                _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 = /
TERM = xterm
_ = /sbin/initlog
Comment 3 Pradeep Kilambi 2009-02-17 08:58:39 EST
fixed as part of the repodata rewrite. moving to modified.

~ Prad
Comment 4 Michael Mráka 2009-04-09 04:42:17 EDT
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
Comment 5 Milan Zazrivec 2009-08-10 07:14:27 EDT
Verified in stage -> RELEASE_PENDING
Comment 6 Brandon Perkins 2009-09-10 14:40:27 EDT
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.


Note You need to log in before you can comment on or make changes to this bug.