Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lqrXE-0004HI-Eb for pgsql-hackers@arkaria.postgresql.org; Wed, 09 Jun 2021 06:17:52 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1lqrXD-0007sg-ER for pgsql-hackers@arkaria.postgresql.org; Wed, 09 Jun 2021 06:17:51 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lqrXD-0007sW-6Y for pgsql-hackers@lists.postgresql.org; Wed, 09 Jun 2021 06:17:51 +0000 Received: from smtp-fw-80007.amazon.com ([99.78.197.218]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lqrXA-0004WX-5E for pgsql-hackers@postgresql.org; Wed, 09 Jun 2021 06:17:50 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amazon.com; i=@amazon.com; q=dns/txt; s=amazon201209; t=1623219468; x=1654755468; h=to:cc:references:from:message-id:date:mime-version: in-reply-to:content-transfer-encoding:subject; bh=sQ7oqhnrybsZosr2yjDOMDo552ZTPQ7FkmzrhOb8T/U=; b=QEehUMld4MJbzp+Dia+JjSOzosnt2gCo+rAu5KDdIJ4fb9foSiqAnDxf 1o+Kn+gKoCawamne9OAy16P4dr5WRHQu8LW5jk+2x+HYXQLyX56PBaJ8x bjLUad5nmlBKDCIKAeWqGxa7RBWLe93QdcGfpZhyKz01TF4VAfzbgMS4/ E=; X-IronPort-AV: E=Sophos;i="5.83,260,1616457600"; d="scan'208";a="5667407" Subject: Re: logical decoding bug: segfault in ReorderBufferToastReplace() Received: from pdx4-co-svc-p1-lb2-vlan2.amazon.com (HELO email-inbound-relay-1e-42f764a0.us-east-1.amazon.com) ([10.25.36.210]) by smtp-border-fw-80007.pdx80.corp.amazon.com with ESMTP; 09 Jun 2021 06:17:36 +0000 Received: from EX13D03EUC003.ant.amazon.com (iad55-ws-svc-p15-lb9-vlan3.iad.amazon.com [10.40.159.166]) by email-inbound-relay-1e-42f764a0.us-east-1.amazon.com (Postfix) with ESMTPS id 65E1CA021B; Wed, 9 Jun 2021 06:17:35 +0000 (UTC) Received: from 38f9d36c4abb.ant.amazon.com (10.43.162.144) by EX13D03EUC003.ant.amazon.com (10.43.164.192) with Microsoft SMTP Server (TLS) id 15.0.1497.18; Wed, 9 Jun 2021 06:17:32 +0000 To: Amit Kapila CC: Jeremy Schneider , Alvaro Herrera , Andres Freund , Tomas Vondra , PostgreSQL-development References: <202106042335.o64q6dui5hu2@alvherre.pgsql> <444215b4-8fb5-6a82-a534-645abafbffb4@amazon.com> <8d45ed72-1706-8b21-75a6-a3420bd15b04@amazon.com> From: "Drouvot, Bertrand" Message-ID: <5f9a118e-86c5-d4f1-b584-199a33757cd4@amazon.com> Date: Wed, 9 Jun 2021 08:17:28 +0200 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 7bit Content-Language: en-US X-Originating-IP: [10.43.162.144] X-ClientProxiedBy: EX13D28UWC003.ant.amazon.com (10.43.162.48) To EX13D03EUC003.ant.amazon.com (10.43.164.192) List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk Hi, On 6/9/21 8:10 AM, Amit Kapila wrote: > CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you can confirm the sender and know the content is safe. > > > > On Wed, Jun 9, 2021 at 11:37 AM Drouvot, Bertrand wrote: >> On 6/9/21 5:33 AM, Amit Kapila wrote: >>> On Wed, Jun 9, 2021 at 12:06 AM Jeremy Schneider 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. Yes, thanks a lot! Bertrand