[BUG]Update Toast data failure in logical replication

Поиск
Список
Период
Сортировка
От tanghy.fnst@fujitsu.com
Тема [BUG]Update Toast data failure in logical replication
Дата
Msg-id OS0PR01MB611342D0A92D4F4BF26C0F47FB229@OS0PR01MB6113.jpnprd01.prod.outlook.com
обсуждение исходный текст
Ответы RE: [BUG]Update Toast data failure in logical replication
Список pgsql-hackers
Hi

I think I just found a bug in logical replication. Data couldn't be synchronized while updating toast data. Could
anyonetake a look at it? 

Here is the steps to proceduce the BUG:
------publisher------
CREATE TABLE toasted_key (
    id serial,
    toasted_key text PRIMARY KEY,
    toasted_col1 text,
    toasted_col2 text
);
CREATE PUBLICATION pub FOR TABLE toasted_key;

------subscriber------
CREATE TABLE toasted_key (
    id serial,
    toasted_key text PRIMARY KEY,
    toasted_col1 text,
    toasted_col2 text
);
CREATE SUBSCRIPTION sub CONNECTION 'dbname=postgres' PUBLICATION pub;

------publisher------
ALTER TABLE toasted_key ALTER COLUMN toasted_key SET STORAGE EXTERNAL;
ALTER TABLE toasted_key ALTER COLUMN toasted_col1 SET STORAGE EXTERNAL;
INSERT INTO toasted_key(toasted_key, toasted_col1) VALUES(repeat('1234567890', 200), repeat('9876543210', 200));
UPDATE toasted_key SET toasted_col2 = toasted_col1;

------subscriber------
SELECT count(*) FROM toasted_key WHERE toasted_col2 = toasted_col1;

The above command is supposed to output "count = 1" but in fact it outputs "count = 0" which means UPDATE operation
failedat the subscriber. Right? 

I debugged and found the subscriber could receive message from publisher, and in apply_handle_update_internal function,
itinvoked FindReplTupleInLocalRel function but failed to find a tuple. 
FYI, I also tested DELETE operation(DELETE FROM toasted_key;), which also invoked FindReplTupleInLocalRel function, and
theresult is ok. 

Regards
Tang



В списке pgsql-hackers по дате отправления:

Предыдущее
От: Ajin Cherian
Дата:
Сообщение: Re: [HACKERS] logical decoding of two-phase transactions
Следующее
От: Paul Guo
Дата:
Сообщение: Re: Two patches to speed up pg_rewind.