[pgpool-committers: 3849] pgpool: Fix Execute() not to set writing transaction flag in an inappro

Tatsuo Ishii ishii at postgresql.org
Fri Mar 17 11:22:04 JST 2017


Fix Execute() not to set writing transaction flag in an inappropriate case.

Execute() mistakenly set the writing transaction flag even if a write
query is issued (in particular case, "BEGIN"). The reason why it did
not found before was, the code path only works when the transaction
state is 'T' (in transaction). Before it was only set at
CommandComplete but previous commit set the state at Execute().
This leads to a SELECT not being load balanced.

Also add some useful debugging statements.

See [pgpool-hackers: 2155] for more details.

Branch
------
bug271

Details
-------
http://git.postgresql.org/gitweb?p=pgpool2.git;a=commitdiff;h=9467c720e93dc69d8b4f392484025ccd0fcee411

Modified Files
--------------
src/context/pool_query_context.c  | 31 ++++++++++++++++++++++++++++++-
src/protocol/pool_proto_modules.c | 13 ++-----------
2 files changed, 32 insertions(+), 12 deletions(-)



More information about the pgpool-committers mailing list