On Wed, Jun 9, 2021 at 11:37 AM Drouvot, Bertrand <bdrou...@amazon.com> wrote:
>
> On 6/9/21 5:33 AM, Amit Kapila wrote:
> > 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?
>
> Yes that's the case, so that a speculative abort record followed by an
> insert on some other table looks a perfect valid scenario regarding this
> current issue.
>

Okay, thanks for the confirmation. So the patch being discussed in
that thread will fix your problem.

-- 
With Regards,
Amit Kapila.


Reply via email to