[2.3.11RC1] Rolling replication hangs

Boris Lytochkin boris.lytochkin at e-port.ru
Tue Dec 25 14:02:13 EST 2007


It seems that sync_client running in rolling replication can hang.
I applied a small patch:
--- imap/sync_client.c.orig     2007-12-25 21:39:50.000000000 +0300
+++ imap/sync_client.c  2007-12-25 21:41:27.000000000 +0300
@@ -3338,12 +3338,16 @@
        }

        /* Process the work log */
+       syslog(LOG_NOTICE,
+               "About to run sync on log file %s", work_file_name);
         if ((r=do_sync(work_file_name))) {
            syslog(LOG_ERR,
                   "Processing sync log file %s failed: %s",
                   work_file_name, error_message(r));
            break;
        }
+       syslog(LOG_NOTICE,
+              "Done running sync on log file %s", work_file_name);

        /* Remove the work log */
         if (unlink(work_file_name) < 0) {

After launching sync_client -r I get in log:
Dec 25 21:46:22 napoli sync_client[26203]: About to run sync on log file /var/imap/sync/log-26202
<END>
>ps awwx |grep sync
26202  p4  I      0:00.00 sync_client -v -l -r
26203  p4  I      0:00.00 sync_client -v -l -r


>lsof |grep 26203 |grep -v lib|less
lsof: WARNING: compiled for FreeBSD release 6.2-STABLE; this is 6.3-PRERELEASE.
sync_clie 26203     cyrus  cwd     VDIR               0,89                512  1272758 /usr/local/cyrus
sync_clie 26203     cyrus  rtd     VDIR               0,86               1024        2 /
sync_clie 26203     cyrus  txt     VREG               0,89             932584  1272795 /usr/local/cyrus/bin/sync_client
sync_clie 26203     cyrus  txt     VREG               0,92              24576 69220004 /var/imap/db/__db.001
sync_clie 26203     cyrus  txt     VREG               0,92             663552 69220006 /var/imap/db/__db.003
sync_clie 26203     cyrus  txt     VREG               0,92              98304 69220007 /var/imap/db/__db.004
sync_clie 26203     cyrus  txt     VREG               0,92              40960 69220009 /var/imap/db/__db.006
sync_clie 26203     cyrus  txt     VREG               0,92              43128 69219847 /var/imap/mailboxes.db
sync_clie 26203     cyrus  txt     VREG               0,92                144 69219343 /var/imap/annotations.db
sync_clie 26203     cyrus  txt     VREG               0,92            3227648 69220005 /var/imap/db/__db.002
sync_clie 26203     cyrus  txt     VREG               0,92           28123136 69220008 /var/imap/db/__db.005
sync_clie 26203     cyrus    0u    VCHR              0,105              0t108      105 /dev (devfs)
sync_clie 26203     cyrus    1u    VCHR              0,105              0t108      105 /dev (devfs)
sync_clie 26203     cyrus    2u    VCHR              0,105              0t108      105 /dev (devfs)
sync_clie 26203     cyrus    3u    VREG               0,92              43128 69219847 /var/imap/mailboxes.db
sync_clie 26203     cyrus    4u    VREG               0,92                144 69219343 /var/imap/annotations.db
sync_clie 26203     cyrus    5u    IPv4 0xffffff003b3bfbc0                0t0      TCP master.lan:62563->imap2:berknet (ESTABLISHED)
sync_clie 26203     cyrus    6u    unix 0xffffff005b473c08                0t0          ->0xffffff00218eac08
sync_clie 26203     cyrus    7uW   VREG               0,92               4049 69219933 /var/imap/sync/log-26202

So, sync_client is idle, copied log file is open, so replication hangs.
No traffic, no processor activity, just idle.

I use 2.3.11RC1,
>uname -a
FreeBSD master 6.3-PRERELEASE FreeBSD 6.3-PRERELEASE #3: Wed Oct 31 09:04:29 MSK 2007     master:/usr/obj/usr/src/sys/SMP6_64  amd64


I'll try digging into the problem further, any suggestions and advices are greatly welcome.


-- 
Boris Lytochkin,
JSC e-port.ru, Moscow



More information about the Cyrus-devel mailing list