[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 Sat, 10 Jul 2010 02:33:49 +0200

Hello Phil,

The truth is that you've spent several hours complaining just about
2.2.9 existence and you still do, arguing a pain you don't have.

I've spent mere seconds to minutes.

So do I when I reply, cumulating I've spent hours.


One could argue you're not maintaining 2.2.9, but no need to argue
semantics.

Right.


The fact is 2.2.9 was released Oct 5, 2003 and had no
love since then... no patches on CPAN no new releases to 2.x at all.

Yes I do know that.


If you want to keep it alive inside imapsync it's your call but by
not contributing patches upstream that might limit the validity of
arguments to complain about how upstream Mail::IMAPClient evolves, no?

imapsync does support 3.xx and it does contribute to 3.xx robustness, stability and evolution. I don't complain about how 3.xx evolves, I complain about how 3.xx started: incompatibility with its proper UI documentation, incompatibility with imapsync during more than 2 years. And also public promotion in (not said) alpha development, no regression test at all.

Patches suggested for 3.xx:

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

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

- 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.

- Update the README file.

- Update the TODO file.

- Update the INSTALL file.

- Or remove them.

The bigger issue is other reliability
issues with 2.2.9 (e.g. sigpipe issues as I mentioned already).

I patched 2.2.9 yesterday so that killing all running imapd programs constantly from 0.1 to 2 seconds doesn't affect a transfer with imapsync. It's nice to the killer game with command top and imapsync output. Yes, reconnect is very nice and doing it at low level is a very clever decision!

Do you mean lack of the following line?
local $SIG{PIPE} = 'IGNORE';

Sure in all the appropriate places.

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.

Is migrate still experimental (not to say buggy)?

And who knows what else... you're
doing the cut-n-paste/rework so I guess it is up to you to decided what
fixes to include or what enhancements to add to the subroutine overrides
you use on top of 2.2.9. If you've got the time, have run til 2012 or
whenever, enjoy!

I will until 3.xx still encounters any problem 2.2.9 doesn't + 2 years. The last --split issue is one of them for example so => July 2012.

Hopefully fixing the reconnect/retry is near the top of
the list because it is quite useful for syncs of larger mailboxes.

Done.


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