Re: mod_jk logging issue
> Hi Rainer/Simon - I've just had another look at this. With no > application running (IOW, all Java processes killed), I see this > behaviour: Sorry, I was confused because I thought we're talking about files from Tomcat and not from Apache/mod_jk. Regards, Simon > > # systemctl start apache2 > > This create a number of apache2 processes (generally 7). 2 new mod_jk > files are created, corresponding to the apache2 process with the lowest > PID > > # systemctl stop apache2 > > This does not remove any files (but see below) > > # systemctl restart apache2 > > This has the same effect as a 'start' followed by a 'stop'. A 'reload', > as expected, doesn't change the PIDs and has no effect on file creation > or deletion. > > During testing, I did see one occasion on which the current mod_jk files > were deleted. I though this might be a timeout issue, since the restart > was carried out after 7 minutes, which was longer that normal. So, I > carried out 5 more tests, with the restart after 1, 2, 4, 8, and 11 > minutes, and in all these cases the old files were retained and not > deleted. > > Maybe there's a race condition, or something distribution-specific, in > the code which registers the cleanup? I can't do much for a couple of > days, at least, but I'll have a look when I get a minute. > > > On 19/12/2023 19:03, Rainer Jung wrote: >> Hi there, >> >> Am 19.12.23 um 18:05 schrieb EML: >>> Hi - I'm running mod_jk with an Apache front-end, and I'm having an >>> issue with the JkShmFile files. >>> >>> Every time Apache restarts mod_jk creates two new files >>> (jk-runtime-status.PID and jk-runtime-status.PID.lock). These are >>> never cleaned up; the log directory simply fills up with these files. >>> This happens whether or not I explicitly set JkShmFile in the Apache >>> conf. >> >> That should no happen. There is a cleanup routine registered, which >> should delete the files during shutdown. And that's the behavior that >> I normally observe. >> >>> Is there some way I can persuade mod_jk to use a single file pair, >>> without the PID suffix, or to delete the previous file pair on a >>> restart? I'm not doing any load sharing. >> >> If you must remove the PID, you can patch the code and build it >> yourself. The ID is added in file common/jk_shm.c in the following line: >> >> sprintf(jk_shmem.filename, "%s.%" JK_PID_T_FMT, fname, >> getpid()); >> >> You could replace it by: >> >> sprintf(jk_shmem.filename, "%s", fname); >> >> If you compile the code yourself, please us the latest version 1.2.49. >> >> As I mentioned, a normal shutdown should already remove the files. A >> reload should not change the pid and thereby the files. A restart in >> the sense of stop-then-start should also remove the old files. >> >>> I'm on Ubuntu 22.04, Apache 2.4.52. The mod_jk version is possibly >>> 1.2.48-1. >>> >>> Thanks. >> >> Regards, >> >> Rainer >> >> - >> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org >> For additional commands, e-mail: users-h...@tomcat.apache.org >> - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: mod_jk logging issue
Hi Rainer/Simon - I've just had another look at this. With no application running (IOW, all Java processes killed), I see this behaviour: # systemctl start apache2 This create a number of apache2 processes (generally 7). 2 new mod_jk files are created, corresponding to the apache2 process with the lowest PID # systemctl stop apache2 This does not remove any files (but see below) # systemctl restart apache2 This has the same effect as a 'start' followed by a 'stop'. A 'reload', as expected, doesn't change the PIDs and has no effect on file creation or deletion. During testing, I did see one occasion on which the current mod_jk files were deleted. I though this might be a timeout issue, since the restart was carried out after 7 minutes, which was longer that normal. So, I carried out 5 more tests, with the restart after 1, 2, 4, 8, and 11 minutes, and in all these cases the old files were retained and not deleted. Maybe there's a race condition, or something distribution-specific, in the code which registers the cleanup? I can't do much for a couple of days, at least, but I'll have a look when I get a minute. On 19/12/2023 19:03, Rainer Jung wrote: Hi there, Am 19.12.23 um 18:05 schrieb EML: Hi - I'm running mod_jk with an Apache front-end, and I'm having an issue with the JkShmFile files. Every time Apache restarts mod_jk creates two new files (jk-runtime-status.PID and jk-runtime-status.PID.lock). These are never cleaned up; the log directory simply fills up with these files. This happens whether or not I explicitly set JkShmFile in the Apache conf. That should no happen. There is a cleanup routine registered, which should delete the files during shutdown. And that's the behavior that I normally observe. Is there some way I can persuade mod_jk to use a single file pair, without the PID suffix, or to delete the previous file pair on a restart? I'm not doing any load sharing. If you must remove the PID, you can patch the code and build it yourself. The ID is added in file common/jk_shm.c in the following line: sprintf(jk_shmem.filename, "%s.%" JK_PID_T_FMT, fname, getpid()); You could replace it by: sprintf(jk_shmem.filename, "%s", fname); If you compile the code yourself, please us the latest version 1.2.49. As I mentioned, a normal shutdown should already remove the files. A reload should not change the pid and thereby the files. A restart in the sense of stop-then-start should also remove the old files. I'm on Ubuntu 22.04, Apache 2.4.52. The mod_jk version is possibly 1.2.48-1. Thanks. Regards, Rainer - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: mod_jk logging issue
Hi, > Hi - I'm running mod_jk with an Apache front-end, and I'm having an > issue with the JkShmFile files. > > Every time Apache restarts mod_jk creates two new files > (jk-runtime-status.PID and jk-runtime-status.PID.lock). These are never > cleaned up; the log directory simply fills up with these files. This > happens whether or not I explicitly set JkShmFile in the Apache conf. > > Is there some way I can persuade mod_jk to use a single file pair, > without the PID suffix, or to delete the previous file pair on a > restart? I'm not doing any load sharing. > > I'm on Ubuntu 22.04, Apache 2.4.52. The mod_jk version is possibly > 1.2.48-1. Can it be that your application crashes on shutdown? This is usually why cleanup is not working properly. Regards, Simon - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: mod_jk logging issue
Hi there, Am 19.12.23 um 18:05 schrieb EML: Hi - I'm running mod_jk with an Apache front-end, and I'm having an issue with the JkShmFile files. Every time Apache restarts mod_jk creates two new files (jk-runtime-status.PID and jk-runtime-status.PID.lock). These are never cleaned up; the log directory simply fills up with these files. This happens whether or not I explicitly set JkShmFile in the Apache conf. That should no happen. There is a cleanup routine registered, which should delete the files during shutdown. And that's the behavior that I normally observe. Is there some way I can persuade mod_jk to use a single file pair, without the PID suffix, or to delete the previous file pair on a restart? I'm not doing any load sharing. If you must remove the PID, you can patch the code and build it yourself. The ID is added in file common/jk_shm.c in the following line: sprintf(jk_shmem.filename, "%s.%" JK_PID_T_FMT, fname, getpid()); You could replace it by: sprintf(jk_shmem.filename, "%s", fname); If you compile the code yourself, please us the latest version 1.2.49. As I mentioned, a normal shutdown should already remove the files. A reload should not change the pid and thereby the files. A restart in the sense of stop-then-start should also remove the old files. I'm on Ubuntu 22.04, Apache 2.4.52. The mod_jk version is possibly 1.2.48-1. Thanks. Regards, Rainer - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
mod_jk logging issue
Hi - I'm running mod_jk with an Apache front-end, and I'm having an issue with the JkShmFile files. Every time Apache restarts mod_jk creates two new files (jk-runtime-status.PID and jk-runtime-status.PID.lock). These are never cleaned up; the log directory simply fills up with these files. This happens whether or not I explicitly set JkShmFile in the Apache conf. Is there some way I can persuade mod_jk to use a single file pair, without the PID suffix, or to delete the previous file pair on a restart? I'm not doing any load sharing. I'm on Ubuntu 22.04, Apache 2.4.52. The mod_jk version is possibly 1.2.48-1. Thanks.