[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