On 17.9.2013, at 6.25, Anand Kumria <wildf...@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=u...@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 u...@example.com imapc:
> dsync(u...@example.com): Info: copy from Drafts: box=Drafts, uid=8343,
> msgid=<4f387a25.5010...@example.com>, size=2954969
> dsync(u...@example.com): Info: copy from Drafts: box=Drafts, uid=8344,
> msgid=<5237b0bf.7030...@example.com>, size=3371710
> dsync(u...@example.com): Info: copy from Drafts: box=Drafts, uid=8345,
> msgid=<5237b588.6040...@example.com>, size=3266
> dsync(u...@example.com): Info: copy from Drafts: box=Drafts, uid=8346,
> msgid=<5237b6b4.2030...@example.com>, size=4201
> dsync(u...@example.com): Info: copy from Drafts: box=Drafts, uid=8347,
> msgid=<5237b888.7030...@example.com>, size=3371445
> dsync(u...@example.com): Info: copy from Drafts: box=Drafts, uid=8348,
> msgid=<5237c224.9010...@example.com>, size=3371745
> dsync(u...@example.com): Info: copy from Drafts: box=Drafts, uid=8349,
> msgid=<5237c350.5080...@example.com>, size=3371700
> dsync(u...@example.com): Info: copy from Drafts: box=Drafts, uid=8350,
> msgid=<5237c5ee.5030...@example.com>, size=3371619
> dsync(u...@example.com): Info: expunge: box=Drafts, uid=8209, msgid=<
> 4f387a25.5010...@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.

Reply via email to