[Pgpool-general] out of sync after listing tables

Tatsuo Ishii ishii at sraoss.co.jp
Wed May 6 01:04:06 UTC 2009


Still thinking about why pgpool thinks there's only one backend...

> >> 2009-04-30 14:00:18 DEBUG: pid 11979: read_kind_from_backend: read kind from 0
> >> th backend T NUM_BACKENDS: 1
--
Tatsuo Ishii
SRA OSS, Inc. Japan

> Hello Tatsuo,
> 
> thanks for answering.
> I wanted to reproduce the error, but at the weekend one of the backends crashed.
> I started setting up pgpool from scratch. The setup and "test scenario" is the
> same (pgpool-II 2.2.1, postgresql 8.3.7, psql on different workstation of
> postgres 8.3.5) => type "\d" in psql session to pgpool
> 
> ""
> 2009-05-04 09:30:40 LOG:   pid 12497: statement: SELECT n.nspname as "Schema",
>   c.relname as "Name",
>   CASE c.relkind WHEN 'r' THEN 'table' WHEN 'v' THEN 'view' WHEN 'i' THEN
> 'index' WHEN 'S' THEN 'sequence' WHEN 's' THEN 'special' END as "Type",
>   r.rolname as "Owner"
> FROM pg_catalog.pg_class c
>      JOIN pg_catalog.pg_roles r ON r.oid = c.relowner
>      LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace
> WHERE c.relkind IN ('r','v','S','')
>   AND n.nspname <> 'pg_catalog'
>   AND n.nspname !~ '^pg_toast'
>   AND pg_catalog.pg_table_is_visible(c.oid)
> ORDER BY 1,2;
> 2009-05-04 09:30:40 DEBUG: pid 12497: waiting for backend 0 completing the query
> 2009-05-04 09:30:41 DEBUG: pid 12497: detect_error: kind: T
> 2009-05-04 09:30:41 DEBUG: pid 12497: detect_error: kind: T
> 2009-05-04 09:30:41 DEBUG: pid 12497: read_kind_from_backend: read kind from 0
> th backend T NUM_BACKENDS: 1
> 2009-05-04 09:30:41 DEBUG: pid 12497: pool_process_query: kind from backend: T
> 2009-05-04 09:30:41 DEBUG: pid 12497: read_kind_from_backend: read kind from 0
> th backend D NUM_BACKENDS: 1
> 2009-05-04 09:30:41 DEBUG: pid 12497: pool_process_query: kind from backend: D
> .....
> 2009-05-04 09:30:41 DEBUG: pid 12497: detect_error: kind: D
> 2009-05-04 09:30:41 DEBUG: pid 12497: detect_error: kind: D
> .....
> 2009-05-04 09:30:41 DEBUG: pid 12497: pool_read_message_length: slot: 0 length: 5
> 2009-05-04 09:30:41 DEBUG: pid 12497: ReadyForQuery: message length: 5
> 2009-05-04 09:30:41 DEBUG: pid 12497: ReadyForQuery: transaction state: I
> 2009-05-04 09:30:41 DEBUG: pid 12497: end_load_balance: end load balance mode
> 2009-05-04 09:31:06 DEBUG: pid 12315: starting health checking
> 2009-05-04 09:31:06 DEBUG: pid 12315: health_check: 0 th DB node status: 2
> 2009-05-04 09:31:06 DEBUG: pid 12315: health_check: 1 th DB node status: 2
> ""
> 
> Hmmmm, the health_check shows me "everything's fine", but somewhere in between
> there seems to be an error.
> any hints appreciated....
> 
> regards...GERD..
> 
> Tatsuo Ishii schrieb:
> > Did not reproduce here.
> > 
> > Do you have anything special with your setting?
> > Do you have same result with a trivial query such as "SELECT 1"?
> > --
> > Tatsuo Ishii
> > SRA OSS, Inc. Japan
> > 
> >> Hello,
> >>
> >> I currently installed the latest pgpool-II 2.2.1 with Postgres8.3.7 as backend
> >> on 2 nodes.
> >> Setup and start pgpool worked as expected, but immediately after connecting to
> >> pgpool via psql it got out of sync....?!?!
> >> The steps:
> >> 1.) install and startup pgpool-II 2.2.1 on "node1" and "node2" (node1 is the
> >> "master")
> >> 2.) call "psql -U dbname -u user -h node1" from a different workstation (psql
> >> version 8.3.5)
> >> 3.) inside psql session type "\d"
> >> 4.) check pgpool log and detect the following lines:
> >> ....
> >> 2009-04-30 14:00:10 DEBUG: pid 11979: pool_read_message_length2: master slot: 0
> >> length: 36
> >> 2009-04-30 14:00:10 DEBUG: pid 11979: pool_read_message_length2: master slot: 1
> >> length: 36
> >> 2009-04-30 14:00:10 DEBUG: pid 11979: 0 th backend: name:
> >> standard_conforming_strings value: off
> >> 2009-04-30 14:00:10 DEBUG: pid 11979: 1 th backend: name:
> >> standard_conforming_strings value: off
> >> 2009-04-30 14:00:10 DEBUG: pid 11979: pool_read_message_length2: master slot: 0
> >> length: 27
> >> 2009-04-30 14:00:10 DEBUG: pid 11979: pool_read_message_length2: master slot: 1
> >> length: 27
> >> 2009-04-30 14:00:10 DEBUG: pid 11979: 0 th backend: name: TimeZone value:
> >> Europe/Berlin
> >> 2009-04-30 14:00:10 DEBUG: pid 11979: 1 th backend: name: TimeZone value:
> >> Europe/Berlin
> >> 2009-04-30 14:00:10 DEBUG: pid 11979: pool_read_message_length: slot: 0 length: 12
> >> 2009-04-30 14:00:10 DEBUG: pid 11979: pool_read_message_length: slot: 1 length: 12
> >> 2009-04-30 14:00:10 DEBUG: pid 11979: pool_send_auth_ok: send pid 18650 to frontend
> >> 2009-04-30 14:00:10 DEBUG: pid 11979: read_kind_from_backend: read kind from 0
> >> th backend Z NUM_BACKENDS: 2
> >> 2009-04-30 14:00:10 DEBUG: pid 11979: read_kind_from_backend: read kind from 1
> >> th backend Z NUM_BACKENDS: 2
> >> 2009-04-30 14:00:10 DEBUG: pid 11979: pool_process_query: kind from backend: Z
> >> 2009-04-30 14:00:10 DEBUG: pid 11979: pool_read_message_length: slot: 0 length: 5
> >> 2009-04-30 14:00:10 DEBUG: pid 11979: pool_read_message_length: slot: 1 length: 5
> >> 2009-04-30 14:00:10 DEBUG: pid 11979: ReadyForQuery: message length: 5
> >> 2009-04-30 14:00:10 DEBUG: pid 11979: ReadyForQuery: transaction state: I
> >> 2009-04-30 14:00:18 DEBUG: pid 11979: read kind from frontend Q(51)
> >> 2009-04-30 14:00:18 LOG:   pid 11979: statement: SELECT n.nspname as "Schema",
> >>   c.relname as "Name",
> >>   CASE c.relkind WHEN 'r' THEN 'table' WHEN 'v' THEN 'view' WHEN 'i' THEN
> >> 'index' WHEN 'S' THEN 'sequence' WHEN 's' THEN 'special' END as "Type",
> >>   r.rolname as "Owner"
> >> FROM pg_catalog.pg_class c
> >>      JOIN pg_catalog.pg_roles r ON r.oid = c.relowner
> >>      LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace
> >> WHERE c.relkind IN ('r','v','S','')
> >>   AND n.nspname <> 'pg_catalog'
> >>   AND n.nspname !~ '^pg_toast'
> >>   AND pg_catalog.pg_table_is_visible(c.oid)
> >> ORDER BY 1,2;
> >> 2009-04-30 14:00:18 DEBUG: pid 11979: waiting for backend 0 completing the query
> >> 2009-04-30 14:00:18 DEBUG: pid 11979: detect_error: kind: T
> >> 2009-04-30 14:00:18 DEBUG: pid 11979: detect_error: kind: T
> >> 2009-04-30 14:00:18 DEBUG: pid 11979: read_kind_from_backend: read kind from 0
> >> th backend T NUM_BACKENDS: 1
> >> 2009-04-30 14:00:18 DEBUG: pid 11979: pool_process_query: kind from backend: T
> >>
> >>
> >> Is this a bug, or am I missing something ?
> >>
> >> thanks in advance...GERD...
> >> _______________________________________________
> >> Pgpool-general mailing list
> >> Pgpool-general at pgfoundry.org
> >> http://pgfoundry.org/mailman/listinfo/pgpool-general
> > 
> 
> -- 
> /===============================\
> | Gerd König
> | - Infrastruktur -
> |
> | TRANSPOREON GmbH
> | Pfarrer-Weiss-Weg 12
> | DE - 89077 Ulm
> |
> |
> | Tel: +49 [0]731 16906 16
> | Fax: +49 [0]731 16906 99
> | Web: www.transporeon.com
> |
> \===============================/
> 
> 
> 
> Bleiben Sie auf dem Laufenden.
> Jetzt den Transporeon Newsletter abonnieren!
> http://www.transporeon.com/unternehmen_newsletter.shtml
> 
> 
> TRANSPOREON GmbH, Amtsgericht Ulm, HRB 722056
> Geschäftsf.: Axel Busch, Peter Förster, Roland Hötzl, Marc-Oliver Simon


More information about the Pgpool-general mailing list