[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [imapsync] Issue migrating large mailboxes from FirstClass to Dovecot


From Gilles LAMIRAL <gilles dot lamiral at laposte dot net>
Subject Re: [imapsync] Issue migrating large mailboxes from FirstClass to Dovecot
Date Tue, 13 Jul 2010 00:36:38 +0200

Hello Phil,

FWIW, like most Perl modules, you can file bugs and submit patches
to Mail::IMAPClient here:
  https://rt.cpan.org/Public/Dist/Display.html?Name=Mail-IMAPClient

Ok.


Patches suggested for 3.xx:

- User should know without debug that connection were lost
and reconnect successful.

Typical error checking is available via $imap->LastError, but please feel free to file bugs in cases where one can not and if you like suggest how it should be fixed in such cases.

./Mail-IMAPClient-3.25/lib/Mail/IMAPClient.pm


$imap->LastError can be set several times in _imap_command() functions
and the disconnect may be hidden from a normal interface call.
How can we know easily the reconnect was successful?

- Reconnectretry doc: retrying **each** IMAP commands up to X times when an EPIPE
or ECONNRESET error occurs (was ambiguous for me).

Suggestions to fix the existing documentation?

Yes. The X times counter is reset on each IMAP command. I though it was a global counter.

  "If an IMAP connection sits idle too long, the connection may be closed
   by the server or firewall, etc.  The Reconnectretry parameter, when
   given a positive integer value, will cause Mail::IMAPClient to
   retrying IMAP commands up to X times when an EPIPE or ECONNRESET error
   occurs.  This is disabled (0) by default."


- User should know how many reconnections were done for a $imap object.
  Just a global counter: Reconnect_counter() would be good.
  Nice statistics when migrating, stressing imapsync or imap servers.

This is possible.

Done in local 2.2.9


- Update the README file.
- Update the TODO file.
- Update the INSTALL file.
- Or remove them.

Can do... not a high priority but I'll work on it.

README and INSTALL are the first files I read before using any free software. I prefer no documentation than obsolete documentation since then I know I have to look into the source code.

If IMAPClient.pod is enough then remove README TODO INSTALL bad content.
Removing content takes few seconds. In case you're afraid, retrieving
old content is easy.

There is only one IGNORE in 3.xx (not taking experimental migrate into account).
If there is only one way for writing bytes then only one IGNORE is normal.

Right.

Ok.


Is migrate still experimental (not to say buggy)?

Experimental, perhaps buggy and probably not used by anyone (just a guess).

Ok.


--
Au revoir,                             09 51 84 42 42
Gilles Lamiral. France, Baulon (35580) 06 20 79 76 06