Mailing List Archive

[DBMail 0001008]: dbmail-util -ay does not clean headervalue table
A NOTE has been added to this issue.
======================================================================
http://www.dbmail.org/mantis/view.php?id=1008
======================================================================
Reported By: rmoesbergen
Assigned To:
======================================================================
Project: DBMail
Issue ID: 1008
Category: Command-Line programs (dbmail-users, dbmail-util)
Reproducibility: always
Severity: major
Priority: normal
Status: new
target:
======================================================================
Date Submitted: 31-May-13 10:17 CEST
Last Modified: 29-Oct-13 18:43 CET
======================================================================
Summary: dbmail-util -ay does not clean headervalue table
Description:
It seems dbmail-util does not clean the headervalue table. My database is
empty (it contains no messages for any user), but the headervalue table
still contains http://www.dbmail.org/mantis/view.php?id=33#c70.000 rows. Running
dbmail-util -ay does not clean this
table.
======================================================================

----------------------------------------------------------------------
(0003523) rmoesbergen (reporter) - 04-Jun-13 10:53
http://www.dbmail.org/mantis/view.php?id=1008#c3523
----------------------------------------------------------------------
This query cleans things up manually:

delete from dbmail_headervalue
where not exists
(select headervalue_id
from dbmail_header
where headervalue_id = dbmail_headervalue.id);

----------------------------------------------------------------------
(0003567) santa (reporter) - 28-Aug-13 16:13
http://www.dbmail.org/mantis/view.php?id=1008#c3567
----------------------------------------------------------------------
I can confirm that. Both dbmail_headervalue and dbmail_headername keep
orphaned records.

----------------------------------------------------------------------
(0003568) Bloody (reporter) - 30-Aug-13 09:21
http://www.dbmail.org/mantis/view.php?id=1008#c3568
----------------------------------------------------------------------
confirm,

dbmail=# select count(*) from dbmail_headervalue left outer join
dbmail_header on dbmail_header.headervalue_id=dbmail_headervalue.id where
dbmail_header.headervalue_id is null;
count
---------
5673957
(1 row)

dbmail=# select count(*) from dbmail_headervalue;
count
---------
5794361
(1 row)

----------------------------------------------------------------------
(0003600) Bloody (reporter) - 15-Oct-13 08:48
http://www.dbmail.org/mantis/view.php?id=1008#c3600
----------------------------------------------------------------------
It must be cleaned up by PostgreSQL, but not working, any idea?

dbmail=# \d dbmail_header
Table "public.dbmail_header"
Column | Type | Modifiers
----------------+--------+-----------
physmessage_id | bigint | not null
headername_id | bigint | not null
headervalue_id | bigint | not null
Indexes:
"dbmail_header_pkey" PRIMARY KEY, btree (physmessage_id,
headername_id, headervalue_id)
Foreign-key constraints:
"dbmail_header_headername_id_fkey" FOREIGN KEY (headername_id)
REFERENCES dbmail_headername(id) ON UPDATE CASCADE ON DELETE CASCADE
"dbmail_header_headervalue_id_fkey" FOREIGN KEY (headervalue_id)
REFERENCES dbmail_headervalue(id) ON UPDATE CASCADE ON DELETE CASCADE
"dbmail_header_physmessage_id_fkey" FOREIGN KEY (physmessage_id)
REFERENCES dbmail_physmessage(id) ON UPDATE CASCADE ON DELETE CASCADE

----------------------------------------------------------------------
(0003601) Bloody (reporter) - 29-Oct-13 18:43
http://www.dbmail.org/mantis/view.php?id=1008#c3601
----------------------------------------------------------------------
Version 3.1.7 fixes this issue, but please add

SET session_replication_role = replica;

into transaction script for postgres that deletes a orphaned rows to
disable triggers, because enabled triggers (on delete) dramatically slows
down database maintenance with dbmail-util

Issue History
Date Modified Username Field Change
======================================================================
31-May-13 10:17 rmoesbergen New Issue
04-Jun-13 10:53 rmoesbergen Note Added: 0003523
28-Aug-13 16:13 santa Note Added: 0003567
30-Aug-13 09:21 Bloody Note Added: 0003568
15-Oct-13 08:48 Bloody Note Added: 0003600
29-Oct-13 18:43 Bloody Note Added: 0003601
======================================================================

