Re: [BUG]Update Toast data failure in logical replication - Mailing list pgsql-hackers

From Dilip Kumar
Subject Re: [BUG]Update Toast data failure in logical replication
Date
Msg-id CAFiTN-ujnvSnzgAv5KLdAaGc8-CQh-U85vYAQOkadN2pejTK4w@mail.gmail.com
Whole thread Raw
In response to RE: [BUG]Update Toast data failure in logical replication  ("tanghy.fnst@fujitsu.com" <tanghy.fnst@fujitsu.com>)
Responses Re: [BUG]Update Toast data failure in logical replication
List pgsql-hackers
On Tue, Jun 1, 2021 at 12:29 PM tanghy.fnst@fujitsu.com
<tanghy.fnst@fujitsu.com> wrote:
>
> Hi
>
>
>
> I have some questions with your patch. Here are two cases I used to check the bug.
>
>
>
> Case1(PK toasted_key is short), data could be synchronized on HEAD.
>
> ---------------
>
> INSERT INTO toasted_key(toasted_key, toasted_col1) VALUES('111', repeat('9876543210', 200));
>
> UPDATE toasted_key SET toasted_col2 = toasted_col1;
>
> ---------------
>
>
>
> Case2(PK toasted_key is very long), data couldn’t be synchronized on HEAD.(which is the bug)
>
> ---------------
>
> INSERT INTO toasted_key(toasted_key, toasted_col1) VALUES(repeat('9876543210', 200), '111');
>
> UPDATE toasted_key SET toasted_col2 = toasted_col1;
>
> ---------------
>
>
>
> So I think the bug is only related with the length of primary key.
>
> I noticed that in case1, ExtractReplicaIdentity function returned NULL on HEAD. But after your fix, it didn’t return
NULL.There is no problem with this case on HEAD, but the patch modified its return value. I’m not sure if it would
bringnew problems. Have you checked it? 

Good observation, basically, my check says that any field in the tuple
is toasted then prepare the key tuple, actually, after that, I should
recheck whether the key field specifically toasted or not and if it is
not then we can continue returning NULL.  I will fix this in the next
version.

--
Regards,
Dilip Kumar
EnterpriseDB: http://www.enterprisedb.com



pgsql-hackers by date:

Previous
From: Amit Kapila
Date:
Subject: Re: Forget close an open relation in ReorderBufferProcessTXN()
Next
From: "Joel Jacobson"
Date:
Subject: Re: security_definer_search_path GUC