[pgpool-hackers: 1501] kind does not match error in pgpool

Muhammad Usama m.usama at gmail.com
Fri Apr 15 15:46:30 JST 2016


pgpool throws ".. kind does not match.." error message when all the
attached backend nodes do not return the same response to the query. Although
this error message can be a symptom of the backend node sync issue in most
cases, but in case when the message kind of backend nodes differs because
one of the backend returned the notice response while the other returned
some other kind then that case should not be considered as an error case.

Consider the scenario where a pgpool is connected to three backend nodes
and pgpool is expecting to receive "[C] command complete" message from all
nodes for the last query. But while processing the query one of the backend
also produced a warning message.

... WARNING: database "testdb" must be vacuum within 11000000 transaction

Please note that the query was successful on all attached backend, but one
backend also produced an extra warning message along with the command
complete message.

Now pgpool will throw an error something like

ERROR: pid 720: read_kind_from_backend: 1 th kind N does not match
with master or majority connection kind C

But since the node would also have sent the expected command complete
message after that warning notice, So Ideally, pgpool should ignore the
WARNING message and compare the subsequent message, and only throw an error
if the message from nodes after ignoring notification messages differs.

What are your thoughts on this?

Kind regards
Muhammad Usama
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.sraoss.jp/pipermail/pgpool-hackers/attachments/20160415/89eff91c/attachment.html>

More information about the pgpool-hackers mailing list