Re: Fastpath while arranging the changes in LSN order in logical decoding
David Zhang <david.zhang@highgo.ca>
From: David Zhang <david.zhang@highgo.ca>
To: pgsql-hackers@lists.postgresql.org, dilipbalaut@gmail.com
Date: 2020-02-19T00:30:35Z
Lists: pgsql-hackers
Attachments
- 0001-no-heap-manually.patch (text/plain) patch 0001
After manually applied the patch, a diff regenerated is attached. On 2020-02-18 4:16 p.m., David Zhang wrote: > 1. Tried to apply the patch to PG 12.2 commit 45b88269a353ad93744772791feb6d01bc7e1e42 (HEAD -> REL_12_2, tag: REL_12_2), it doesn't work. Then tried to check the patch, and found the errors showing below. > $ git apply --check 0001-Fastpath-for-sending-changes-to-output-plugin-in-log.patch > error: patch failed: contrib/test_decoding/logical.conf:1 > error: contrib/test_decoding/logical.conf: patch does not apply > error: patch failed: src/backend/replication/logical/reorderbuffer.c:1133 > error: src/backend/replication/logical/reorderbuffer.c: patch does not apply > > 2. Ran a further check for file "logical.conf", and found there is only one commit since 2014, which doesn't have the parameter, "logical_decoding_work_mem = 64kB" > > 3. Manually apply the patch including src/backend/replication/logical/reorderbuffer.c, and then ran a simple logical replication test. A connection issue is found like below, > "table public.pgbench_accounts: INSERT: aid[integer]:4071 bid[integer]:1 abalance[integer]:0 filler[character]:' ' > pg_recvlogical: error: could not receive data from WAL stream: server closed the connection unexpectedly > This probably means the server terminated abnormally > before or while processing the request. > pg_recvlogical: disconnected; waiting 5 seconds to try again" > > 4. This connection issue can be reproduced on PG 12.2 commit mentioned above, the basic steps, > 4.1 Change "wal_level = logical" in "postgresql.conf" > 4.2 create a logical slot and listen on it, > $ pg_recvlogical -d postgres --slot test --create-slot > $ pg_recvlogical -d postgres --slot test --start -f - > > 4.3 from another terminal, run the command below, > $ pgbench -i -p 5432 -d postgres > > Let me know if I did something wrong, and if a new patch is available, I can re-run the test on the same environment. > -- David Software Engineer Highgo Software Inc. (Canada) www.highgo.ca
Commits
-
logical decoding: Remove TODO about unnecessary optimization.
- 112b006fe79b 13.0 landed
-
Stamp 12.2.
- 45b88269a353 12.2 cited