Re: [bug] Logical Decoding of relation rewrite with toast does not reset toast_hash

From: "Drouvot, Bertrand" <bdrouvot(at)amazon(dot)com>
To: Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>
Cc: PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>, "Schneider (AWS), Jeremy" <schnjere(at)amazon(dot)com>
Subject: Re: [bug] Logical Decoding of relation rewrite with toast does not reset toast_hash
Date: 2021-08-10 11:59:57
Message-ID: feee39ba-7e17-5a6c-521c-bcfccd53afcf@amazon.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi Amit,

On 8/9/21 1:12 PM, Amit Kapila wrote:
> On Mon, Aug 9, 2021 at 3:37 PM Drouvot, Bertrand <bdrouvot(at)amazon(dot)com> wrote:
>> Hi Amit,
>>
>> On 8/9/21 10:37 AM, Amit Kapila wrote:
>>> On Fri, Jul 9, 2021 at 12:22 PM Drouvot, Bertrand <bdrouvot(at)amazon(dot)com> wrote:
>>>> Please find enclosed a patch proposal to:
>>>>
>>>> * Avoid the failed assertion on current master and generate the error message instead (should the code reach that stage).
>>>> * Reset the toast_hash in case of relation rewrite with toast (so that the logical decoding in the above repro is working).
>>>>
>>> I think instead of resetting toast_hash for this case why don't we set
>>> 'relrewrite' for toast tables as well during rewrite? If we do that
>>> then we will simply skip assembling toast chunks for the toast table.
>> Thanks for looking at it!
>>
>> I do agree, that would be even better than the current patch approach:
>> I'll work on it.
>>
>>> In make_new_heap(), we are calling NewHeapCreateToastTable() to create
>>> toast table where we can pass additional information (probably
>>> 'toastid'), if required to set 'relrewrite'. Additionally, let's add a
>>> test case if possible for this.
>> + 1 for the test case, it will be added in the next version of the patch.
>>
> Thanks, please see, if you can prepare patches for the back-branches as well.

Please find attached the new version that:

- sets "relwrewrite" for the toast.

- contains a new test case.

As far preparing the patches for the back-branches: I will do it for
sure, but I would prefer that we agree on a polished version on current
master first.

Thanks

Bertrand

Attachment Content-Type Size
v2-0001-toast-rewrite.patch text/plain 7.4 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Yura Sokolov 2021-08-10 12:10:49 Re: Bug in huge simplehash
Previous Message Amit Kapila 2021-08-10 11:24:12 Re: Added schema level support for publication.