On Wed, Jun 9, 2021 at 12:06 AM Jeremy Schneider <schnj...@amazon.com> wrote:
>
> On 6/4/21 23:42, Amit Kapila wrote:
>
> On 2021-Jun-04, Jeremy Schneider wrote:
>
> ERROR: XX000: could not open relation with OID 0
> LOCATION: ReorderBufferToastReplace, reorderbuffer.c:305
>
> Even, if this fixes the issue, I guess it is better to find why this
> happens? I think the reason why the code is giving an error is that
> after toast insertions we always expect the insert on the main table
> of toast table, but if there happens to be a case where after toast
> insertion, instead of getting the insertion on the main table we get
> an insert in some other table then you will see this error. I think
> this can happen for speculative insertions where insertions lead to a
> toast table insert, then we get a speculative abort record, and then
> insertion on some other table. The main thing is currently decoding
> code ignores speculative aborts due to which such a problem can occur.
> Now, there could be other cases where such a problem can happen but if
> my theory is correct then the patch we are discussing in the thread
> [1] should solve this problem.
>
> Jeremy, is this problem reproducible? Can we get a testcase or
> pg_waldump output of previous WAL records?
>
> [1] - 
> https://www.postgresql.org/message-id/CAExHW5sPKF-Oovx_qZe4p5oM6Dvof7_P%2BXgsNAViug15Fm99jA%40mail.gmail.com
>
>
> It's unclear to me whether or not we'll be able to catch the repro on the 
> actual production system. It seems that we are hitting this somewhat 
> consistently, but at irregular and infrequent intervals. If we are able to 
> catch it and walk the WAL records then I'll post back here.
>

Okay, one thing you can check is if there is a usage of Insert .. On
Conflict .. statement in the actual production system?

> FYI, Bertrand was able to replicate the exact error message with pretty much 
> the same repro that's in the other email thread which is linked above.
>
> Separately, would there be any harm in adding the relation OID to the error 
> message? Personally, I just think the error message is generally more useful 
> if it shows the main relation OID (since we know that the toast OID can be 
> 0). Not a big deal though.
>

I don't think that is a bad idea. However, I think it might be better
to propose that as a separate patch in a new thread.

-- 
With Regards,
Amit Kapila.


Reply via email to