[Pgpool-general] [PgPool-II] Node degenerating

Anton Koldaev koldaevav at gmail.com
Mon Jun 27 21:29:49 UTC 2011


Even 'BEGIN;' statement:
*2011-06-28 01:28:19 LOG:   pid 4146: statement: BEGIN;*
*2011-06-28 01:28:19 LOG:   pid 4146: DB node id: 0 backend pid: 4184
statement: BEGIN;*
*2011-06-28 01:28:19 LOG:   pid 4146: DB node id: 1 backend pid: 10117
statement: BEGIN;*
*2011-06-28 01:28:19 LOG:   pid 4146: DB node id: 2 backend pid: 29861
statement: BEGIN;*
*2011-06-28 01:28:19 ERROR: pid 4146: read_kind_from_backend: 2 th kind N
does not match with master or majority connection kind Z*
*2011-06-28 01:28:19 ERROR: pid 4146: kind mismatch among backends. Possible
last query was: "BEGIN;" kind details are: 0[Z] 1[Z] 2[N: duration: 0.000 ms
 statement: BEGIN;]*

On Tue, Jun 28, 2011 at 1:06 AM, Anton Koldaev <koldaevav at gmail.com> wrote:

> I reconfigured something and now I'm getting kind mismatch on any query
> right after online-recovery:
> *> 2011-06-28 01:00:18 LOG:   pid 696: DB node id: 0 backend pid: 1414
> statement: SET NAMES 'windows-1251'*
> *> 2011-06-28 01:00:18 LOG:   pid 696: DB node id: 1 backend pid: 8610
> statement: SET NAMES 'windows-1251'*
> *> 2011-06-28 01:00:18 LOG:   pid 696: DB node id: 2 backend pid: 28953
> statement: SET NAMES 'windows-1251'*
> *> 2011-06-28 01:00:18 ERROR: pid 696: read_kind_from_backend: 2 th kind N
> does not match with master or majority connection kind Z*
> *> 2011-06-28 01:00:18 ERROR: pid 696: kind mismatch among backends.
> Possible last query was: "SET NAMES 'windows-1251'" kind details are: 0[Z]
> 1[Z] 2[N: duration: 0.000 ms  statement: SET NAMES 'windows-1251']*
>
> postgresql.log on 2th backend:
> *> 2011-06-28 01:03:00 MSD [29038]: [1-1] LOG:  00000: duration: 0.000 ms
>  statement: BEGIN*
> *> 2011-06-28 01:03:00 MSD [29038]: [2-1] LOCATION:  exec_simple_query,
> postgres.c:1068*
> *> 2011-06-28 01:03:00 MSD [29038]: [3-1] LOG:  00000: duration: 0.000 ms
>  statement: SET NAMES 'windows-1251'*
> *> 2011-06-28 01:03:00 MSD [29038]: [4-1] LOCATION:  exec_simple_query,
> postgres.c:1068*
> *> 2011-06-28 01:03:00 MSD [28690]: [1093-1] DEBUG:  00000: server process
> (PID 29038) exited with exit code 0*
> *> 2011-06-28 01:03:00 MSD [28690]: [1094-1] LOCATION:  LogChildExit,
> postmaster.c:2720*
>
> What's wrong? Where can I find this [N]-message? What does [Z]-messages
> mean? Where to take a list of message types?
>
>
> On Sun, Jun 26, 2011 at 1:53 PM, Tatsuo Ishii <ishii at sraoss.co.jp> wrote:
>
>> I was unable to reproduce your problem. What I did was:
>>
>> - create 3 database clusters
>> - run the same query (global3=# VACUUM ANALYZEmetadata."RC_Metadata";)
>>  via psql->pgpool
>>
>> No degeneration occurred. Just pgpool reported syntax error.
>>
>> Is there any specific condition to reproduce your problem?
>> --
>> Tatsuo Ishii
>> SRA OSS, Inc. Japan
>> English: http://www.sraoss.co.jp/index_en.php
>> Japanese: http://www.sraoss.co.jp
>>
>> > Hello
>> > I've got three nodes in pgpool-II:
>> > sO21 - id:0
>> > sO22 - id:1
>> > db00 - id:2
>> > replication_mode = true
>> > load_balance_mode = true
>> > replication_stop_on_mismatch = true
>> > failover_if_affected_tuples_mismatch = true
>> >
>> > I'm getting an error after somebody of developers enters wrong syntax
>> query:
>> >
>> >
>> >    1.  2011-06-23 15:24:26 LOG:   pid 13894: SimpleQuery: Unable TO
>> parse
>> >    the query: global3=# VACUUM ANALYZEmetadata."RC_Metadata";
>> >    2.  2011-06-23 15:24:26 LOG:   pid 13894: DB node id: 0 backend pid:
>> >    13906 STATEMENT: BEGIN
>> >    3.  2011-06-23 15:24:26 LOG:   pid 13894: DB node id: 1 backend pid:
>> >    13788 STATEMENT: BEGIN
>> >    4.  2011-06-23 15:24:26 LOG:   pid 13894: DB node id: 0 backend pid:
>> >    13906 STATEMENT: global3=# VACUUMANALYZE metadata."RC_Metadata";
>> >    5.  2011-06-23 15:24:26 LOG:   pid 13894: pool_send_and_wait: Error
>> > OR notice
>> >    message FROM backend: : DB node id: 0 backend pid: 13906 STATEMENT:
>> >    global3=# vacu
>> >    6.  um ANALYZE metadata."RC_Metadata"; message: syntax error AT OR
>> near
>> >    "global3"
>> >
>> >
>> > As you can see somebody copy-pasted vacuum analyze query with
>> "database=#
>> > ...".
>> > After this pgpool degrades node with id=2. Why is this happening?
>> > I know that:
>> >
>> > *"you should not execute VACUUM via pgpool. Connect*>>>* PostgreSQL
>> > directry and execute VACUUM".*
>> >
>> > But it is the second problem when syntax error causes degenerating of
>> > the second node.
>> >
>> >
>> > Here is the log from pgpool-II:
>> > http://pastebin.com/N3uKAG7k
>> >
>> > I will appreciate any help.
>> >
>> > PS: Tatsuo, maybe you have some scripts with test queries to check if
>> > replication works correctly after online recovery?
>> >
>> > --
>> > Best regards,
>> > Koldaev Anton
>>
>
>
>
> --
> Best regards,
> Koldaev Anton
>



-- 
Best regards,
Koldaev Anton
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://pgfoundry.org/pipermail/pgpool-general/attachments/20110628/38055345/attachment.html>


More information about the Pgpool-general mailing list