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 1lQrlr-0001SD-Ae for pgsql-hackers@arkaria.postgresql.org; Mon, 29 Mar 2021 13:17:31 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1lQrlo-0001Jp-UX for pgsql-hackers@arkaria.postgresql.org; Mon, 29 Mar 2021 13:17:28 +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 1lQrln-0001Jh-BY for pgsql-hackers@lists.postgresql.org; Mon, 29 Mar 2021 13:17:28 +0000 Received: from out4-smtp.messagingengine.com ([66.111.4.28]) by magus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lQrlf-0002bV-8y for pgsql-hackers@lists.postgresql.org; Mon, 29 Mar 2021 13:17:26 +0000 Received: from compute2.internal (compute2.nyi.internal [10.202.2.42]) by mailout.nyi.internal (Postfix) with ESMTP id 9216D5C00F3; Mon, 29 Mar 2021 09:17:16 -0400 (EDT) Received: from imap21 ([10.202.2.71]) by compute2.internal (MEProxy); Mon, 29 Mar 2021 09:17:16 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=eulerto.com; h= mime-version:message-id:in-reply-to:references:date:from:to:cc :subject:content-type; s=fm1; bh=vDOeZTXHaxHaf7FWRsFcTFu4TbxRyi0 6lWR+goZwirU=; b=5tuFvsA2/EKzeV55qHIod7QKeRpwdO9/dwAA2UyfnxNm01m XQBKJWP4PxPfMn+TDfRnyVWYrum6A3ZYxp8IW6x1xlND/m3BT9Q4kRjB3QS5p8ZQ vn0Ba2fh238obTxE1HYVCqOmyFEfuNPjjOvpPXJbQMvlYjRS5m80kcODmEhpGaZN ALfFubilasErukCdZTLHAjOHU75KcO858cS9ThvHU6lHiThnc9spajVMyzkc6/Cm 4OlCk9r72VwMKl9FKBfcATsuURFw1Fi/MdNEOmY7zmF9J7sXkjaNwEgvYdKCxJjE Yt+pr8UB+6csPAJkPEJrGki1qM+7zum85HKKlzQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm2; bh=vDOeZT XHaxHaf7FWRsFcTFu4TbxRyi06lWR+goZwirU=; b=dX9vaY7lQs1Ir2peEw2fI3 Btzo0J1MiQJunWcpGyYJXqC1kAUDVV2+fdzaB1rAzvze8LjcYHAdw2i87Rlwues3 vn6NTUtFGZFOxrfXHr6etOQ3w/d1ugdcuN1JrpVPZlN+7RpYdX3xJuDLpU7UDfg4 nL4Zm8NLevapoj5c8qhm9TaGPtyUaBWdus+4NK0u/y+svvfXM4bCheZISt+vfViz 3IkqaOb0OvlNJAgYGsc24hW6LIoXbm9bMceiwUDD9xbL8uaQhXP8OW37skF/zMaj FgR3kRGdJFVcDq/Emzl3FABgvO51B9fmCDaDFBieci+rGt0hVyiRmsH4+kwpZaIQ == X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduledrudehkedgieegucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepofgfggfkjghffffhvffutgesmhdtreerreertdenucfhrhhomhepfdfguhhl vghrucfvrghvvghirhgrfdcuoegvuhhlvghrsegvuhhlvghrthhordgtohhmqeenucggtf frrghtthgvrhhnpefhvdelgfekvdetjeejtefhudejfeeileetjeeufeetffegjedtvdeu kedtgeffgeenucffohhmrghinhepvghnthgvrhhprhhishgvuggsrdgtohhmnecuvehluh hsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepvghulhgvrhesvghu lhgvrhhtohdrtghomh X-ME-Proxy: Received: by mailuser.nyi.internal (Postfix, from userid 501) id C0F7151C005E; Mon, 29 Mar 2021 09:17:15 -0400 (EDT) X-Mailer: MessagingEngine.com Webmail Interface User-Agent: Cyrus-JMAP/3.5.0-alpha0-273-g8500d2492d-fm-20210323.002-g8500d249 Mime-Version: 1.0 Message-Id: In-Reply-To: References: <8cf1ea71-b609-00e8-b8f0-c85ba61b7312@pgmasters.net> <4dbad191-9b40-4bb6-8940-d18f2e93c3ce@www.fastmail.com> <5b9fceed-8f91-467f-a64e-2134c5c3f496@www.fastmail.com> <52edc9d2-8e52-4cde-9a15-991961b78387@www.fastmail.com> <9d5ef845-391a-4c66-b298-0f594d9e6828@www.fastmail.com> <7e4b5c48-a3d3-4b7e-b455-2d50c60a0ab7@www.fastmail.com> <57373e8b-1264-cd37-404e-8edbcf7884cc@enterprisedb.com> Date: Mon, 29 Mar 2021 10:16:44 -0300 From: "Euler Taveira" To: "Rahila Syed" Cc: "Peter Eisentraut" , =?UTF-8?Q?=C3=96nder_Kalac=C4=B1?= , japin , "Michael Paquier" , "David Steele" , "Craig Ringer" , "Tomas Vondra" , "Amit Langote" , "PostgreSQL Hackers" Subject: Re: row filtering for logical replication Content-Type: multipart/mixed; boundary=5026b941bc8e42daab5a9f4d7c50b86d List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --5026b941bc8e42daab5a9f4d7c50b86d Content-Type: multipart/alternative; boundary=0623f1262c0f4ee0b06f41fde1b373ba --0623f1262c0f4ee0b06f41fde1b373ba Content-Type: text/plain On Mon, Mar 29, 2021, at 6:45 AM, Rahila Syed wrote: > While running some tests on v13 patches, I noticed that, in case the published table data > already exists on the subscriber database before creating the subscription, at the time of > CREATE subscription/table synchronization, an error as seen as follows > > With the patch: > > 2021-03-29 14:32:56.265 IST [78467] STATEMENT: CREATE_REPLICATION_SLOT "pg_16406_sync_16390_6944995860755251708" LOGICAL pgoutput USE_SNAPSHOT > 2021-03-29 14:32:56.279 IST [78467] LOG: could not send data to client: Broken pipe > 2021-03-29 14:32:56.279 IST [78467] STATEMENT: COPY (SELECT aid, bid, abalance, filler FROM public.pgbench_accounts WHERE (aid > 0)) TO STDOUT > 2021-03-29 14:32:56.279 IST [78467] FATAL: connection to client lost > 2021-03-29 14:32:56.279 IST [78467] STATEMENT: COPY (SELECT aid, bid, abalance, filler FROM public.pgbench_accounts WHERE (aid > 0)) TO STDOUT > 2021-03-29 14:33:01.302 IST [78470] LOG: logical decoding found consistent point at 0/4E2B8460 > 2021-03-29 14:33:01.302 IST [78470] DETAIL: There are no running transactions. Rahila, I tried to reproduce this issue with the attached script but no luck. I always get > Without the patch: > > 2021-03-29 15:05:01.581 IST [79029] ERROR: duplicate key value violates unique constraint "pgbench_branches_pkey" > 2021-03-29 15:05:01.581 IST [79029] DETAIL: Key (bid)=(1) already exists. > 2021-03-29 15:05:01.581 IST [79029] CONTEXT: COPY pgbench_branches, line 1 > 2021-03-29 15:05:01.583 IST [78538] LOG: background worker "logical replication worker" (PID 79029) exited with exit code 1 > 2021-03-29 15:05:06.593 IST [79031] LOG: logical replication table synchronization worker for subscription "test_sub2", table "pgbench_branches" has started ... this message. The code that reports this error is from the COPY command. Row filter modifications has no control over it. It seems somehow your subscriber close the replication connection causing this issue. Can you reproduce it consistently? If so, please share your steps. -- Euler Taveira EDB https://www.enterprisedb.com/ --0623f1262c0f4ee0b06f41fde1b373ba Content-Type: text/html Content-Transfer-Encoding: quoted-printable
On Mon, Mar 29,= 2021, at 6:45 AM, Rahila Syed wrote:
While runni= ng some tests on v13 patches, I noticed that, in case the published tabl= e data 
already exists on the subscriber database bef= ore creating the subscription, at the time of
CREATE = subscription/table synchronization, an error as seen as follows 

