Wed Mar 29 08:10:06 PST 2006
- Previous message: [Slony1-commit] By cbbrowne: Further removal of PG 7.3 support - PG version checks now
- Next message: [Slony1-commit] By cbbrowne: Add FAQ entry to explain the sl_nodelock interlock error
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Log Message: ----------- When a slon runs into the fatal error where sl_nodelock-pkey gets a non-unique value (which indicates a second slon trying to manage a node), the log also receives additional messages that may be useful for diagnosis: 2006-03-29 16:01:34 UTC FATAL localListenThread: "select "_test1538".cleanupNodelock(); insert into "_test1538".sl_nodelock values ( 1, 0, "pg_catalog".pg_backend_pid()); " - ERROR: duplicate key violates unique constraint "sl_nodelock-pkey" 2006-03-29 16:01:34 UTC FATAL Do you already have a slon running against this node? 2006-03-29 16:01:34 UTC FATAL Or perhaps a residual idle backend connection from a dead slon? Modified Files: -------------- slony1-engine/src/slon: local_listen.c (r1.36 -> r1.37) -------------- next part -------------- Index: local_listen.c =================================================================== RCS file: /usr/local/cvsroot/slony1/slony1-engine/src/slon/local_listen.c,v retrieving revision 1.36 retrieving revision 1.37 diff -Lsrc/slon/local_listen.c -Lsrc/slon/local_listen.c -u -w -r1.36 -r1.37 --- src/slon/local_listen.c +++ src/slon/local_listen.c @@ -89,6 +89,8 @@ /* * Check that we are the only slon daemon connected. */ +#define NODELOCKERROR "ERROR: duplicate key violates unique constraint \"sl_nodelock-pkey\"" + slon_mkquery(&query1, "select %s.cleanupNodelock(); " "insert into %s.sl_nodelock values (" @@ -99,8 +101,15 @@ if (PQresultStatus(res) != PGRES_COMMAND_OK) { slon_log(SLON_FATAL, - "localListenThread: \"%s\" - %s", + "localListenThread: \"%s\" - %s\n", dstring_data(&query1), PQresultErrorMessage(res)); + if (strncmp(NODELOCKERROR, PQresultErrorMessage(res), strlen(NODELOCKERROR)) == 0) { + slon_log(SLON_FATAL, + "Do you already have a slon running against this node?\n"); + slon_log(SLON_FATAL, + "Or perhaps a residual idle backend connection from a dead slon?\n"); + } + PQclear(res); dstring_free(&query1); slon_abort();
- Previous message: [Slony1-commit] By cbbrowne: Further removal of PG 7.3 support - PG version checks now
- Next message: [Slony1-commit] By cbbrowne: Add FAQ entry to explain the sl_nodelock interlock error
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Slony1-commit mailing list