On 17.9.2013, at 6.25, Anand Kumria <wildfire at progsoc.org> wrote:
> Another day, another dysnc attempt. Using Dovecot v2.2.5.4; I see:
Is it still duplicating mails? So if you first delete everything from
destination directory, then run doveadm sync -1 twice it duplicates the mails?
Or just gives them new UIDs without duplicating anything? I can't reproduce
either with the latest hg version at least. There were a few fixes since v2.2.5,
but I'm not sure if they were related to this.
> # doveadm -v -o imapc_user=user at example.com -o imapc_password=password
-o
> imapc_host=imap.example.com -o imapc_port=993 -o imapc_ssl=imaps -o
> imapc_ssl_dir=/etc/ssl -o imapc_feature=rfc822.size -o imapc_ssl_verify=no
> sync -1 -R -u user at example.com imapc:
> dsync(user at example.com): Info: copy from Drafts: box=Drafts, uid=8343,
> msgid=<4F387A25.5010900 at example.com>, size=2954969
> dsync(user at example.com): Info: copy from Drafts: box=Drafts, uid=8344,
> msgid=<5237B0BF.7030402 at example.com>, size=3371710
> dsync(user at example.com): Info: copy from Drafts: box=Drafts, uid=8345,
> msgid=<5237B588.6040009 at example.com>, size=3266
> dsync(user at example.com): Info: copy from Drafts: box=Drafts, uid=8346,
> msgid=<5237B6B4.2030203 at example.com>, size=4201
> dsync(user at example.com): Info: copy from Drafts: box=Drafts, uid=8347,
> msgid=<5237B888.7030807 at example.com>, size=3371445
> dsync(user at example.com): Info: copy from Drafts: box=Drafts, uid=8348,
> msgid=<5237C224.9010608 at example.com>, size=3371745
> dsync(user at example.com): Info: copy from Drafts: box=Drafts, uid=8349,
> msgid=<5237C350.5080608 at example.com>, size=3371700
> dsync(user at example.com): Info: copy from Drafts: box=Drafts, uid=8350,
> msgid=<5237C5EE.5030408 at example.com>, size=3371619
> dsync(user at example.com): Info: expunge: box=Drafts, uid=8209, msgid=<
> 4F387A25.5010900 at example.com>, size=2954969
>
> The interesting lines being uid=8209 and uid=8343; why would dsync both
> copy and then expunge the same message from the same mailbox?
I think "move" gets logged as copy+expunge. It probably just wanted to
give a new UID to the message. Why it wanted to do that, I'm not sure .. One
way to debug this would be to get rawlogs of the traffic between the two dsync
brains, by running something like:
doveadm sync -1 -r raw.log -R 'doveadm -o imapc_user=foo -o
imapc_password=bar -o mail=imapc: dsync-server'
The rawlog would then show why dsync does what it does. Also latest hg has some
additional debug logging (doveadm -D), but it's still not in all the places
so it might not be enough.