View Issue Details

IDProjectCategoryView StatusLast Update
0000564Pgpool-IIBugpublic2020-01-20 22:10
Reportereduarte Assigned Topengbo  
PriorityurgentSeveritycrashReproducibilityalways
Status assignedResolutionopen 
PlatformTomcatOSCentos 7OS Version7
Product Version4.0.7 
Summary0000564: PGPool generates error and close the conection where there is an error in the master
DescriptionI have pgpool-II configured only for load balancing and when there is an error in an insert in the backend0 (master) also it generates an error in the replication node (backend1) and then pgpool closes the conection. We are working with Tomcat 9, PostgreSQL 10 and in the tomcat we use the postgresql-42.2.5.jar as a driver.

THIS IS THE LOG IN THE MASTER
-----------------------------------------
< 2019-12-05 17:12:28 -05 192.168.179.7 sucursal aplivirtual > ERROR: llave duplicada viola restricción de unicidad «userrepository_pkey»
< 2019-12-05 17:12:28 -05 192.168.179.7 sucursal aplivirtual > DETALLE: Ya existe la llave (userguid, repid)=(ec002f47-989c-43bd-8c77-546a2a615b94 , 2).
< 2019-12-05 17:12:28 -05 192.168.179.7 sucursal aplivirtual > SENTENCIA: INSERT INTO gam.UserRepository(UserRepRecPwdAns, UserRepCreDate, UserRepCreUser, UserRepUpdDate, UserRepUpdUser, UserGUID, RepId, UserRepMainRoleId, UserRepSecPolId, UserRepQstUserId) VALUES($1, $2, $3, $4, $5, $6, $7, $8, $9, $10)

THIS IS THE LOG IN STANDBY
---------------------------------------------
< 2019-12-05 17:12:03 COT 192.168.179.7 sucursal aplivirtual > ERROR: no hay un savepoint con ese nombre
< 2019-12-05 17:12:03 COT 192.168.179.7 sucursal aplivirtual > SENTENCIA: ROLLBACK TO SAVEPOINT gxupdate

THIS IS PART OF CATALINA.OUT IN TOMCAT
-----------------------------
org.postgresql.util.PSQLException: FATAL: failed to read kind from backend
  Detail: kind mismatch among backends. Possible last query was: "ROLLBACK TO SAVEPOINT gxupdate" kind details are: 0[C] 1[E: no hay un savepoint con ese nombre]
  Hint: check data consistency among db nodes

We are using the PostgreSQL native replication, and the nodes are uptime correctly

Tagserror, master slave, pgpool in load balancing mode

Activities

eduarte

2019-12-06 22:02

reporter  

pgpool.conf (40,652 bytes)
catalina.2019-12-05.log (17,108 bytes)

eduarte

2019-12-06 23:23

reporter   ~0003011

File localhost from tomcat
localhost.2019-12-05.log (48,170 bytes)

pengbo

2019-12-09 15:28

developer   ~0003013

I want to check the query sent by client.

If it is possible, could you enable "log_client_messages" parameter, and run that query again to log the client query to pgpool.log?
-----
log_client_messages = on
-----

eduarte

2019-12-09 23:05

reporter   ~0003015

Hi pengbo, here I add the output file. We are use Genexus as development tool, then we can´t manipulate the querys that this tool generates
salida.log (128,534 bytes)

pengbo

2019-12-11 15:46

developer   ~0003018

Thank you.

I found the "kind mismatch" error in pgpool.log.

===
dic 09 08:53:58 contenedorwebapp1.crediservir.com pgpool[41460]: 2019-12-09 08:53:58: pid 41488: FATAL: failed to read kind from backend
dic 09 08:53:58 contenedorwebapp1.crediservir.com pgpool[41460]: 2019-12-09 08:53:58: pid 41488: DETAIL: kind mismatch among backends. Possible last query was: "ROLLBACK TO SAVEPOINT gxupdate" kind details are: 0[C] 1[E: no hay un savepoint con ese nombre]
===

Normally SAVEPOINT are sent to both primary and standby.
May I see the both PostgreSQL primary and standby log?

eduarte

2020-01-20 22:10

reporter   ~0003076

Hi pengbo, sorry but I didn't see the previous message. Here I add file with 2 messages one in master and another in standby.

This files are of december 19, in this moment I can't generate more test because we are in production with our application, and the solution was we don't use pgpool and pointing directly to the database.

Well, I could, but I have to configure this setting in a test environment, if you need it, let me know
error master-standby.txt (954 bytes)   
error master-standby.txt (954 bytes)   

Issue History

Date Modified Username Field Change
2019-12-06 22:02 eduarte New Issue
2019-12-06 22:02 eduarte File Added: localhost_access_log.2019-12-05.txt
2019-12-06 22:02 eduarte File Added: pgpool.conf
2019-12-06 22:02 eduarte File Added: catalina.2019-12-05.log
2019-12-06 22:02 eduarte Issue generated from: 0000563
2019-12-06 22:02 eduarte Tag Attached: error
2019-12-06 22:02 eduarte Tag Attached: master slave
2019-12-06 22:02 eduarte Tag Attached: pgpool in load balancing mode
2019-12-06 23:23 eduarte File Added: localhost.2019-12-05.log
2019-12-06 23:23 eduarte Note Added: 0003011
2019-12-09 13:21 pengbo Assigned To => pengbo
2019-12-09 13:21 pengbo Status new => assigned
2019-12-09 13:21 pengbo Description Updated
2019-12-09 15:28 pengbo Note Added: 0003013
2019-12-09 23:05 eduarte File Added: salida.log
2019-12-09 23:05 eduarte Note Added: 0003015
2019-12-11 15:46 pengbo Note Added: 0003018
2020-01-20 12:31 pengbo Status assigned => feedback
2020-01-20 22:10 eduarte File Added: error master-standby.txt
2020-01-20 22:10 eduarte Note Added: 0003076
2020-01-20 22:10 eduarte Status feedback => assigned