<html><head><style>body{font-family:Helvetica,Arial;font-size:13px}</style></head><body><div style="font-family:Helvetica,Arial;font-size:13px; ">What flags should I supply to cyr_expire in a replication configuration when I have expire annotations in use?</div><br><div class="gmail_signature">I have a replication relationship from a 2.5.12 machine (in the process of being replaced, but currently the master) to a 3.0.8-6+deb10u4 (as replica).</div><div class="gmail_signature"><br></div><div class="gmail_signature">I have had problems with old messages not being deleted on the replica, and found I was not running cyr_expire on the replica. I have configured it, so I have:</div><div class="gmail_signature"><br></div><div class="gmail_signature">master: cmd="cyr_expire -E 7 -X 3 -D 3" at=0100</div><div class="gmail_signature"><br></div><div class="gmail_signature">slave: cmd="cyr_expire -E 7 -X 3 -D 3" at=0300</div><div class="gmail_signature"><br></div><div class="gmail_signature">Since I installed this, I have had periodic replication failures. What seems to happen is this:</div><div class="gmail_signature"><br></div><div class="gmail_signature"><p style="margin: 0px; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo;"><span style="font-variant-ligatures: no-common-ligatures"> MAILBOX received NO response: IMAP_SYNC_CHECKSUM Checksum Failure</span></p>
<p style="margin: 0px; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo;"><span style="font-variant-ligatures: no-common-ligatures"> CRC failure on sync for user.igb.routine, trying full update</span></p>
<p style="margin: 0px; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo;"><span style="font-variant-ligatures: no-common-ligatures"> SYNCNOTICE: highestmodseq higher on replica user.igb.routine, updating 49317 => 49321</span></p>
<p style="margin: 0px; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo;"><span style="font-variant-ligatures: no-common-ligatures"> SYNCERROR: guid mismatch user.igb.routine 46708 (890a6db331aaccd8c423bbff598bb81bc3c19146 87fb316dea9c9dbbed691d11759b7b1e000d5487)</span></p>
<p style="margin: 0px; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo;"><span style="font-variant-ligatures: no-common-ligatures"> FETCH received NO response: IMAP_PROTOCOL_BAD_PARAMETERS</span></p>
<p style="margin: 0px; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo;"><span style="font-variant-ligatures: no-common-ligatures"> SYNCNOTICE: failed to prepare update for user.igb.routine: The remote Server(s) denied the operation</span></p>
<p style="margin: 0px; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo;"><span style="font-variant-ligatures: no-common-ligatures"> do_folders(): update failed: user.igb.routine 'The remote Server(s) denied the operation'</span></p>
<p style="margin: 0px; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo;"><span style="font-variant-ligatures: no-common-ligatures"> MAILBOX received NO response: IMAP_SYNC_CHECKSUM Checksum Failure</span></p>
<p style="margin: 0px; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo;"><span style="font-variant-ligatures: no-common-ligatures"> CRC failure on sync for user.igb.routine, trying full update</span></p>
<p style="margin: 0px; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo;"><span style="font-variant-ligatures: no-common-ligatures"> SYNCERROR: guid mismatch user.igb.routine 46708 (890a6db331aaccd8c423bbff598bb81bc3c19146 87fb316dea9c9dbbed691d11759b7b1e000d5487)</span></p>
<p style="margin: 0px; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo;"><span style="font-variant-ligatures: no-common-ligatures"> FETCH received NO response: IMAP_PROTOCOL_BAD_PARAMETERS</span></p>
<p style="margin: 0px; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo;"><span style="font-variant-ligatures: no-common-ligatures"> SYNCNOTICE: failed to prepare update for user.igb.routine: The remote Server(s) denied the operation</span></p>
<p style="margin: 0px; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo;"><span style="font-variant-ligatures: no-common-ligatures"> do_folders(): update failed: user.igb.routine 'The remote Server(s) denied the operation'</span></p>
<p style="margin: 0px; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo;"><span style="font-variant-ligatures: no-common-ligatures"> IOERROR: The remote Server(s) denied the operation</span></p>
<p style="margin: 0px; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo;"><span style="font-variant-ligatures: no-common-ligatures"> Error in do_sync(): bailing out! The remote Server(s) denied the operation</span></p><p style="margin: 0px; font-stretch: normal; font-size: 12px; line-height: normal; font-family: Menlo;"><br></p><div><br></div></div><div class="gmail_signature">The synchronisation continues to do this, making no progress. The clean-up is straightforward: I delete all the files in user.igb.routine on the replica, reconstruct -G -U user.igb.routine on replica, sync_client -m user.igb.routine on the master. It then runs for a few days, and then goes bang again: suggestively, always in the early but not too early hours of the morning. What’s going wrong, and what’s needed to fix it properly?</div><div class="gmail_signature"><br></div><div class="gmail_signature">user.igb.routine is the only mailbox I have which both (a) is relatively high traffic and (b) has the expire annotation.</div><div class="gmail_signature"><br></div><div class="gmail_signature">My hypothesis (I only have 8 days of searchable logs, so this is n=small) is that the failure happens as we replicate the first message to be delivered to user.igb.routine after 0300. My supposition is that a trap is set by the delivery of a message into user.igb.routine between 0100 and 0300. 3 (the value of the “expire” annotation) days later at 0300, that message is deleted on the replica (as it is >(86400*3) seconds old) but was not deleted on the master (because when expire ran on the master, at 0100, the message was _not_ >(86400*3) seconds old). Something bad happens during the replication run, and bad things then continue to ensue.</div><div class="gmail_signature"><br></div><div class="gmail_signature">To test this theory my original thought was to run expire on the slave at the same time it runs on the master, making the race condition much smaller. But I see that in 3.0.8 there is a “-a” flag to cyr_expire which suppresses processing of the expire annotation, which I assume deals with this case.</div><div class="gmail_signature"><br></div><div class="gmail_signature">Am I thinking along the right lines?</div><div class="gmail_signature"><br></div><div class="gmail_signature">ian</div><div class="gmail_signature"><br></div><div class="gmail_signature"><br></div></body></html>