CVS User Account cvsuser
Thu May 4 07:39:09 PDT 2006
Log Message:
-----------
Per Rod Taylor

Due to some hardcoded values in remote_worker.c which override the
configuration file (max group size of 100) and a very slow group size
climb Slony can easily fall behind and never catch up again.

Modified Files:
--------------
    slony1-engine/src/slon:
        remote_worker.c (r1.111 -> r1.112)

-------------- next part --------------
Index: remote_worker.c
===================================================================
RCS file: /usr/local/cvsroot/slony1/slony1-engine/src/slon/remote_worker.c,v
retrieving revision 1.111
retrieving revision 1.112
diff -Lsrc/slon/remote_worker.c -Lsrc/slon/remote_worker.c -u -w -r1.111 -r1.112
--- src/slon/remote_worker.c
+++ src/slon/remote_worker.c
@@ -457,7 +457,7 @@
 		 */
 		if (strcmp(event->ev_type, "SYNC") == 0)
 		{
-			SlonWorkMsg_event *sync_group[100];
+			SlonWorkMsg_event *sync_group[10000];
 			int			sync_group_size;
 
 			int			seconds;
@@ -476,8 +476,8 @@
 				/* Force last_sync_group_size to a reasonable range */
 				if (last_sync_group_size < 1)
 					last_sync_group_size = 1;
-				if (last_sync_group_size > 100)
-					last_sync_group_size = 1;
+				if (last_sync_group_size > 10000)
+					last_sync_group_size = 10000;
 
 				gettimeofday(&sync_end, NULL);
 				last_sync_length =
@@ -504,7 +504,7 @@
 					{
 						ideal_sync = sync_group_maxsize;
 					}
-					max_sync = ((last_sync_group_size * 110) / 100) + 1;
+					max_sync = ((last_sync_group_size * 200) / 100) + 1;
 					next_sync_group_size = ideal_sync;
 					if (next_sync_group_size > max_sync)
 						next_sync_group_size = max_sync;



More information about the Slony1-commit mailing list