Re: [APC-DEV] APC + Apache SIGHUP

From: Date: Thu, 08 Oct 2009 10:07:59 +0000
Subject: Re: [APC-DEV] APC + Apache SIGHUP
References: 1  Groups: php.apc.dev 
Request: Send a blank email to php-apc-dev+get-225@lists.php.net to get a copy of this message
Nathan Clemons wrote:
We do some pretty standard Apache log rotation on our web cluster with logrotate; move the file to an archival point, send a SIGHUP to Apache so it releases the open file handle, and then bzip2 up the data for archival purposes.
I'm almost sure this is an apache thing and nothing apc can really do about it. [Thu Oct 08 15:23:27 2009] [notice] SIGHUP received. Attempting to restart We hit mshutdown - 9345 apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName We hit minit - 9345 is what my apache2 says. Just to be double+good, I put a couple of printfs in module init/module shutdown code. And I can see that a SIGHUP essentially stops and restarts the php modules directly.
isn't something we particularly like, since we're caching our localization data inside of APC (using apc_store).
So basically the apc module init is called again in the parent process after it gets a SIGHUP. It's not that apc is clearing its cache or handling the HUP, apache is essentially doing an internal soft restart. http://httpd.apache.org/docs/2.2/stopping.html#hup
localization data is pulled from. Ideally we'd like to see a staggered situation where the servers are not all pulling at the same time, but we don't want to change when our logs are rotated as that would introduce difficulties in our reporting infrastructure.
I can see your problem, but each of these bits are actually functioning as they were designed to be. MSHUTDOWN *has* to cleanup memory because it cannot see into the future and predict whether an MINIT is to follow.
Is this a generic artifact of APC and Apache interactions, or is there some configuration change I can make to alter this behavior?
I don't think you can change the way it behaves without some non-standard patching. But I'm open to actually getting your problem solved, even if it doesn't get into SVN. Cheers, Gopal -- If I learn from my mistakes, pretty soon I'll know everything.

« previous php.apc.dev (#225) next »