_______________________________________________
Dbmail-dev mailing list
Dbmail-dev@dbmail.org
http://mailman.fastxs.nl/cgi-bin/mailman/listinfo/dbmail-dev
[DBMail 0001008]: dbmail-util -ay does not clean headervalue table [ In reply to ]
A NOTE has been added to this issue.
======================================================================
http://www.dbmail.org/mantis/view.php?id=1008
======================================================================
Reported By: rmoesbergen
Assigned To:
======================================================================
Project: DBMail
Issue ID: 1008
Category: Command-Line programs (dbmail-users, dbmail-util)
Reproducibility: always
Severity: major
Priority: normal
Status: new
target:
======================================================================
Date Submitted: 31-May-13 10:17 CEST
Last Modified: 30-Oct-13 17:21 CET
======================================================================
Summary: dbmail-util -ay does not clean headervalue table
Description:
It seems dbmail-util does not clean the headervalue table. My database is
empty (it contains no messages for any user), but the headervalue table
still contains http://www.dbmail.org/mantis/view.php?id=33#c70.000 rows. Running
dbmail-util -ay does not clean this
table.
======================================================================

----------------------------------------------------------------------
(0003523) rmoesbergen (reporter) - 04-Jun-13 10:53
http://www.dbmail.org/mantis/view.php?id=1008#c3523
----------------------------------------------------------------------
This query cleans things up manually:

delete from dbmail_headervalue
where not exists
(select headervalue_id
from dbmail_header
where headervalue_id = dbmail_headervalue.id);

----------------------------------------------------------------------
(0003567) santa (reporter) - 28-Aug-13 16:13
http://www.dbmail.org/mantis/view.php?id=1008#c3567
----------------------------------------------------------------------
I can confirm that. Both dbmail_headervalue and dbmail_headername keep
orphaned records.

----------------------------------------------------------------------
(0003568) Bloody (reporter) - 30-Aug-13 09:21
http://www.dbmail.org/mantis/view.php?id=1008#c3568
----------------------------------------------------------------------
confirm,

dbmail=# select count(*) from dbmail_headervalue left outer join
dbmail_header on dbmail_header.headervalue_id=dbmail_headervalue.id where
dbmail_header.headervalue_id is null;
count
---------
5673957
(1 row)

dbmail=# select count(*) from dbmail_headervalue;
count
---------
5794361
(1 row)

----------------------------------------------------------------------
(0003600) Bloody (reporter) - 15-Oct-13 08:48
http://www.dbmail.org/mantis/view.php?id=1008#c3600
----------------------------------------------------------------------
It must be cleaned up by PostgreSQL, but not working, any idea?

dbmail=# \d dbmail_header
Table "public.dbmail_header"
Column | Type | Modifiers
----------------+--------+-----------
physmessage_id | bigint | not null
headername_id | bigint | not null
headervalue_id | bigint | not null
Indexes:
"dbmail_header_pkey" PRIMARY KEY, btree (physmessage_id,
headername_id, headervalue_id)
Foreign-key constraints:
"dbmail_header_headername_id_fkey" FOREIGN KEY (headername_id)
REFERENCES dbmail_headername(id) ON UPDATE CASCADE ON DELETE CASCADE
"dbmail_header_headervalue_id_fkey" FOREIGN KEY (headervalue_id)
REFERENCES dbmail_headervalue(id) ON UPDATE CASCADE ON DELETE CASCADE
"dbmail_header_physmessage_id_fkey" FOREIGN KEY (physmessage_id)
REFERENCES dbmail_physmessage(id) ON UPDATE CASCADE ON DELETE CASCADE

----------------------------------------------------------------------
(0003601) Bloody (reporter) - 29-Oct-13 18:44
http://www.dbmail.org/mantis/view.php?id=1008#c3601
----------------------------------------------------------------------
Version 3.1.7 fixes this issue, but please add

SET session_replication_role = replica;

into transaction script for postgres that deletes a orphaned rows to
disable triggers, because enabled triggers (on delete) dramatically slows
down database maintenance with dbmail-util

and
SET session_replication_role = DEFAULT;
to enable triggers



----------------------------------------------------------------------
(0003602) Bloody (reporter) - 30-Oct-13 17:21
http://www.dbmail.org/mantis/view.php?id=1008#c3602
----------------------------------------------------------------------
Sorry for last comment, adding 3 indexes to database from last GIT version
improve performance and disabling triggers not needed.

Issue History
Date Modified Username Field Change
======================================================================
31-May-13 10:17 rmoesbergen New Issue
04-Jun-13 10:53 rmoesbergen Note Added: 0003523
28-Aug-13 16:13 santa Note Added: 0003567
30-Aug-13 09:21 Bloody Note Added: 0003568
15-Oct-13 08:48 Bloody Note Added: 0003600
29-Oct-13 18:43 Bloody Note Added: 0003601
29-Oct-13 18:44 Bloody Note Edited: 0003601
30-Oct-13 17:21 Bloody Note Added: 0003602
======================================================================

_______________________________________________
Dbmail-dev mailing list
Dbmail-dev@dbmail.org
http://mailman.fastxs.nl/cgi-bin/mailman/listinfo/dbmail-dev