From 658430e9f2f0034d42608aac15d9b93b4207f65b Mon Sep 17 00:00:00 2001 From: Pavan Deolasee Date: Tue, 19 Jan 2016 16:20:40 +0530 Subject: [PATCH] We don't yet support persistent connections between datanodes --- src/backend/pgxc/pool/poolmgr.c | 12 ++++++++++++ src/backend/utils/misc/guc.c | 2 +- src/include/pgxc/poolmgr.h | 4 ++++ 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/src/backend/pgxc/pool/poolmgr.c b/src/backend/pgxc/pool/poolmgr.c index 30dd985b2a..fb07018500 100644 --- a/src/backend/pgxc/pool/poolmgr.c +++ b/src/backend/pgxc/pool/poolmgr.c @@ -2650,3 +2650,15 @@ pools_maintenance(void) elog(DEBUG1, "Pool maintenance, done in %f seconds, removed %d pools", difftime(time(NULL), now), count); } + +bool +check_persistent_connections(bool *newval, void **extra, GucSource source) +{ + if (*newval && IS_PGXC_DATANODE) + { + elog(WARNING, "persistent_datanode_connections = ON is currently not " + "supported on datanodes - ignoring"); + *newval = false; + } + return true; +} diff --git a/src/backend/utils/misc/guc.c b/src/backend/utils/misc/guc.c index 72311d4ddf..069bcbac7e 100644 --- a/src/backend/utils/misc/guc.c +++ b/src/backend/utils/misc/guc.c @@ -1717,7 +1717,7 @@ static struct config_bool ConfigureNamesBool[] = }, &PersistentConnections, false, - NULL, NULL, NULL + check_persistent_connections, NULL, NULL }, { {"strict_statement_checking", PGC_USERSET, DEVELOPER_OPTIONS, diff --git a/src/include/pgxc/poolmgr.h b/src/include/pgxc/poolmgr.h index 5f13490503..38d45cf255 100644 --- a/src/include/pgxc/poolmgr.h +++ b/src/include/pgxc/poolmgr.h @@ -25,6 +25,7 @@ #include "pgxcnode.h" #include "poolcomm.h" #include "storage/pmsignal.h" +#include "utils/guc.h" #include "utils/hsearch.h" #define MAX_IDLE_TIME 60 @@ -141,4 +142,7 @@ extern void PoolManagerLock(bool is_lock); /* Do pool health check activity */ extern void PoolPingNodes(void); + +extern bool check_persistent_connections(bool *newval, void **extra, + GucSource source); #endif -- 2.39.5