[pgpool-general: 757] Problem with pgpool when using SSL for client/pgpool communication

Jeff Frost jeff at pgexperts.com
Thu Jul 19 02:19:55 JST 2012

We have a client using pgpool-II 3.1.3 which is exhibiting prepared statements
stuck in BIND when using SSL between the client rails 3.2.6 application and
the pgpool server, but not otherwise. Here's the info:

Pgpool is being used for load balancing with streaming replication.

When we turn on ssl, queries (mostly prepared insert statements, but also
updates and I think that I saw a select once too) get stuck in postgres and
just hang forever. The only way to get rid of these stuck queries is to
restart pgpool. The only way to prevent them from coming back is to prevent
the client from using ssl to connect to the pgpool server, OR to make the
client go direct to the db and not use pgpool.

We've tried to reproduce this by turning on full query logging and then using
pgreplay to redo a section of queries that caused things to lock up, but that
didn't work (even at 4x speed), and we've tried to look at the logs to see if
there are any errors or anything, and we weren't able to find anything odd
either. We can get our app to do it every time within a minute of us turning
it on, but we can't do it without the app, unfortunately, so we don't have a
repro case that will work outside of our environment.

It looks like there is an issue with the SSL code, since the db is waiting for
data from pgpool (it is in BIND state, and is doing an ssl_read_n()), and
pgpool thinks that it's sent all it's data (it thinks it's idle in transaction
and is doing a select()).

Supporting info:

[root at devops-staging-pgpool1 pgpool-II]# pgpool -v
pgpool-II version 3.1.3 (hatsuiboshi)

[root at devops-staging-db11 ~]# /usr/pgsql-9.1/bin/postgres --version

postgres (PostgreSQL) 9.1.4

More information about the pgpool-general mailing list