With the patch:

= 2021-03-29 14:32:56.265 IST [78467] STATEMENT:  CREATE_REPLICATION_= SLOT "pg_16406_sync_16390_6944995860755251708" LOGICAL pgoutput USE_SNAP= SHOT
2021-03-29 14:32:56.279 IST [78467] LOG:  could = not send data to client: Broken pipe
2021-03-29 14:32:56.2= 79 IST [78467] STATEMENT:  COPY (SELECT aid, bid, abalance, filler = FROM public.pgbench_accounts WHERE (aid > 0)) TO STDOUT
2021-03-29 14:32:56.279 IST [78467] FATAL:  connection to client l= ost
2021-03-29 14:32:56.279 IST [78467] STATEMENT:  C= OPY (SELECT aid, bid, abalance, filler FROM public.pgbench_accounts WHER= E (aid > 0)) TO STDOUT
2021-03-29 14:33:01.302 IST [784= 70] LOG:  logical decoding found consistent point at 0/4E2B8460
=
2021-03-29 14:33:01.302 IST [78470] DETAIL:  There are n= o running transactions.
Rah= ila, I tried to reproduce this issue with the attached script but no luc= k. I always get

Without the p= atch:

2021-03-29 15:05:01.581 IST [79029] E= RROR:  duplicate key value violates unique constraint "pgbench_bran= ches_pkey"
2021-03-29 15:05:01.581 IST [79029] DETAIL: &nb= sp;Key (bid)=3D(1) already exists.
2021-03-29 15:05:01.581= IST [79029] CONTEXT:  COPY pgbench_branches, line 1
= 2021-03-29 15:05:01.583 IST [78538] LOG:  background worker "logica= l replication worker" (PID 79029) exited with exit code 1
= 2021-03-29 15:05:06.593 IST [79031] LOG:  logical replication table= synchronization worker for subscription "test_sub2", table "pgbench_bra= nches" has started
... this= message. The code that reports this error is from the COPY command.
=
Row filter modifications has no control over it. It seems som= ehow your
subscriber close the replication connection caus= ing this issue. Can you
reproduce it consistently? If so, = please share your steps.


