View Issue Details

IDProjectCategoryView StatusLast Update
0000067Pgpool-IIBugpublic2015-01-08 16:15
Reporternagata Assigned Tonagata  
PrioritynormalSeverityminorReproducibilityhave not tried
Status closedResolutionfixed 
Product Version3.3 
Target Version3.3 
Summary0000067: [pgpool-general: 1961] pgpool-II 3.3.0 and parallel mode
DescriptionHello,

ありがとうございます 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 ?
TagsNo tags attached.

Activities

nagata

2013-09-10 11:38

developer   ~0000325

Last edited: 2013-09-10 17:33

(reply by [pgpool-general: 2112]

Thanks for your reporting.

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

Issue History

Date Modified Username Field Change
2013-08-02 18:48 nagata New Issue
2013-09-04 09:47 t-ishii Assigned To => nagata
2013-09-04 09:47 t-ishii Status new => assigned
2013-09-10 11:38 nagata Note Added: 0000325
2013-09-10 11:39 nagata Status assigned => feedback
2013-09-10 11:41 nagata Note Edited: 0000325
2013-09-10 17:33 nagata Note Edited: 0000325
2015-01-08 16:15 nagata Status feedback => closed
2015-01-08 16:15 nagata Resolution open => fixed