The following bug has been RESOLVED.
======================================================================
http://www.dbmail.org/mantis/bug_view_advanced_page.php?bug_id=0000155
======================================================================
Reported By:                xing
Assigned To:                aaron
======================================================================
Project:                    DBMail
Bug ID:                     155
Category:                   Command-Line programs (dbmail-users, dbmail-util)
Reproducibility:            always
Severity:                   minor
Priority:                   normal
Status:                     resolved
Resolution:                 not a bug
======================================================================
Date Submitted:             11-Jan-05 08:48 CET
Last Modified:              12-Jan-05 09:56 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.

----------------------------------------------------------------------
 aaron - 12-Jan-05 09:56 CET 
----------------------------------------------------------------------
Ok, closing this one... dbmail-util now behaves as advertised ;-)

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                       
12-Jan-05 09:56aaron          Bugnote Added: 0000519                       
12-Jan-05 09:56aaron          Assigned To               => aaron           
12-Jan-05 09:56aaron          Resolution               open => not a bug   
12-Jan-05 09:56aaron          Status                   new => resolved     
======================================================================

Reply via email to