--
Euler Taveira

--0623f1262c0f4ee0b06f41fde1b373ba-- --5026b941bc8e42daab5a9f4d7c50b86d Content-Disposition: attachment;filename="test-row-filter-pgbench.sh" Content-Type: application/x-shellscript; name="test-row-filter-pgbench.sh" Content-Transfer-Encoding: BASE64 IyEvYmluL2Jhc2gKCmV4cG9ydCBMQU5HPUMKCnNldCAteAoKUEdQQVRIPS9ob21lL2V1bGVy L3BnbHItcm93LWZpbHRlci12MTMvYmluClBHREFUQTE9L3RtcC9wZ2RhdGExClBHREFUQTI9 L3RtcC9wZ2RhdGEyClBHUE9SVDE9OTk4OApQR1BPUlQyPTk5NzcKUEdEQVRBQkFTRT1wb3N0 Z3JlcwoKUEdTQ0FMRUZBQ1RPUj01ClBHQ0xJRU5UUz1gZXhwciAkUEdTQ0FMRUZBQ1RPUiAt IDJgClBHVEVTVERVUkFUSU9OPTEwCgppZiBbIC1mICRQR0RBVEExL3Bvc3RtYXN0ZXIucGlk IF07IHRoZW4KCSRQR1BBVEgvcGdfY3RsIHN0b3AgLUQgJFBHREFUQTEKZmkKCmlmIFsgLWYg JFBHREFUQTIvcG9zdG1hc3Rlci5waWQgXTsgdGhlbgoJJFBHUEFUSC9wZ19jdGwgc3RvcCAt RCAkUEdEQVRBMgpmaQoKcm0gLXJmICRQR0RBVEExCnJtIC1yZiAkUEdEQVRBMgoKJFBHUEFU SC9pbml0ZGIgLUQgJFBHREFUQTEKJFBHUEFUSC9pbml0ZGIgLUQgJFBHREFUQTIKCmVjaG8g IndhbF9sZXZlbCA9IGxvZ2ljYWwiID4+ICRQR0RBVEExL3Bvc3RncmVzcWwuY29uZgplY2hv ICJtYXhfd2FsX3NpemUgPSA1R0IiID4+ICRQR0RBVEExL3Bvc3RncmVzcWwuY29uZgplY2hv ICJsb2dnaW5nX2NvbGxlY3RvciA9IG9uIiA+PiAkUEdEQVRBMS9wb3N0Z3Jlc3FsLmNvbmYK ZWNobyAibG9nX2ZpbGVuYW1lID0gJ3Bvc3RncmVzcWwubG9nJyIgPj4gJFBHREFUQTEvcG9z dGdyZXNxbC5jb25mCmVjaG8gImxvZ19taW5fbWVzc2FnZXMgPSBkZWJ1ZzIiID4+ICRQR0RB VEExL3Bvc3RncmVzcWwuY29uZgplY2hvICJwb3J0ID0gJFBHUE9SVDEiID4+ICRQR0RBVEEx L3Bvc3RncmVzcWwuY29uZgojZWNobyAibG9nX3N0YXRlbWVudCA9IGFsbCIgPj4gJFBHREFU QTEvcG9zdGdyZXNxbC5jb25mCmVjaG8gImxvZ19yZXBsaWNhdGlvbl9jb21tYW5kcyA9IG9u IiA+PiAkUEdEQVRBMS9wb3N0Z3Jlc3FsLmNvbmYKCmVjaG8gIndhbF9sZXZlbCA9IGxvZ2lj YWwiID4+ICRQR0RBVEEyL3Bvc3RncmVzcWwuY29uZgplY2hvICJtYXhfd2FsX3NpemUgPSA1 R0IiID4+ICRQR0RBVEEyL3Bvc3RncmVzcWwuY29uZgplY2hvICJsb2dnaW5nX2NvbGxlY3Rv ciA9IG9uIiA+PiAkUEdEQVRBMi9wb3N0Z3Jlc3FsLmNvbmYKZWNobyAibG9nX2ZpbGVuYW1l ID0gJ3Bvc3RncmVzcWwubG9nJyIgPj4gJFBHREFUQTIvcG9zdGdyZXNxbC5jb25mCmVjaG8g InBvcnQgPSAkUEdQT1JUMiIgPj4gJFBHREFUQTIvcG9zdGdyZXNxbC5jb25mCiNlY2hvICJs b2dfc3RhdGVtZW50ID0gYWxsIiA+PiAkUEdEQVRBMi9wb3N0Z3Jlc3FsLmNvbmYKZWNobyAi bG9nX3JlcGxpY2F0aW9uX2NvbW1hbmRzID0gb24iID4+ICRQR0RBVEEyL3Bvc3RncmVzcWwu Y29uZgoKJFBHUEFUSC9wZ19jdGwgc3RhcnQgLXcgLUQgJFBHREFUQTEKJFBHUEFUSC9wZ19j dGwgc3RhcnQgLXcgLUQgJFBHREFUQTIKCiRQR1BBVEgvcGdiZW5jaCAtaSAtcyAkUEdTQ0FM RUZBQ1RPUiAtcCAkUEdQT1JUMSAkUEdEQVRBQkFTRQoKIyBhZGQgcHJpbWFyeSBrZXkgdG8g cGdiZW5jaF9oaXN0b3J5CiRQR1BBVEgvcHNxbCAtWCAtYyAiQkVHSU47IEFMVEVSIFRBQkxF IHBnYmVuY2hfaGlzdG9yeSBBREQgQ09MVU1OIGlkIHNlcmlhbDsgVVBEQVRFIHBnYmVuY2hf aGlzdG9yeSBTRVQgaWQgPSBuZXh0dmFsKCdwZ2JlbmNoX2hpc3RvcnlfaWRfc2VxJyk7IEFM VEVSIFRBQkxFIHBnYmVuY2hfaGlzdG9yeSBBREQgUFJJTUFSWSBLRVkoaWQpOyBDT01NSVQ7 IiAtcCAkUEdQT1JUMSAkUEdEQVRBQkFTRQoKIyRQR1BBVEgvcGdfZHVtcCAtcyAtcCAkUEdQ T1JUMSAkUEdEQVRBQkFTRSB8ICRQR1BBVEgvcHNxbCAtZiAtIC1wICRQR1BPUlQyICRQR0RB VEFCQVNFCiRQR1BBVEgvcGdfZHVtcCAtLW5vLXB1YmxpY2F0aW9ucyAtcCAkUEdQT1JUMSAk UEdEQVRBQkFTRSB8ICRQR1BBVEgvcHNxbCAtZiAtIC1wICRQR1BPUlQyICRQR0RBVEFCQVNF CgokUEdQQVRIL3BzcWwgLVggLWMgIkNSRUFURSBQVUJMSUNBVElPTiBwdWJfYmVuY2ggRk9S IFRBQkxFIHBnYmVuY2hfYWNjb3VudHMgV0hFUkUgKGFpZCA+IDApLCBwZ2JlbmNoX2JyYW5j aGVzLCBwZ2JlbmNoX3RlbGxlcnMsIHBnYmVuY2hfaGlzdG9yeSIgLXAgJFBHUE9SVDEgJFBH REFUQUJBU0UKCiRQR1BBVEgvcHNxbCAtWCAtYyAiQ1JFQVRFIFNVQlNDUklQVElPTiBzdWJf YmVuY2ggQ09OTkVDVElPTiAncG9ydD0kUEdQT1JUMSBkYm5hbWU9JFBHREFUQUJBU0UnIFBV QkxJQ0FUSU9OIHB1Yl9iZW5jaCIgLXAgJFBHUE9SVDIgJFBHREFUQUJBU0UKCiRQR1BBVEgv cGdiZW5jaCAtVCAkUEdURVNURFVSQVRJT04gLWMgJFBHQ0xJRU5UUyAtcCAkUEdQT1JUMSAk UEdEQVRBQkFTRQoKJFBHUEFUSC9wc3FsIC1YIC1jICJTRUxFQ1QgcGdfY3VycmVudF93YWxf bHNuKCkgPD0gd3JpdGVfbHNuIEFORCBzdGF0ZSA9ICdzdHJlYW1pbmcnIEZST00gcGdfY2F0 YWxvZy5wZ19zdGF0X3JlcGxpY2F0aW9uIFdIRVJFIGFwcGxpY2F0aW9uX25hbWUgPSAnc3Vi MSciIC1wICRQR1BPUlQxICRQR0RBVEFCQVNFCnNsZWVwIDIKJFBHUEFUSC9wc3FsIC1YIC1j ICJTRUxFQ1QgcGdfY3VycmVudF93YWxfbHNuKCkgPD0gd3JpdGVfbHNuIEFORCBzdGF0ZSA9 ICdzdHJlYW1pbmcnIEZST00gcGdfY2F0YWxvZy5wZ19zdGF0X3JlcGxpY2F0aW9uIFdIRVJF IGFwcGxpY2F0aW9uX25hbWUgPSAnc3ViMSciIC1wICRQR1BPUlQxICRQR0RBVEFCQVNFCnNs ZWVwIDIKJFBHUEFUSC9wc3FsIC1YIC1jICJTRUxFQ1QgcGdfY3VycmVudF93YWxfbHNuKCkg PD0gd3JpdGVfbHNuIEFORCBzdGF0ZSA9ICdzdHJlYW1pbmcnIEZST00gcGdfY2F0YWxvZy5w Z19zdGF0X3JlcGxpY2F0aW9uIFdIRVJFIGFwcGxpY2F0aW9uX25hbWUgPSAnc3ViMSciIC1w ICRQR1BPUlQxICRQR0RBVEFCQVNFCgokUEdQQVRIL3BnX2N0bCBzdG9wIC1EICRQR0RBVEEx CiRQR1BBVEgvcGdfY3RsIHN0b3AgLUQgJFBHREFUQTIKCmdyZXAgRVJST1IgJFBHREFUQTIv bG9nL3Bvc3RncmVzcWwubG9nCmdyZXAgJ0Jyb2tlbiBwaXBlJyAkUEdEQVRBMi9sb2cvcG9z dGdyZXNxbC5sb2cK --5026b941bc8e42daab5a9f4d7c50b86d--