[pgpool-general: 2112] Re: pgpool-II 3.3.0 and parallel mode
Yugo Nagata
nagata at sraoss.co.jp
Tue Sep 10 17:29:21 JST 2013
Thanks for your reporting. Sorry for my late reply.
I tried to reproduce the error but I couldn't in the below configuration;
- pgpool-II 3.3.0
- 3 nodes
- both of replication mode and parallel mode are on
- insert partition_test's info to dist_def
- insert other_table's info to replication_def
- dist_def_func is like 'SELECT mod($1, 3)' ($1 is assigned to partition_test.id)
Could you please provide your configuration information?
- pgpool.conf
- contents of dist_def and replication_def tables
- dist_def_func definition
On Wed, 31 Jul 2013 17:34:11 +0200
Emmanuel Medernach <medernac at clermont.in2p3.fr> wrote:
> Hello,
>
> ありがとうございます for such a good tool.
>
> I am using the latest pgpool2 version 3.3.0 and I have some
> problem setting pgpool2 in parallel mode.
>
> I am testing pgpool2 installation with 2 tables :
> - partition_test is a partitionned table
> - other_table is a replicated table
>
> with the following test schemas :
>
> CREATE TABLE partition_test (
> id integer,
> name character(4),
> num integer
> );
>
> CREATE TABLE other_table (
> id int,
> a int,
> b text,
> c int
> );
>
> I could successfully query both tables :
>
> postgres=# select * from partition_test ;
> id | name | num
> ----+------+-----
> 2 | bbbb | 20
> 6 | ffff | 60
> 10 | jjjj | 100
> 3 | cccc | 30
> 7 | gggg | 70
> 4 | dddd | 40
> 8 | hhhh | 80
> 1 | aaaa | 10
> 5 | eeee | 50
> 9 | iiii | 90
> (10 rows)
>
> postgres=# select * from other_table ;
> id | a | b | c
> ----+---+------+-----
> 1 | 2 | test | 100
> 2 | 5 | test | 200
> 3 | 8 | test | 400
> (3 rows)
>
> partition_test is correctly partitionned among all backends.
> other_table is correctly replicated on all backends.
>
> However when I try a query involving both tables I get an error :
>
> postgres=# select p.name from other_table o, partition_test p where p.id = o.id;
> ERROR: kind mismatch among backends. Possible last query was: "select p.name
> from other_table o, partition_test p where p.id = o.id;" kind details are: 0[C]
> 1[D] 2[D] 3[D]
> HINT: check data consistency among db nodes
> ERROR: kind mismatch among backends. Possible last query was: "select p.name
> from other_table o, partition_test p where p.id = o.id;" kind details are: 0[C]
> 1[D] 2[D] 3[D]
> HINT: check data consistency among db nodes
> The connection to the server was lost. Attempting reset: Succeeded.
>
> log file extract :
>
> 2013-07-31 17:28:24 ERROR: pid 30984: read_kind_from_backend: 0 th kind C does
> not match with master or majority connection kind D
> 2013-07-31 17:28:24 ERROR: pid 30984: kind mismatch among backends. Possible
> last query was: "select p.name from other_table o, partition_test p where p.id =
> o.id;" kind details are: 0[C] 1[D] 2[D] 3[D]
> 2013-07-31 17:28:24 LOG: pid 30984: do_child: exits with status 1 due to error
>
>
> Of course this query works correctly on each backend:
>
> postgres=# select p.name from other_table o, partition_test p where p.id = o.id;
> name
> ------
> cccc
> (1 row)
>
>
> Could you please help me how to solve this ?
>
> Best regards,
> --
>
> _______________________________________________
> pgpool-general mailing list
> pgpool-general at pgpool.net
> http://www.pgpool.net/mailman/listinfo/pgpool-general
--
Yugo Nagata <nagata at sraoss.co.jp>
More information about the pgpool-general
mailing list