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

Tatsuo Ishii ishii at postgresql.org
Fri Apr 15 15:57:05 JST 2016


> Hi
> 
> 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?

Yes, this is a long standing annoying problem. I can think of number
of other scenarios as well. Let's continue to study on this problem. I
hope we could make some enhancement for the issue in 3.6.

Best regards,
--
Tatsuo Ishii
SRA OSS, Inc. Japan
English: http://www.sraoss.co.jp/index_en.php
Japanese:http://www.sraoss.co.jp


More information about the pgpool-hackers mailing list