A NOTE has been added to this issue. 
====================================================================== 
http://dbmail.org/mantis/view.php?id=924 
====================================================================== 
Reported By:                gerritcap
Assigned To:                
====================================================================== 
Project:                    DBMail
Issue ID:                   924
Category:                   Command-Line programs (dbmail-users, dbmail-util)
Reproducibility:            always
Severity:                   minor
Priority:                   normal
Status:                     new
target:                      
====================================================================== 
Date Submitted:             04-Sep-11 22:53 CEST
Last Modified:              23-Dec-11 10:23 CET
====================================================================== 
Summary:                    dbmail-util -by doesn't fix un-cached physmessages
Description: 
Every time I run dbmail-util -by it informs me that there are 3 un-cached
physmessages. It seems to fix it (3 dots are displayed) and finally reports
that the errors were fixed and suggest to rerun dbmail-util to validate if
they really are.

Unfortunately repeatedly I relaunched dbmail-util but it continues to give
the same information.

Note: I had this problem with postgresql 8.4.1/dbmail-2-2.11 and recently
upgraded to postgresql 9.0.4/dbmail-2.2.17. Both combinations had the same
problem.

I then tried to upgrade to dbmail-3.0.0 rc3:
    1) upgraded the dbmail software
    2) upgraded the database with the upgrade script to upgrade 2_2 to
3_0
    3) tried twice the dbmail-util -by script: it twice reported all of my
15.000+ emails, it also showed a lot of dots while correcting (or trying to
correct)
    4) ran dbmail-util -My twice to update all messages to new database
structure
    5) ran dbmail-util -by twice again, and again twice the same 15.000+
records were reported and were part of a fix

Note that after upgrading to 3.0.0 rc3, using thunderbird to connect to
the dbmails imap server, every message had empty header records: no
subject, no sender info was shown, no date etc... and this after step 2, 3,
4 & 5 detailed above. Each test was performed after emptying the
thunderbird cache in the thunderbird profile directory on disk


====================================================================== 

---------------------------------------------------------------------- 
 (0003371) mverbert (reporter) - 21-Dec-11 18:58
 http://dbmail.org/mantis/view.php?id=924#c3371 
---------------------------------------------------------------------- 
I tried the latest tree (3ef7b075f722387d917836eb93fd09745aa53fa1), and the
same problem can be reproduced on different environment:
- debian stable (6.0.3)
- postgresql server 9.1.1 (package version: 9.1.1-1~bpo60+1)

I used the following sequence:
- stop dbmail 2.2.17 servers (imap and sieve)
- run dbmail -a, nothing to fix so no action taken
- run the update script 2_2-3_0.pgsql as the same user used by dbmail
- install dbmail 3.0.0rc3 (in reality it matches the commit mentioned
above)
- run dbmail-util -My multiple times (I didn't use -m to do the > 40000
messages at once)
- run dbmail -b, it complains that physmessages are un-cached, so ran
"dbmail -by". Ran again "dbmail -b", same complain.
  I repeated the last step 3 times, no real progress is ever made.

For completeness, I re-ran the full procedure (with, obviously, a database
restore in between), and it is 100% reproducible.

Is there any step in the upgrade procedure that I missed ? 
for me, the issue is a show-stopper to go for dbmail 3 as no previous mail
is fully accessible... 

---------------------------------------------------------------------- 
 (0003372) paul (administrator) - 22-Dec-11 09:27
 http://dbmail.org/mantis/view.php?id=924#c3372 
---------------------------------------------------------------------- 
Without logs there's precious little I can do.

dbmail-util -yM will migrate all physmessage to 3.0 style storage
dbmail-util -ym will migrate 10000 physmessages
dbmail-util -ym 100 will migrate 100 physmessages

note however, that migrating physmessages is *not* required.

in all cases 

dbmail-util -by

is required since the migration script drops and creates the headercache
tables that need to be re-filled.

So please include logs that show SQL (level 511) 

---------------------------------------------------------------------- 
 (0003373) mverbert (reporter) - 22-Dec-11 22:07
 http://dbmail.org/mantis/view.php?id=924#c3373 
---------------------------------------------------------------------- 
OK, I ran the experiment once more with the correct log level (511).

The log files are the following (in order of generation):
1) migration.log: output of "dbmail -yM"
2) migration_rest.log: output of "dbmail -yM -m 50000" ; most probably not
very interesting. At the end of the process "dbmail -M" shows no more
messages to migrate.
3) uncache.log: output of "dbmail -by"
4) after_uncache.log: output of "dbmail -b" showing that no progress was
made

I restore the db and tried just "dbmail -by" generating uncache2.log.
Needless to say that it didn't work, but that was just for the sake of
experimenting without migrating the physmessages.

The log files are well above the 150k limit of Mantis, so I put them
there:
http://moutarde.dyndns.org/dbmail/

Let me know if you need more information.
Thanks for your support and Merry Christmas ! 

---------------------------------------------------------------------- 
 (0003374) paul (administrator) - 22-Dec-11 23:07
 http://dbmail.org/mantis/view.php?id=924#c3374 
---------------------------------------------------------------------- 
The uncache.log definitely doesn't look right. But I have never tested the
order in which you do stuff.

Normal steps to follow would be:

apply schema migration (required)
rebuild header cache (required)
migrate storage (optional)

So leave out the last one, and just run the first. Everything must work
then apart from imap-search on message bodies.

When it does, only then try the last step.

I'll try to reproduce your steps and see if fixing it isn't too difficult. 

---------------------------------------------------------------------- 
 (0003375) mverbert (reporter) - 23-Dec-11 07:34
 http://dbmail.org/mantis/view.php?id=924#c3375 
---------------------------------------------------------------------- 
It seems the last part of my previous message was not completely clear:
uncache2.log represents the "rebuild header cache" of  the "normal steps",
given the database was fully restored from a backup (ie. including drop of
database) just before.
Thanks for your help. 

---------------------------------------------------------------------- 
 (0003376) paul (administrator) - 23-Dec-11 10:23
 http://dbmail.org/mantis/view.php?id=924#c3376 
---------------------------------------------------------------------- 
Did some tests. Had an epiphany. You guys are running pg9. You *must* set
in postgresql.conf:

bytea_output = 'escape'

or else dbmail won't be able to interpret the query results involving
bytea fields. 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
04-Sep-11 22:53  gerritcap      New Issue                                    
21-Dec-11 18:58  mverbert       Note Added: 0003371                          
22-Dec-11 09:27  paul           Note Added: 0003372                          
22-Dec-11 22:07  mverbert       Note Added: 0003373                          
22-Dec-11 23:07  paul           Note Added: 0003374                          
23-Dec-11 07:34  mverbert       Note Added: 0003375                          
23-Dec-11 10:23  paul           Note Added: 0003376                          
======================================================================

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

Reply via email to