-
Notifications
You must be signed in to change notification settings - Fork 152
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
sync failure vom cyrus-imap 3.0 to 3.2 or newer for Mailboxes with ANNOTATIONS due to missing MODSEQ #4967
Comments
FYI the messages did have "/vendor/cmu/cyrus-imapd/thrid" ANNOTATION. It took me some time, but i found that "thrid" is short for Thread ID We did test the conversationdb at some point, but did disable it again shortly after. |
This patch (unfinished) makes it lenient about accepting missing MODSEQ (and also missing USERID, based on But, now it fails on a CRC mismatch. "SYNCNOTICE: CRC error after apply" appears in syslog, and ">1720757254>S3 NO IMAP_SYNC_CHECKSUM Checksum Failure" in telemetry. On newer versions which log the mismatched CRCs, it's clear that it's the annot CRC that's mismatched. This is surprising to me, since There was a change in Patch behaves the same whether applied to master, 3.4, or 3.2. |
hello elli, I can confirm that the patch did solve the IMAP_PROTOCOL_ERROR but does run into IMAP_SYNC_CHECKSUM. The 3.0 cyrus did compute a Checksum with an empty userid, So we need to check for the case where the checksum on the server is 0 |
In my test, USERID isn't missing, but it still fails the CRC checks, so I think the missing USERID is a distraction. I've added a bunch of logging to observe the CRC values returned by crc_annot, and they have not changed between 3.0 and 3.2 or even 3.11. But the final value that's saved to the mailbox is different between 3.0 and 3.2+, and that's where the mismatch is detected and rejected. Not sure this is even fixable without just breaking compatibility between some other versions instead. Do these mailboxes fail to replicate on a first replication to an empty replica? Or do they work fine the first time, but fail later on incremental updates? |
I did could not test with a partial synced folder. I did a sync_reset after my first test with your a49023d patch to ensure that the fairure was not due to an |
Trying to sync form 3.0 to 3.4 I was unable to sycn some folders
Initial report https://cyrus.topicbox.com/groups/info/T8556e55b2133ffdf-M14a53cba2a5af4cd506ea63b
during debugging I found that Cyrus 3.2 and newer are expecting a MODSEQ for ANNOTATIONS
see imap/sync_support.c:1515
but cyrus-imapd-3.0 sync_clients do not send a MODSEQ for ANNOTATION
Edit:
The problem is also confiremd for replicating from 3.0 to 3.2
see https://lists.andrew.cmu.edu/pipermail/info-cyrus/2020-September/041396.html
The text was updated successfully, but these errors were encountered: