#!/bin/cat $Id: FAQ.User_Concurrent_Access.txt,v 1.6 2022/05/05 13:18:29 gilles Exp gilles $ This document is also available online at https://imapsync.lamiral.info/FAQ.d/ https://imapsync.lamiral.info/FAQ.d/FAQ.User_Concurrent_Access.txt ======================================================================= Imapsync and user concurrent access. ======================================================================= ======================================================================= Q. What happens if a user access the mailbox during the transfer process? R. Think all potential problems with a sync between a master/source/host1 and a slave/destination/host2 What happens when a user access syncing accounts depends on what he does, where he does and when. As a summary, reading is safe, writing/deleting is not. Details: * Reading: no problem anywhere, at source/host1 or at destination/host2, anytime. Reading is safe. * Writing at source/host1: * adding folder => will need a resync after * deleting folder => folders deletions are not synced unless --delete2folders * deleting message => messages deletions are not synced unless --delete2 * adding message => will need a resync * moving message => will need a resync. Moving is like adding + deleting so --delete2 is needed to sync the deletion. * message flag change => will need a resync Let's more precise about timing. Imapsync works per folder, one folder at a time. If imapsync has already synced a folder during a run, what happens to this folder now won't be synced by the current run. If imapsync has not already synced a folder during a run, what happens to this folder now will be synced by the current run. If imapsync is syncing a folder during a run, what happens to this folder now depends on when things happen. Imapsync starts by listing messages and getting meta data about them, Message-Id, Date, Size. A message deleted just after the listing, won't be synced. A new message arriving just after the listing, won't be synced. * Writing at destination/host2: * adding folder => no problem, unless --delete2folders is used * deleting folder => will reappear by a new sync * adding message => no problem, unless --delete2 is used on next sync. * deleting message => might reappear by a new sync. * message flag change => will be reseted by a new sync. ======================================================================= =======================================================================