CVS User Account cvsuser
Sat Oct 8 20:37:32 PDT 2005
Log Message:
-----------
Check existing provider DB connection in sync event processing.
A DB connection loss during fetching of log rows does not cause
the database connection to be dropped within the helper thread.
This was able to cause a dead connection to stall replication.

Jan

Tags:
----
REL_1_1_STABLE

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

-------------- next part --------------
Index: remote_worker.c
===================================================================
RCS file: /usr/local/cvsroot/slony1/slony1-engine/src/slon/remote_worker.c,v
retrieving revision 1.86.2.4
retrieving revision 1.86.2.5
diff -Lsrc/slon/remote_worker.c -Lsrc/slon/remote_worker.c -u -w -r1.86.2.4 -r1.86.2.5
--- src/slon/remote_worker.c
+++ src/slon/remote_worker.c
@@ -3650,6 +3650,15 @@
 	 */
 	for (provider = wd->provider_head; provider; provider = provider->next)
 	{
+		if (provider->conn != NULL)
+		{
+			if (PQstatus(provider->conn->dbconn) != CONNECTION_OK)
+			{
+				slon_disconnectdb(provider->conn);
+				provider->conn = NULL;
+			}
+		}
+
 		if (provider->conn == NULL)
 		{
 			if (provider->pa_conninfo == NULL)


More information about the Slony1-commit mailing list