[Mailman-Users] getting a lot of qrunner errors
Jon Carnes
jonc at haht.com
Tue Oct 30 20:16:05 CET 2001
> using: mailman 2.0.6
>
> Everything seemed to work fine (for weeks), till I got these errors:
>
> logs/error:
>
> Oct 30 14:44:58 2001 qrunner(3684): Traceback (most recent call last):
> Oct 30 14:44:58 2001 qrunner(3684): File
> "/usr/local/mailman/cron/qrunner", line 282, in ?
> Oct 30 14:44:58 2001 qrunner(3684): kids = main(lock)
> Oct 30 14:44:58 2001 qrunner(3684): File
> "/usr/local/mailman/cron/qrunner", line 202, in main
> Oct 30 14:44:58 2001 qrunner(3684): os.unlink(root+'.db')
> Oct 30 14:44:58 2001 qrunner(3684): OSError : [Errno 2] No such file or
> directory:
> '/usr/local/mailman/qfiles/ac70488999dddaa6a224570774c18abd9c7a6be4.db'
>
>
> logs/qrunner:
> Oct 30 14:44:58 2001 (3684) Unlinking orphaned .db file:
> /usr/local/mailman/qfiles/ac70488999dddaa6a224570774c18abd9c7a6be4.db
>
>
> What's happening here?
> How to fix this?
>
I don't know what the fix is, but here is some more information straight
from the code:
# If the .db file has no corresponding .msg file, we might as well
# remove the .db file, since there's little we can do about it.
if not os.path.exists(root+'.msg'):
syslog('qrunner', 'Unlinking orphaned .db file: %s.db' % root)
os.unlink(root+'.db')
# just trigger off the .msg files
continue
Something happened to delete a message in transit (machine went down, nfs
error, file system error, etc...). If I'm reading this correctly, then
qrunner processes a message by writing it to a file ___.msg and writing the
mailing list info out to ____.db. Then it opens the ____.db file and sends
the email contained in ___.msg out to all the folks in the database.
Qrunner, doing an initial sweep of the ~mailman/qfiles directory found the
___.db file, but did not find the ___.msg file. This could occur if:
- The ___.msg file was deleted after Mailman finished processing the
message, but something stopped the ___.db file from being deleted
immediately afterwards (and this new scan found it, declared it an orphan,
and then deleted it)
- The ___.msg file was deleted or overwritten by some other process, before
Mailman finished processing the message, hence the ___.db file was left
behind, and discovered the next time qrunner kicked off.
- The ___.db file is being created, but not the ___.msg file, or its taking
too long to create the ___.msg file, and after that process times out, the
next qrunner process finds it, declares it an orphan, and deletes it...
Jon Carnes
More information about the Mailman-Users
mailing list