If package delivery fails or an object appears to be corrupt, and it isn't related to connection errors, you should consider clearing the caches. The RHN Proxy Server has two caches you should be concerned with: one for Squid and the other for authentication.
The Squid cache is located in /var/spool/squid/. To clear it, stop the Apache HTTP Server and Squid, delete the contents of that directory, and restart both services. Issue these commands in this order:
service httpd stop service squid stop rm -fv /var/spool/squid/* service squid start service httpd start
You may accomplish the same task more quickly by just clearing the directory and restarting squid, but you will likely receive a number of RHN traceback messages.
The internal caching mechanism used for authentication by the Proxy may also need its cache cleared. To do this, issue the following command:
rm -fv /var/cache/rhn/*
Although the RHN Authentication Daemon was deprecated with the release of RHN Proxy Server 3.2.2 and replaced with the aforementioned internal authentication caching mechanism, the daemon may still be running on your Proxy. To turn it off, issue the following individual commands in this order:
chkconfig --level 2345 rhn_auth_cache off service rhn_auth_cache stop
To clear its cache, issue:
If you must retain the RHN Authentication Daemon, which Red Hat recommends against and does not support, note that its performance can suffer from verbose logging. For this reason, its logging (to /var/log/rhn/rhn_auth_cache.log) is turned off by default. If you do run the daemon and desire logging, turn it back on by adding the following line to the Proxy's /etc/rhn/rhn.conf file:
auth_cache.debug = 2