A BUGNOTE has been added to this bug. ====================================================================== http://dbmail.org/mantis/bug_view_advanced_page.php?bug_id=0000155 ====================================================================== Reported By: xing Assigned To: ====================================================================== Project: DBMail Bug ID: 155 Category: Command-Line programs (dbmail-users, dbmail-util) Reproducibility: always Severity: minor Priority: normal Status: new ====================================================================== Date Submitted: 11-Jan-05 08:48 CET Last Modified: 11-Jan-05 09:12 CET ====================================================================== Summary: Funky dbmail-util when trying to delete/purge Description: >From what I remember dbmail-util -d, sets the delete flags then a dbmail-util -p would purge those. However I keep running these two and nothing gets removed. I still get "Ok. Found [121344] messages with DELETE status.".
Weird. ====================================================================== ---------------------------------------------------------------------- xing - 11-Jan-05 08:57 CET ---------------------------------------------------------------------- weird....I used dbmail's "recommended" daily script run command below and it CORRECTLY updated the PURGE/DELETE status. Don't know why dbmail-util -d did not work by itself. /usr/local/sbin/dbmail-util -cturpd -l 24h -qq Jan 10 23:49:22 dell3 dbmail/maintenance[23486]: GetConfigValue(): searching value for config item [host] Jan 10 23:49:22 dell3 dbmail/maintenance[23486]: GetConfigValue(): found value [localhost] Jan 10 23:49:22 dell3 dbmail/maintenance[23486]: GetConfigValue(): searching value for config item [db] Jan 10 23:49:22 dell3 dbmail/maintenance[23486]: GetConfigValue(): found value [dbmail] Jan 10 23:49:22 dell3 dbmail/maintenance[23486]: GetConfigValue(): searching value for config item [user] Jan 10 23:49:22 dell3 dbmail/maintenance[23486]: GetConfigValue(): found value [postfix] Jan 10 23:49:22 dell3 dbmail/maintenance[23486]: GetConfigValue(): searching value for config item [pass] Jan 10 23:49:22 dell3 dbmail/maintenance[23486]: GetConfigValue(): found value [postfix] Jan 10 23:49:22 dell3 dbmail/maintenance[23486]: GetConfigValue(): searching value for config item [sqlport] Jan 10 23:49:22 dell3 dbmail/maintenance[23486]: GetConfigValue(): item not found Jan 10 23:49:22 dell3 dbmail/maintenance[23486]: GetConfigValue(): searching value for config item [sqlsocket] Jan 10 23:49:22 dell3 dbmail/maintenance[23486]: GetConfigValue(): found value [/tmp/mysql.sock] Jan 10 23:49:22 dell3 dbmail/maintenance[23486]: dbmysql.c,db_query: executing query [SELECT 1=1 FROM dbmail_ph ysmessage LIMIT 1 OFFSET 0] Jan 10 23:49:22 dell3 dbmail/maintenance[23486]: dbmysql.c,db_query: executing query [SELECT mb.messageblk_idnr FROM dbmail_messageblks mb LEFT JOIN dbmail_physmessage pm ON mb.physmessage_id = pm.id WHERE pm.id IS NULL] Jan 10 23:49:22 dell3 dbmail/maintenance[23486]: db.c,db_icheck_messageblks: no lost messageblocks Jan 10 23:49:22 dell3 dbmail/maintenance[23486]: dbmysql.c,db_query: executing query [SELECT msg.message_idnr F ROM dbmail_messages msg LEFT JOIN dbmail_mailboxes mbx ON msg.mailbox_idnr=mbx.mailbox_idnr WHERE mbx.mailbox_i dnr IS NULL] Jan 10 23:49:22 dell3 dbmail/maintenance[23486]: db.c,db_icheck_messages: no lost messages Jan 10 23:49:22 dell3 dbmail/maintenance[23486]: dbmysql.c,db_query: executing query [SELECT mbx.mailbox_idnr F ROM dbmail_mailboxes mbx LEFT JOIN dbmail_users usr ON mbx.owner_idnr=usr.user_idnr WHERE usr.user_idnr is NULL ] Jan 10 23:49:22 dell3 dbmail/maintenance[23486]: db.c,db_icheck_mailboxes: no lost mailboxes Jan 10 23:49:22 dell3 dbmail/maintenance[23486]: dbmysql.c,db_query: executing query [SELECT msg.message_idnr F ROM dbmail_messages msg LEFT JOIN dbmail_physmessage pm ON msg.physmessage_id = pm.id WHERE pm.id is NULL] Jan 10 23:49:24 dell3 dbmail/maintenance[23486]: db.c,db_icheck_null_messages: found empty message id [1124450] Jan 10 23:49:24 dell3 dbmail/maintenance[23486]: db.c,db_icheck_null_messages: found empty message id [1185779] Jan 10 23:49:24 dell3 dbmail/maintenance[23486]: db.c,db_icheck_null_messages: found empty message id [1185780] Jan 10 23:49:24 dell3 dbmail/maintenance[23486]: db.c,db_icheck_null_messages: found empty message id [1185781] Jan 10 23:49:24 dell3 dbmail/maintenance[23486]: db.c,db_icheck_null_messages: found empty message id [1185782] Jan 10 23:49:24 dell3 dbmail/maintenance[23486]: db.c,db_icheck_null_messages: found empty message id [1185783] Jan 10 23:49:24 dell3 dbmail/maintenance[23486]: db.c,db_icheck_null_messages: found empty message id [1185784] Jan 10 23:49:24 dell3 dbmail/maintenance[23486]: db.c,db_icheck_null_messages: found empty message id [1185785] Jan 10 23:49:24 dell3 dbmail/maintenance[23486]: db.c,db_icheck_null_messages: found empty message id [1185786] Jan 10 23:49:24 dell3 dbmail/maintenance[23486]: dbmysql.c,db_query: executing query [UPDATE dbmail_messages SE T status = 6 WHERE message_idnr = '1185786'] Jan 10 23:49:24 dell3 dbmail/maintenance[23486]: dbmysql.c,db_query: executing query [UPDATE dbmail_messages SE T status = 6 WHERE message_idnr = '1185785'] Jan 10 23:49:24 dell3 dbmail/maintenance[23486]: dbmysql.c,db_query: executing query [UPDATE dbmail_messages SE T status = 6 WHERE message_idnr = '1185784'] Jan 10 23:49:24 dell3 dbmail/maintenance[23486]: dbmysql.c,db_query: executing query [UPDATE dbmail_messages SE T status = 6 WHERE message_idnr = '1185783'] Jan 10 23:49:24 dell3 dbmail/maintenance[23486]: dbmysql.c,db_query: executing query [UPDATE dbmail_messages SE T status = 6 WHERE message_idnr = '1185782'] Jan 10 23:49:24 dell3 dbmail/maintenance[23486]: dbmysql.c,db_query: executing query [UPDATE dbmail_messages SE T status = 6 WHERE message_idnr = '1185781'] Jan 10 23:49:24 dell3 dbmail/maintenance[23486]: dbmysql.c,db_query: executing query [UPDATE dbmail_messages SE T status = 6 WHERE message_idnr = '1185780'] Jan 10 23:49:24 dell3 dbmail/maintenance[23486]: dbmysql.c,db_query: executing query [UPDATE dbmail_messages SE T status = 6 WHERE message_idnr = '1185779'] Jan 10 23:49:24 dell3 dbmail/maintenance[23486]: dbmysql.c,db_query: executing query [UPDATE dbmail_messages SE T status = 6 WHERE message_idnr = '1124450'] Jan 10 23:49:24 dell3 dbmail/maintenance[23486]: dbmysql.c,db_query: executing query [SELECT pm.id FROM dbmail_ physmessage pm LEFT JOIN dbmail_messageblks mbk ON pm.id = mbk.physmessage_id WHERE mbk.physmessage_id is NULL] Jan 10 23:49:24 dell3 dbmail/maintenance[23486]: db.c,db_icheck_null_physmessages: no null physmessages Jan 10 23:49:24 dell3 dbmail/maintenance[23486]: db.c,db_deleted_purge: executing query [SELECT message_idnr FR OM dbmail_messages WHERE status='3'] Jan 10 23:49:24 dell3 dbmail/maintenance[23486]: dbmysql.c,db_query: executing query [SELECT message_idnr FROM dbmail_messages WHERE status='3'] Jan 10 23:49:24 dell3 dbmail/maintenance[23486]: db.c,db_deleted_purge: no messages to purge Jan 10 23:49:24 dell3 dbmail/maintenance[23486]: dbmysql.c,db_query: executing query [UPDATE dbmail_messages SE T status = '3' WHERE status = '2'] Jan 10 23:49:42 dell3 dbmail/maintenance[23486]: dbmysql.c,db_query: executing query [SELECT usr.user_idnr, sum (pm.messagesize), usr.curmail_size FROM dbmail_users usr LEFT JOIN dbmail_mailboxes mbx ON mbx.owner_idnr = usr .user_idnr LEFT JOIN dbmail_messages msg ON msg.mailbox_idnr = mbx.mailbox_idnr LEFT JOIN dbmail_physmessage pm ON pm.id = msg.physmessage_id AND msg.status < '2' GROUP BY usr.user_idnr, usr.curmail_size HAVING ((SUM(pm.me ssagesize) <> usr.curmail_size) OR (NOT (SUM(pm.messagesize) IS NOT NULL) AND usr.curmail_size <> 0))] Jan 10 23:49:47 dell3 dbmail/maintenance[23486]: db.c,db_calculate_quotum_all: quotum is already up to date Jan 10 23:49:47 dell3 dbmail/maintenance[23486]: dbmysql.c,db_query: executing query [DELETE FROM dbmail_pbsp W HERE since < '2005-01-09 23:49:47'] Jan 10 23:49:47 dell3 dbmail/maintenance[23486]: dbmysql.c,db_query: executing query [OPTIMIZE TABLE dbmail_use rs] Jan 10 23:49:47 dell3 dbmail/maintenance[23486]: dbmysql.c,db_query: executing query [OPTIMIZE TABLE dbmail_ali ases] Jan 10 23:49:47 dell3 dbmail/maintenance[23486]: dbmysql.c,db_query: executing query [OPTIMIZE TABLE dbmail_mai lboxes] Jan 10 23:49:47 dell3 dbmail/maintenance[23486]: dbmysql.c,db_query: executing query [OPTIMIZE TABLE dbmail_mes sages] Jan 10 23:49:54 dell3 dbmail/maintenance[23486]: dbmysql.c,db_query: executing query [OPTIMIZE TABLE dbmail_phy smessage] Jan 10 23:49:54 dell3 dbmail/maintenance[23486]: dbmysql.c,db_query: executing query [OPTIMIZE TABLE dbmail_mes sageblks] Jan 10 23:51:14 dell3 dbmail/maintenance[23486]: dbmysql.c,db_query: executing query [OPTIMIZE TABLE dbmail_acl ] Jan 10 23:51:14 dell3 dbmail/maintenance[23486]: dbmysql.c,db_query: executing query [OPTIMIZE TABLE dbmail_sub scription] Jan 10 23:51:14 dell3 dbmail/maintenance[23486]: dbmysql.c,db_query: executing query [OPTIMIZE TABLE dbmail_pbs p] Jan 10 23:51:14 dell3 dbmail/maintenance[23486]: dbmysql.c,db_query: executing query [OPTIMIZE TABLE dbmail_aut o_notifications] Jan 10 23:51:14 dell3 dbmail/maintenance[23486]: dbmysql.c,db_query: executing query [OPTIMIZE TABLE dbmail_aut o_replies] ---- Now I have problem like -d except the problem is with -p. [EMAIL PROTECTED]:/opt/dbmail-2.0.2 # /usr/local/sbin/dbmail-util -p Opening connection to database... Opening connection to authentication... Ok. Connected. Counting messages with PURGE status... Ok. Found [121344] messages with PURGE status. Maintenance done. No errors found. I keep running -p and it keeps giving me above message when it should be purging. ---------------------------------------------------------------------- xing - 11-Jan-05 09:01 CET ---------------------------------------------------------------------- Sorry to flood the boards but I found the problem. I tried "dbmail-util -py" and it finally started to issue delete sql queries and purging those messages! I'm sure if I add 'y' to "dbmail-util -d", the status bits will be correctly set as well. Is "y" a required new safeguard? I don't remember having to issue "y" to actually enable delete commands before 2.0.2. Not sure if this is a new "feature" or something else. ---------------------------------------------------------------------- aaron - 11-Jan-05 09:12 CET ---------------------------------------------------------------------- Starting from 2.0.1, dbmail-util doesn't actually modify the database unless -y/-r (same thing) is specified. With 2.0.2 some of the messages are cleaned up and properly sent to either stdout or stderr, with corresponding levels of quietness. What actually is a bug is this: """ Counting messages with DELETE status... Ok. Found [121344] messages with DELETE status. Maintenance done. No errors found. """ The message should probably be the one suggesting -r. Bug History Date Modified Username Field Change ====================================================================== 11-Jan-05 08:48xing New Bug 11-Jan-05 08:57xing Bugnote Added: 0000504 11-Jan-05 09:01xing Bugnote Added: 0000505 11-Jan-05 09:12aaron Bugnote Added: 0000506 ======================================================================