[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