pg.ddx.io pgsql-bugs@postgresql.org mailing list archive
help / color / mirror / Atom feed From: bowenshi <zxwsbg@qq.com>
To: Masahiko Sawada <sawada.mshk@gmail.com>
Cc: pgsql-bugs@lists.postgresql.org <pgsql-bugs@lists.postgresql.org>
Subject: Re: BUG #17695: Failed Assert in logical replication snapbuild.
Date: Fri, 25 Nov 2022 15:44:03 +0800
Message-ID: <tencent_7EB71DA5D7BA00EB0B429DCE45D0452B6406@qq.com> (raw )
In-Reply-To: <CAD21AoCsxvV3Mpzv8Q3hG7CdQZ7vSBWyEFLgY3QZARRDcgzVwA@mail.gmail.com >
References: <17695-6be9277c9295985f@postgresql.org >
--=_mailmaster-63807243_4486b095_1174d_=
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: base64
PGh0bWw+DQo8aGVhZD4NCiAgICA8bWV0YSBodHRwLWVxdWl2PSdDb250ZW50LVR5cGUnIGNvbnRl
bnQ9J3RleHQvaHRtbDsgY2hhcnNldD1VVEYtOCc+DQo8L2hlYWQ+DQo8Ym9keT4NCjxzdHlsZT4N
CiAgICBmb250ew0KICAgICAgICBsaW5lLWhlaWdodDogMS42Ow0KICAgIH0NCiAgICB1bCxvbHsN
CiAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4Ow0KICAgICAgICBsaXN0LXN0eWxlLXBvc2l0aW9u
OiBpbnNpZGU7DQogICAgfQ0KPC9zdHlsZT4NCjxkaXYgc3R5bGUgPSAnZm9udC1mYW1pbHk6SGVs
dmV0aWNhLEhlbHZldGljYSzlvq7ova/pm4Xpu5EsIOWui+S9kzsgbGluZS1oZWlnaHQ6MS42Oyc+
DQogICAgPGRpdiA+PC9kaXY+PGRpdj4KICAgIDxkaXY+VGhhbmtzIGZvciB5b3VyIGFkdmljZSEg
SSB1cGRhdGUgbXkgdGVzdCBzY3JpcHQsIG5vdyBpdCBjYW4gMTAwJSByZXByb2R1Y2UgcHJvYmxl
bSBpbiBteSBjb21wdXRlci4mbmJzcDs8YnI+PC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj5UaGUg
bmV3IHNjcmlwdCBhbmQgZml4IGNvZGUgYXJlIGJvdGggaW4gdGhlIHBhdGNoLiBIb3dldmVyLCBJ
IG1ldCBuZXcgcHJvYmxlbSBhZnRlciBhZGRpbmcgZml4IGNvZGUuIEl0IGZhaWxzIGludG8gYSBu
ZXcgdHJhcCBmb2xsb3dpbmc6PC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj5UUkFQOiBGYWlsZWRB
c3NlcnRpb24oIlRyYW5zYWN0aW9uSWRQcmVjZWRlc09yRXF1YWxzKHNhZmVYaWQsIHNuYXAtJmd0
O3htaW4pIiwgRmlsZTogInNuYXBidWlsZC5jIiwgTGluZTogNTkzLCBQSUQ6IDE1NzYpPGJyPjwv
ZGl2PnBvc3RncmVzOiBtYXN0ZXI6IHdhbHNlbmRlciBwb3N0Z3JlcyBbbG9jYWxdIENSRUFURV9S
RVBMSUNBVElPTl9TTE9UKEV4Y2VwdGlvbmFsQ29uZGl0aW9uKzB4YjkpWzB4YjFjYTI4XTxicj5w
b3N0Z3JlczogbWFzdGVyOiB3YWxzZW5kZXIgcG9zdGdyZXMgW2xvY2FsXSBDUkVBVEVfUkVQTElD
QVRJT05fU0xPVChTbmFwQnVpbGRJbml0aWFsU25hcHNob3QrMHgxYjMpWzB4OGYzYzc5XTxicj5w
b3N0Z3JlczogbWFzdGVyOiB3YWxzZW5kZXIgcG9zdGdyZXMgW2xvY2FsXSBDUkVBVEVfUkVQTElD
QVRJT05fU0xPVFsweDkxMzZiOV08YnI+cG9zdGdyZXM6IG1hc3Rlcjogd2Fsc2VuZGVyIHBvc3Rn
cmVzIFtsb2NhbF0gQ1JFQVRFX1JFUExJQ0FUSU9OX1NMT1QoZXhlY19yZXBsaWNhdGlvbl9jb21t
YW5kKzB4Mzk4KVsweDkxNDU2YV08YnI+cG9zdGdyZXM6IG1hc3Rlcjogd2Fsc2VuZGVyIHBvc3Rn
cmVzIFtsb2NhbF0gQ1JFQVRFX1JFUExJQ0FUSU9OX1NMT1QoUG9zdGdyZXNNYWluKzB4N2JlKVsw
eDk4NGU0YV08YnI+cG9zdGdyZXM6IG1hc3Rlcjogd2Fsc2VuZGVyIHBvc3RncmVzIFtsb2NhbF0g
Q1JFQVRFX1JFUExJQ0FUSU9OX1NMT1RbMHg4YzBkNWJdPGJyPnBvc3RncmVzOiBtYXN0ZXI6IHdh
bHNlbmRlciBwb3N0Z3JlcyBbbG9jYWxdIENSRUFURV9SRVBMSUNBVElPTl9TTE9UWzB4OGMwNmNk
XTxicj5wb3N0Z3JlczogbWFzdGVyOiB3YWxzZW5kZXIgcG9zdGdyZXMgW2xvY2FsXSBDUkVBVEVf
UkVQTElDQVRJT05fU0xPVFsweDhiYzlkZV08YnI+cG9zdGdyZXM6IG1hc3Rlcjogd2Fsc2VuZGVy
IHBvc3RncmVzIFtsb2NhbF0gQ1JFQVRFX1JFUExJQ0FUSU9OX1NMT1QoUG9zdG1hc3Rlck1haW4r
MHgxMTdhKVsweDhiYzJiNV08YnI+cG9zdGdyZXM6IG1hc3Rlcjogd2Fsc2VuZGVyIHBvc3RncmVz
IFtsb2NhbF0gQ1JFQVRFX1JFUExJQ0FUSU9OX1NMT1RbMHg3YmRiMTNdPGRpdj48YnI+PC9kaXY+
PGRpdj4KICAgIDwvZGl2PgogICAgPGRpdiBpZD0ibnRlcy1wY21hYy1zaWduYXR1cmUiIHN0eWxl
PSJmb250LWZhbWlseToiPgogICAgCiAgICA8ZGl2IHN0eWxlPSJmb250LXNpemU6MTRweDsgcGFk
ZGluZzogMDsgIG1hcmdpbjowOyI+CgogICAgPC9kaXY+CjwvZGl2PgogICAgVGhlIHByb2JsZW0g
aXMgbm90IHZlcnkgaGFyZCB0byByZXByb2R1Y2UsIGFuZCBJ4oCZbSBmaXhpbmcgaXQgbm93Ljwv
ZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+UmVnYXJkcyw8L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2
Pi0tPC9kaXY+PGRpdj48ZGl2PjxzcGFuIHN0eWxlPSJjb2xvcjogcmdiKDQ5LCA1MywgNTkpOyBm
b250LXNpemU6IDE0cHg7Ij5ib3dlbnNoaTwvc3Bhbj48L2Rpdj48L2Rpdj48ZGl2PjxzcGFuIHN0
eWxlPSJjb2xvcjogcmdiKDEyMCwgMTIwLCAxMjIpOyI+PGJyPjwvc3Bhbj48L2Rpdj48ZGl2Pjxz
cGFuIHN0eWxlPSJjb2xvcjogcmdiKDEyMCwgMTIwLCAxMjIpOyI+LS0tLSBSZXBsaWVkIE1lc3Nh
Z2UgLS0tLTwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJKLXJlcGx5IG50ZXMtbWFpbG1hc3Rlci1x
dW90ZSIgc3R5bGU9InBhZGRpbmctdG9wOiAxcHg7IHBhZGRpbmctYm90dG9tOiAxcHgiPgogIDxk
aXYgc3R5bGU9IgogICAgICBtYXJnaW4tYm90dG9tOiAxZW07CiAgICAgIGZvbnQtc2l6ZTogMTJw
eDsKICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7CiAgICAgIGNvbG9yOiAjMjMyMzI0OwogICAgICBw
YWRkaW5nOiAwLjVlbSAwLjI1ZW07CiAgICAgIGJvcmRlci1yYWRpdXM6IDAuNjdlbTsKICAgICAg
YmFja2dyb3VuZC1jb2xvcjogI2YwZjBmMDsKICAgICI+CiAgICA8dGFibGUgd2lkdGg9IjEwMCUi
IGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iOSIgYm9yZGVyPSIwIj4KICAgICAgPHRib2R5
Pjx0ciBjbGFzcz0iZmlyc3RSb3ciPgogICAgICAgIDx0ZCB2YWxpZ249InRvcCIgc3R5bGU9Igog
ICAgICAgICAgICB3aWR0aDogNC4yNWVtOwogICAgICAgICAgICBmb250LXNpemU6IDEycHg7CiAg
ICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1OwogICAgICAgICAgICBjb2xvcjogIzc4Nzg3YTsK
ICAgICAgICAgICI+CiAgICAgICAgIEZyb20gCiAgICAgICAgPC90ZD4KICAgICAgICA8dGQgdmFs
aWduPSJ0b3AiIHN0eWxlPSIKICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgICAg
ICBsaW5lLWhlaWdodDogMS4yNTsKICAgICAgICAgICAgY29sb3I6ICMyMzIzMjQ7CiAgICAgICAg
ICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDsKICAgICAgICAgICI+CiAgICAgICAgICAgIDxhIGNs
YXNzPSJtYWlsLWZyb20iIHN0eWxlPSJjb2xvcjogIzMwNjFmMjsgdGV4dC1kZWNvcmF0aW9uOiBu
b25lIiBocmVmPSJtYWlsdG86c2F3YWRhLm1zaGtAZ21haWwuY29tIj5NYXNhaGlrbyBTYXdhZGEm
bHQ7c2F3YWRhLm1zaGtAZ21haWwuY29tJmd0OwogICAgICAgICAgICA8L2E+CiAgICAgICAgPC90
ZD4KICAgICAgPC90cj4KICAgICAgPHRyPgogICAgICAgIDx0ZCB2YWxpZ249InRvcCIgc3R5bGU9
IgogICAgICAgICAgICB3aWR0aDogNC4yNWVtOwogICAgICAgICAgICBmb250LXNpemU6IDEycHg7
CiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1OwogICAgICAgICAgICBjb2xvcjogIzc4Nzg3
YTsKICAgICAgICAgICI+CiAgICAgICAgIERhdGUgCiAgICAgICAgPC90ZD4KICAgICAgICA8dGQg
Y2xhc3M9Im1haWwtZGF0ZSIgdmFsaWduPSJ0b3AiIHN0eWxlPSIKICAgICAgICAgICAgZm9udC1z
aXplOiAxMnB4OwogICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yNTsKICAgICAgICAgICAgY29s
b3I6ICMyMzIzMjQ7CiAgICAgICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDsKICAgICAgICAg
ICI+CiAgICAgICAgMTEvMjUvMjAyMiAxMzo1OAogICAgICAgIDwvdGQ+CiAgICAgIDwvdHI+CiAg
ICAgIDx0cj4KICAgICAgICA8dGQgdmFsaWduPSJ0b3AiIHN0eWxlPSIKICAgICAgICAgICAgd2lk
dGg6IDQuMjVlbTsKICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgICAgICBsaW5l
LWhlaWdodDogMS4yNTsKICAgICAgICAgICAgY29sb3I6ICM3ODc4N2E7CiAgICAgICAgICAiPgog
ICAgICAgICBUbyAKICAgICAgICA8L3RkPgogICAgICAgIDx0ZCB2YWxpZ249InRvcCIgc3R5bGU9
IgogICAgICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAx
LjI1OwogICAgICAgICAgICBjb2xvcjogIzIzMjMyNDsKICAgICAgICAgICAgd29yZC1icmVhazog
YnJlYWstYWxsOwogICAgICAgICAgIj4KICAgICAgICAgCiAgICAgICAgICA8YSBjbGFzcz0ibWFp
bC10byIgc3R5bGU9ImNvbG9yOiAjMzA2MWYyOyB0ZXh0LWRlY29yYXRpb246IG5vbmUiIGhyZWY9
Im1haWx0bzp6eHdzYmdAcXEuY29tIj4KICAgICAgICAgICAgJmx0O3p4d3NiZ0BxcS5jb20mZ3Q7
CiAgICAgICAgICAgICw8YnI+CiAgICAgICAgICA8L2E+CiAgICAgICAgICA8YSBjbGFzcz0ibWFp
bC10byIgc3R5bGU9ImNvbG9yOiAjMzA2MWYyOyB0ZXh0LWRlY29yYXRpb246IG5vbmUiIGhyZWY9
Im1haWx0bzpwZ3NxbC1idWdzQGxpc3RzLnBvc3RncmVzcWwub3JnIj4KICAgICAgICAgICAgJmx0
O3Bnc3FsLWJ1Z3NAbGlzdHMucG9zdGdyZXNxbC5vcmcmZ3Q7CiAgICAgICAgICAgIAogICAgICAg
ICAgPC9hPgogICAgICAgIDwvdGQ+CiAgICAgIDwvdHI+CiAgICAgIDx0cj4KICAgICAgICA8dGQg
dmFsaWduPSJ0b3AiIHN0eWxlPSIKICAgICAgICAgICAgd2lkdGg6IDQuMjVlbTsKICAgICAgICAg
ICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yNTsKICAgICAg
ICAgICAgY29sb3I6ICM3ODc4N2E7CiAgICAgICAgICAiPgogICAgICAgICBTdWJqZWN0IAogICAg
ICAgIDwvdGQ+CiAgICAgICAgPHRkIGNsYXNzPSJtYWlsLXN1YmplY3QiIHZhbGlnbj0idG9wIiBz
dHlsZT0iCiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICAgICAgbGluZS1oZWln
aHQ6IDEuMjU7CiAgICAgICAgICAgIGNvbG9yOiAjMjMyMzI0OwogICAgICAgICAgICB3b3JkLWJy
ZWFrOiBicmVhay1hbGw7CiAgICAgICAgICAiPgogICAgICAgICAgICAgIFJlOiBCVUcgIzE3Njk1
OiBGYWlsZWQgQXNzZXJ0IGluIGxvZ2ljYWwgcmVwbGljYXRpb24gc25hcGJ1aWxkLgogICAgICAg
IDwvdGQ+CiAgICAgIDwvdHI+CiAgICA8L3Rib2R5PjwvdGFibGU+CiAgPC9kaXY+CiAgPGRpdiBp
ZD0ibnRlcy1wY21haWwtcXVvdGUiIHN0eWxlPSJtYXJnaW46IDA7IHBhZGRpbmc6IDA7IGZvbnQt
c2l6ZTogMTRweDsgZm9udC1mYW1pbHk6ICcnSGVsdmV0aWNhJywnTWljcm9zb2Z0IFlhaGVpJywg
J+W+rui9r+mbhem7kScnOyI+T24gVGh1LCBOb3YgMjQsIDIwMjIgYXQgNzoyOCBQTSBQRyBCdWcg
cmVwb3J0aW5nIGZvcm08YnI+Jmx0O25vcmVwbHlAcG9zdGdyZXNxbC5vcmcmZ3Q7IHdyb3RlOjxi
cj48YmxvY2txdW90ZSBjbGFzcz0ibW1icWMxIj48YnI+IFRoZSBmb2xsb3dpbmcgYnVnIGhhcyBi
ZWVuIGxvZ2dlZCBvbiB0aGUgd2Vic2l0ZTo8YnI+PGJyPiBCdWcgcmVmZXJlbmNlOiAmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsxNzY5NTxicj4gTG9nZ2VkIGJ5OiAmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDvmlr3ljZrmloc8YnI+IEVt
YWlsIGFkZHJlc3M6ICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3p4d3NiZ0BxcS5jb208
YnI+IFBvc3RncmVTUUwgdmVyc2lvbjogMTQuNjxicj4gT3BlcmF0aW5nIHN5c3RlbTogJm5ic3A7
Jm5ic3A7Y2VudG9zPGJyPiBEZXNjcmlwdGlvbjo8YnI+PGJyPiBJbiBQRzE0IG9yIGhpZ2hlciB2
ZXJzaW9uLCBJIG5vdGljZSB0aGF0IFNuYXBCdWlsZFJlc3RvcmUgZG9uJ3Qgc2V0PGJyPiBidWls
ZGVyLSZndDtuZXh0X3BoYXNlX2F0PUludmFsaWRUcmFuc2FjdGlvbklkIC48YnI+PGJyPiBCdXQg
aW4gU25hcEJ1aWxkU2VyaWFsaXplIGZ1bmN0aW9uLCB0aGUgYXNzZXJ0IGNoZWNrIHRoaXMgY29u
ZGl0aW9uLjxicj48YnI+IEFzc2VydChidWlsZGVyLSZndDtuZXh0X3BoYXNlX2F0ID09IEludmFs
aWRUcmFuc2FjdGlvbklkKTs8YnI+PGJyPiBUaGlzIHdvdWxkIGNhdXNlIHNvbWUgcHJvYmxlbXMs
IGFuZCBJIGhhdmUgcmVwZWF0IGl0IHdpdGggdGhlIHBlcmwgdGVzdCBjYXNlPGJyPiB3aGljaCBJ
IHdvdWxkIHVwZGF0ZSBsYXRlciwgdGhlIHByb2JsZW0gaXMgZm9sbG93aW5nOjxicj48YnI+IFRS
QVA6IEZhaWxlZEFzc2VydGlvbigiYnVpbGRlci0mZ3Q7bmV4dF9waGFzZV9hdCA9PSBJbnZhbGlk
VHJhbnNhY3Rpb25JZCIsPGJyPiBGaWxlOiAic25hcGJ1aWxkLmMiLCBMaW5lOiAxNjA0LCBQSUQ6
IDI5OTc0KTxicj4gcG9zdGdyZXM6IG1hc3Rlcjogd2Fsc2VuZGVyIHBvc3RncmVzIFtsb2NhbF08
YnI+IFNUQVJUX1JFUExJQ0FUSU9OKEV4Y2VwdGlvbmFsQ29uZGl0aW9uKzB4YjkpWzB4YjFjOWJk
XTxicj4gcG9zdGdyZXM6IG1hc3Rlcjogd2Fsc2VuZGVyIHBvc3RncmVzIFtsb2NhbF0gU1RBUlRf
UkVQTElDQVRJT05bMHg4ZjU0OGRdPGJyPiBwb3N0Z3JlczogbWFzdGVyOiB3YWxzZW5kZXIgcG9z
dGdyZXMgW2xvY2FsXTxicj4gU1RBUlRfUkVQTElDQVRJT04oU25hcEJ1aWxkUHJvY2Vzc1J1bm5p
bmdYYWN0cysweDU1KVsweDhmNGM1Y108YnI+IHBvc3RncmVzOiBtYXN0ZXI6IHdhbHNlbmRlciBw
b3N0Z3JlcyBbbG9jYWxdIFNUQVJUX1JFUExJQ0FUSU9OWzB4OGRkOGJlXTxicj4gcG9zdGdyZXM6
IG1hc3Rlcjogd2Fsc2VuZGVyIHBvc3RncmVzIFtsb2NhbF08YnI+IFNUQVJUX1JFUExJQ0FUSU9O
KExvZ2ljYWxEZWNvZGluZ1Byb2Nlc3NSZWNvcmQrMHhkMSlbMHg4ZGQyNDNdPGJyPiBwb3N0Z3Jl
czogbWFzdGVyOiB3YWxzZW5kZXIgcG9zdGdyZXMgW2xvY2FsXSBTVEFSVF9SRVBMSUNBVElPTlsw
eDkxNWViMV08YnI+IHBvc3RncmVzOiBtYXN0ZXI6IHdhbHNlbmRlciBwb3N0Z3JlcyBbbG9jYWxd
IFNUQVJUX1JFUExJQ0FUSU9OWzB4OTE1MjBjXTxicj4gcG9zdGdyZXM6IG1hc3Rlcjogd2Fsc2Vu
ZGVyIHBvc3RncmVzIFtsb2NhbF0gU1RBUlRfUkVQTElDQVRJT05bMHg5MTNiZGRdPGJyPiBwb3N0
Z3JlczogbWFzdGVyOiB3YWxzZW5kZXIgcG9zdGdyZXMgW2xvY2FsXTxicj4gU1RBUlRfUkVQTElD
QVRJT04oZXhlY19yZXBsaWNhdGlvbl9jb21tYW5kKzB4NDJjKVsweDkxNDU5M108YnI+IHBvc3Rn
cmVzOiBtYXN0ZXI6IHdhbHNlbmRlciBwb3N0Z3JlcyBbbG9jYWxdPGJyPiBTVEFSVF9SRVBMSUNB
VElPTihQb3N0Z3Jlc01haW4rMHg3YmUpWzB4OTg0ZGRmXTxicj4gcG9zdGdyZXM6IG1hc3Rlcjog
d2Fsc2VuZGVyIHBvc3RncmVzIFtsb2NhbF0gU1RBUlRfUkVQTElDQVRJT05bMHg4YzBkNDFdPGJy
PiBwb3N0Z3JlczogbWFzdGVyOiB3YWxzZW5kZXIgcG9zdGdyZXMgW2xvY2FsXSBTVEFSVF9SRVBM
SUNBVElPTlsweDhjMDZiM108YnI+IHBvc3RncmVzOiBtYXN0ZXI6IHdhbHNlbmRlciBwb3N0Z3Jl
cyBbbG9jYWxdIFNUQVJUX1JFUExJQ0FUSU9OWzB4OGJjOWM0XTxicj4gcG9zdGdyZXM6IG1hc3Rl
cjogd2Fsc2VuZGVyIHBvc3RncmVzIFtsb2NhbF08YnI+IFNUQVJUX1JFUExJQ0FUSU9OKFBvc3Rt
YXN0ZXJNYWluKzB4MTE3YSlbMHg4YmMyOWJdPGJyPiBwb3N0Z3JlczogbWFzdGVyOiB3YWxzZW5k
ZXIgcG9zdGdyZXMgW2xvY2FsXSBTVEFSVF9SRVBMSUNBVElPTlsweDdiZGFmOV08YnI+IC9saWI2
NC9saWJjLnNvLjYoX19saWJjX3N0YXJ0X21haW4rMHhmNSlbMHg3ZjgxNWRkOTI1NTVdPGJyPiBw
b3N0Z3JlczogbWFzdGVyOiB3YWxzZW5kZXIgcG9zdGdyZXMgW2xvY2FsXSBTVEFSVF9SRVBMSUNB
VElPTlsweDQ4OGQwOV08YnI+PGJyPjwvYmxvY2txdW90ZT48YnI+VGhhbmsgeW91IGZvciByZXBv
cnRpbmcgdGhlIGlzc3VlITxicj48YnI+SSBjb3VsZCByZXByb2R1Y2UgdGhpcyBpc3N1ZSB3aXRo
IGEgc21hbGwgY2hhbmdlIGFuZCB0aGUgZm9sbG93aW5nIHN0ZXBzOjxicj48YnI+MS4gQWRkIHNs
ZWVwIGFmdGVyIHNldHRpbmcgU05BUEJVSUxEX0JVSUxESU5HX1NOQVBTSE9ULjxicj48YnI+QEAg
LTE0MDksNiArMTQwOSw5IEBAIFNuYXBCdWlsZEZpbmRTbmFwc2hvdChTbmFwQnVpbGQgKmJ1aWxk
ZXIsPGJyPlhMb2dSZWNQdHIgbHNuLCB4bF9ydW5uaW5nX3hhY3RzICpydW5uPGJyPiAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHJ1bm5pbmctJmd0O3hjbnQsIHJ1bm5pbmctJmd0O25leHRYaWQp
KSk7PGJyPjxicj4gICAgICAgIFNuYXBCdWlsZFdhaXRTbmFwc2hvdChydW5uaW5nLCBydW5uaW5n
LSZndDtuZXh0WGlkKTs8YnI+Kzxicj4rICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwO2Vsb2coTE9HLCAic2xlZXAgMTBzIik7PGJyPisgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7cGdfdXNsZWVwKDEwICogMTAwMDAwMCk7PGJyPiAgICB9PGJyPjxicj4yLiBD
cmVhdGUgYW5kIHN0YXJ0IGRhdGFiYXNlIGluc3RhbmNlIGFuZCBjcmVhdGUgYSB0YWJsZSBhbmQg
dGhlPGJyPnJlcGxpY2F0aW9uIHNsb3QgJ3MxJy48YnI+Y3JlYXRlIHRhYmxlIHRlc3QgKGkgaW50
KTs8YnI+c2VsZWN0IHBnX2xvZ2ljYWxfcmVwbGljYXRpb25fc2xvdCgnczEnLCAndGVzdF9kZWNv
ZGluZycpOzxicj48YnI+My4gQ3JlYXRlIGFub3RoZXIgcmVwbGljYXRpb24gc2xvdCAiczIiIHdo
aWxlIGEgdHJhbnNhY3Rpb24gaXMgcnVubmluZy48YnI+PGJyPnR4LTE6PGJyPmJlZ2luOzxicj5p
bnNlcnQgaW50byB0ZXN0IHZhbHVlcyAoMSk7PGJyPjxicj4gICAgdHgtMjo8YnI+ICAgIHNlbGVj
dCBwZ19sb2dpY2FsX3JlcGxpY2F0aW9uX3Nsb3QoJ3MyJywgJ3Rlc3RfZGVjb2RpbmcnKTs8YnI+
PGJyPmNoZWNrcG9pbnQ7PGJyPmNvbW1pdDs8YnI+PGJyPk5vdGUgdGhhdCByZXBsaWNhdGlvbiBz
bG90IGNyZWF0aW9uIHdpbGwgd2FpdCBmb3IgMTAgc2VjIGFmdGVyPGJyPmNvbW1pdGluZyB0aGUg
dHgtMSwgcGxlYXNlIGdvIHRvIHRoZSBuZXh0IHN0ZXAgb25jZSB0aGUgc2xvdCBoYXMgYmVlbjxi
cj5jcmVhdGVkLjxicj48YnI+NC4gU3RhcnQgZGVjb2Rpbmcgb24gc2xvdCAnczInLjxicj5zZWxl
Y3QgcGdfbG9naWNhbF9zbG90X2dldF9jaGFuZ2VzKCdzMicsIG51bGwsIG51bGwpOzxicj48YnI+
VGhlIGxvZ2ljYWwgZGVjb2Rpbmcgd2lsbCBzbGVlcC4gUGxlYXNlIGdvIHRvIHRoZSBuZXh0IHN0
ZXAgYWZ0ZXI8YnI+c2VlaW5nIHRoZSBsb2cgInNsZWVwIDEwcyIuPGJyPjxicj41LiBXaGlsZSB0
aGUgbG9naWNhbCBkZWNvZGluZyBzdGFydGVkIGF0IHN0ZXAgNCBpcyBzbGVlcGluZywgc3RhcnQ8
YnI+ZGVjb2Rpbmcgb24gc2xvdCAnczEnLjxicj5zZWxlY3QgcGdfbG9naWNhbF9zbG90X2dldF9j
aGFuZ2VzKCdzMScsIG51bGwsIG51bGwpOzxicj48YnI+Ni4gQWZ0ZXIgdGhlIGRlY29kaW5nIG9u
IHNsb3QgJ3MxJyB3YWtlcyB1cCwgaXQgZmFpbHMgZHVlIHRvIHRoZTxicj5hc3NlcnRpb24gY2hl
Y2suPGJyPjxicj5UaGlzIHNjZW5hcmlvIHNpbXVsYXRlcyB0aGUgY2FzZSB3aGVyZSB0aGUgbG9n
aWNhbCBkZWNvZGluZyAocmUpc3RhcnRzPGJyPndoZXJlIFJVTk5JTkdfWEFDVFMgcmVjb3JkIGhh
dmluZyBhIHJ1bm5pbmcgdHJhbnNhY3Rpb25zIGFuZCBpdDxicj5yZXN0b3JlcyB0aGUgc2VyaWFs
aXplZCBzbmFwc2hvdCB3aGVuIGRlY29kaW5nIHRoZSBuZXh0IFJVTk5JTkdfWEFDVFM8YnI+cmVj
b3JkLiBTaW5jZSB3ZSBkb24ndCByZXNldCBidWlsZGVyLSZndDtuZXh0X3BoYXNlX2F0IHdoZW4g
cmVzdG9yaW5nIGE8YnI+c2VyaWFsaXplZCBzbmFwc2hvdCwgdGhlIGFzc2VydGlvbiBjaGVjayBp
biBTbmFwQnVpbGRTZXJpYWxpemUgZmFpbHMuPGJyPjxicj5SZWdhcmRpbmcgdGhlIHByb3Bvc2Vk
IHBhdGNoLCBJJ3ZlIGNvbmZpcm1lZCBpdCBmaXhlcyB0aGlzIGlzc3VlLiBCdXQ8YnI+SSB0aGlu
ayBpdCdzIGJldHRlciB0byByZXNldCBidWlsZGVyLSZndDtuZXh0X3BoYXNlX2F0IHJpZ2h0IGFm
dGVyIHRoZTxicj5mb2xsb3dpbmcgYXNzZXJ0aW9uIGNoZWNrOjxicj48YnI+ICAgLyogY29uc2lz
dGVudCBzbmFwc2hvdHMgaGF2ZSBubyBuZXh0IHBoYXNlICovPGJyPiAgIEFzc2VydChvbmRpc2su
YnVpbGRlci5uZXh0X3BoYXNlX2F0ID09IEludmFsaWRUcmFuc2FjdGlvbklkKTs8YnI+PGJyPkkg
Y291bGQgbm90IHJlcHJvZHVjZSB0aGlzIGlzc3VlIHdpdGggeW91ciBzY3JpcHQgaW4gbXkgZW52
aXJvbm1lbnQuIEk8YnI+dGhpbmsgaXQncyBiZXR0ZXIgdG8gaW5jbHVkZSB0aGUgcmVwcm9kdWNp
YmxlIHRlc3QgY2FzZSBpbiB0aGUgcGF0Y2g8YnI+YnV0IEknbSBub3Qgc3VyZSBob3cgdG8gZG8g
dGhhdCB3aXRob3V0IGFkZGluZyBzbGVlcC9nZGIgYXR0YWNoLjxicj48YnI+UmVnYXJkcyw8YnI+
PGJyPi0tIDxicj5NYXNhaGlrbyBTYXdhZGE8YnI+QW1hem9uIFdlYiBTZXJ2aWNlczogaHR0cHM6
Ly9hd3MuYW1hem9uLmNvbTwvZGl2Pgo8L2Rpdj4KPCEtLe+/vS0tPg0KPC9kaXY+DQo8L2JvZHk+
DQo8L2h0bWw+
--=_mailmaster-63807243_4486b095_1174d_=
Content-Type: application/octet-stream;
name="0001-Fix-snapshot-builder-s-state-after-restoring-snapsho.patch"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename="0001-Fix-snapshot-builder-s-state-after-restoring-snapsho.patch"
RnJvbSBlYTdlNTA0ZDlhYzkwYmEwZGZhODczMWY3YjM0NjVlMDdkMTliYWY4IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBib3ZlbnNoaSA8Ym92ZW5zaGlAdGVuY2VudC5jb20+CkRhdGU6
IEZyaSwgMjUgTm92IDIwMjIgMTU6NDI6MDEgKzA4MDAKU3ViamVjdDogW1BBVENIXSBGaXggc25h
cHNob3QgYnVpbGRlcidzIHN0YXRlIGFmdGVyIHJlc3RvcmluZyBzbmFwc2hvdCBmcm9tCiBkaXNr
LgoKU2V0IHNuYXBzaG90IGJ1aWxkZXIncyBzdGF0ZSBhZnRlciByZXN0b3Jpbmcgc25hcHNob3Qg
ZnJvbSBkaXNrLCBzaW5jZSBjb25zaXN0ZW50IHNuYXBzaG90cyBoYXZlIG5vIG5leHQgcGhhc2Uu
CgpQZXIgcmVwb3J0cyBmcm9tIGJvd2Vuc2hpLgoKRGlzY3Vzc2lvbjogaHR0cHM6Ly93d3cucG9z
dGdyZXNxbC5vcmcvbWVzc2FnZS1pZC8xNzY5NS02YmU5Mjc3YzkyOTU5ODVmJTQwcG9zdGdyZXNx
bC5vcmcKLS0tCiBzcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL3NuYXBidWlsZC5jICAg
ICAgfCAgIDYgKysKIHNyYy90ZXN0L3JlY292ZXJ5L3QvMDM0X3JlcGxpY2F0aW9uX3NuYXBidWls
ZC5wbCB8IDEwMCArKysrKysrKysrKysrKysrKysrKysrKwogMiBmaWxlcyBjaGFuZ2VkLCAxMDYg
aW5zZXJ0aW9ucygrKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyYy90ZXN0L3JlY292ZXJ5L3QvMDM0
X3JlcGxpY2F0aW9uX3NuYXBidWlsZC5wbAoKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3JlcGxp
Y2F0aW9uL2xvZ2ljYWwvc25hcGJ1aWxkLmMgYi9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dp
Y2FsL3NuYXBidWlsZC5jCmluZGV4IGI1YjAxOGUuLjAzZTc0NTggMTAwNjQ0Ci0tLSBhL3NyYy9i
YWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvc25hcGJ1aWxkLmMKKysrIGIvc3JjL2JhY2tlbmQv
cmVwbGljYXRpb24vbG9naWNhbC9zbmFwYnVpbGQuYwpAQCAtMTk2NCw2ICsxOTY0LDEyIEBAIFNu
YXBCdWlsZFJlc3RvcmUoU25hcEJ1aWxkICpidWlsZGVyLCBYTG9nUmVjUHRyIGxzbikKIAkvKiBj
b25zaXN0ZW50IHNuYXBzaG90cyBoYXZlIG5vIG5leHQgcGhhc2UgKi8KIAlBc3NlcnQob25kaXNr
LmJ1aWxkZXIubmV4dF9waGFzZV9hdCA9PSBJbnZhbGlkVHJhbnNhY3Rpb25JZCk7CiAKKwkvKiAK
KwkgKiBXZSBhcmUgbm93IGluIGNvbnNpc3RlbnQgcG9pbnQgYW5kIGhhdmUgbm8gbmV4dCBwaGFz
ZSwgY29weSB0aGUgc3RhdGUKKwkgKiBmcm9tIHRoZSBzbmFwc2hvdCBpbiBkaXNrLgorCSAqLwor
CWJ1aWxkZXItPm5leHRfcGhhc2VfYXQgPSBvbmRpc2suYnVpbGRlci5uZXh0X3BoYXNlX2F0Owor
CiAJLyogb2ssIHdlIHRoaW5rIHRoZSBzbmFwc2hvdCBpcyBzZW5zaWJsZSwgY29weSBvdmVyIGV2
ZXJ5dGhpbmcgaW1wb3J0YW50ICovCiAJYnVpbGRlci0+eG1pbiA9IG9uZGlzay5idWlsZGVyLnht
aW47CiAJYnVpbGRlci0+eG1heCA9IG9uZGlzay5idWlsZGVyLnhtYXg7CmRpZmYgLS1naXQgYS9z
cmMvdGVzdC9yZWNvdmVyeS90LzAzNF9yZXBsaWNhdGlvbl9zbmFwYnVpbGQucGwgYi9zcmMvdGVz
dC9yZWNvdmVyeS90LzAzNF9yZXBsaWNhdGlvbl9zbmFwYnVpbGQucGwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMC4uOWE0MGYyNQotLS0gL2Rldi9udWxsCisrKyBiL3NyYy90ZXN0
L3JlY292ZXJ5L3QvMDM0X3JlcGxpY2F0aW9uX3NuYXBidWlsZC5wbApAQCAtMCwwICsxLDEwMCBA
QAorIyBDb3B5cmlnaHQgKGMpIDIwMjEtMjAyMiwgUG9zdGdyZVNRTCBHbG9iYWwgRGV2ZWxvcG1l
bnQgR3JvdXAKKworIyBUZXN0IHJlcGxpY2F0aW9uIHNuYXBzaG90IHJlYnVpbGQuCit1c2Ugc3Ry
aWN0OwordXNlIHdhcm5pbmdzOwordXNlIFRlc3RMaWI7Cit1c2UgUG9zdGdyZXNOb2RlOwordXNl
IFRlc3Q6Ok1vcmU7Cit1c2UgREJJOwordXNlIFRlc3Q6Ok1vcmUgdGVzdHMgPT4gMTsKKworIyBz
ZXQgc2xvdCBudW1iZXIKK215ICRzbG90X251bSA9IDEwMDsKKworIyBpbml0aWFsaXplIG1hc3Rl
ciBub2RlCitteSAkbWFzdGVyID0gZ2V0X25ld19ub2RlKCdtYXN0ZXInKTsKKyRtYXN0ZXItPmlu
aXQ7CiskbWFzdGVyLT5hcHBlbmRfY29uZigKKwkncG9zdGdyZXNxbC5jb25mJywgcXEoCit3YWxf
bGV2ZWw9bG9naWNhbAorbWF4X2Nvbm5lY3Rpb25zPTEwMDAKK21heF93b3JrZXJfcHJvY2Vzc2Vz
PTUwMAorbWF4X3dhbF9zZW5kZXJzPTUwMAorbWF4X3JlcGxpY2F0aW9uX3Nsb3RzPTUwMAorbWF4
X2xvZ2ljYWxfcmVwbGljYXRpb25fd29ya2Vycz01MDAKK2xvZ19lcnJvcl92ZXJib3NpdHkgPSB2
ZXJib3NlCitsb2dfc3RhdGVtZW50ID0gYWxsCispKTsKKyRtYXN0ZXItPnN0YXJ0OworbXkgJG1h
c3Rlcl9wb3J0ID0gJG1hc3Rlci0+cG9ydDsKKworIyBtYXN0ZXIgaW5pdAorZm9yIChteSAkaSA9
IDA7ICRpPCRzbG90X251bTsgJGkgPSAkaSsxKQoreworCW15ICR0YWJsZV9uYW1lPXFxKHRfJGkp
OworCW15ICRwdWJfbmFtZT1xcShwdWJfJGkpOworCSRtYXN0ZXItPnNhZmVfcHNxbCgncG9zdGdy
ZXMnLCAiY3JlYXRlIHRhYmxlICR0YWJsZV9uYW1lKGEgaW50KTsiKTsKKwkkbWFzdGVyLT5zYWZl
X3BzcWwoJ3Bvc3RncmVzJywgImNyZWF0ZSBwdWJsaWNhdGlvbiAkcHViX25hbWUgZm9yIHRhYmxl
ICR0YWJsZV9uYW1lOyIpOworfQorCisjIGNyZWF0ZSBzdWJzY3JpcHRpb24KK215ICRzdWJzY3Jp
YmVyID0gZ2V0X25ld19ub2RlKCdzdWJzY3JpYmVyJyk7Ciskc3Vic2NyaWJlci0+aW5pdDsKKyRz
dWJzY3JpYmVyLT5hcHBlbmRfY29uZigKKwkncG9zdGdyZXNxbC5jb25mJywgcXEoCit3YWxfbGV2
ZWw9bG9naWNhbAorbWF4X2Nvbm5lY3Rpb25zPTEwMDAKK21heF93b3JrZXJfcHJvY2Vzc2VzPTUw
MAorbWF4X3JlcGxpY2F0aW9uX3Nsb3RzPTUwMAorbG9nX2Vycm9yX3ZlcmJvc2l0eSA9IHZlcmJv
c2UKK21heF9sb2dpY2FsX3JlcGxpY2F0aW9uX3dvcmtlcnM9NTAwCitsb2dfc3RhdGVtZW50ID0g
YWxsCispKTsKKyRzdWJzY3JpYmVyLT5zdGFydDsKKworIyBzdWJzY3JpYmVyIGluaXQKK2ZvciAo
bXkgJGkgPSAwOyAkaTwkc2xvdF9udW07ICRpID0gJGkrMSkKK3sKKwlteSAkdGFibGVfbmFtZT1x
cSh0XyRpKTsKKwlteSAkcHViX25hbWU9cXEocHViXyRpKTsKKwlteSAkc3ViX25hbWU9cXEoc3Vi
XyRpKTsKKworCSRzdWJzY3JpYmVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywKKwkiY3JlYXRlIHRh
YmxlICR0YWJsZV9uYW1lKGEgaW50KTsiKTsKK30KKworbXkgJHNjcmlwdCA9ICRtYXN0ZXItPmJh
c2VkaXIgLiAnL3BnYmVuY2hfc2NyaXB0JzsKK2ZvciAobXkgJGkgPSAwOyAkaTwkc2xvdF9udW07
ICRpID0gJGkrMSkKK3sKKwlteSAkdGFibGVfbmFtZT1xcSh0XyRpKTsKKworCWFwcGVuZF90b19m
aWxlKCRzY3JpcHQsCisJIklOU0VSVCBJTlRPICR0YWJsZV9uYW1lIFNFTEVDVCBGUk9NIGdlbmVy
YXRlX3NlcmllcygxLDEwMCk7Iik7Cit9CisKK215ICRwaWQgPSBmb3JrKCk7CitpZiAoJHBpZCA9
PSAwKQoreworCXNsZWVwKDEpOworCWZvciAobXkgJGkgPSAwOyAkaTwkc2xvdF9udW07ICRpID0g
JGkrMSkKKwl7CisJCW15ICRwdWJfbmFtZT1xcShwdWJfJGkpOworCQlteSAkc3ViX25hbWU9cXEo
c3ViXyRpKTsKKworCQkkc3Vic2NyaWJlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsCisJCSJjcmVh
dGUgc3Vic2NyaXB0aW9uICRzdWJfbmFtZSBjb25uZWN0aW9uICdwb3J0PSRtYXN0ZXJfcG9ydCBk
Ym5hbWU9cG9zdGdyZXMgdXNlcj1wb3N0Z3JlcycgcHVibGljYXRpb24gJHB1Yl9uYW1lOyIpOwor
CX0KKwlleGVjICJlY2hvIiwgIlxuYnllXG4iOworfQorZWxzaWYgKCRwaWQgPCAwKQoreworCWRp
ZSAiZmFpbGVkIHRvIGZvcmsgbmV3IHByb2Nlc3MiOworfQorCiskbWFzdGVyLT5ydW5fbG9nKAor
CVtxdyhwZ2JlbmNoIC0tbm8tdmFjdXVtIC0tY2xpZW50PTEwIC1VIHBvc3RncmVzCisJLVQgMjUg
LS1maWxlKSwgJHNjcmlwdCBdKTsKKworbXkgJHJlc3VsdCA9ICRtYXN0ZXItPnNhZmVfcHNxbCgn
cG9zdGdyZXMnLCAic2VsZWN0IGNvdW50KCopIGZyb20gcGdfcmVwbGljYXRpb25fc2xvdHM7Iik7
CitpcygkcmVzdWx0LCBxcSgkc2xvdF9udW0pLCAiQ3JlYXRlIHNsb3RzIHN1Y2Nlc3NmdWxseS4i
KQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKLS0gCjIuOS4zCgo=
--=_mailmaster-63807243_4486b095_1174d_=--
Attachments:
[application/octet-stream] 0001-Fix-snapshot-builder-s-state-after-restoring-snapsho.patch (4.0K, ../tencent_7EB71DA5D7BA00EB0B429DCE45D0452B6406@qq.com/2-0001-Fix-snapshot-builder-s-state-after-restoring-snapsho.patch)
download | inline diff:
From ea7e504d9ac90ba0dfa8731f7b3465e07d19baf8 Mon Sep 17 00:00:00 2001
From: bovenshi <bovenshi@tencent.com>
Date: Fri, 25 Nov 2022 15:42:01 +0800
Subject: [PATCH] Fix snapshot builder's state after restoring snapshot from
disk.
Set snapshot builder's state after restoring snapshot from disk, since consistent snapshots have no next phase.
Per reports from bowenshi.
Discussion: https://www.postgresql.org/message-id/17695-6be9277c9295985f%40postgresql.org
---
src/backend/replication/logical/snapbuild.c | 6 ++
src/test/recovery/t/034_replication_snapbuild.pl | 100 +++++++++++++++++++++++
2 files changed, 106 insertions(+)
create mode 100644 src/test/recovery/t/034_replication_snapbuild.pl
diff --git a/src/backend/replication/logical/snapbuild.c b/src/backend/replication/logical/snapbuild.c
index b5b018e..03e7458 100644
--- a/src/backend/replication/logical/snapbuild.c
+++ b/src/backend/replication/logical/snapbuild.c
@@ -1964,6 +1964,12 @@ SnapBuildRestore(SnapBuild *builder, XLogRecPtr lsn)
/* consistent snapshots have no next phase */
Assert(ondisk.builder.next_phase_at == InvalidTransactionId);
+ /*
+ * We are now in consistent point and have no next phase, copy the state
+ * from the snapshot in disk.
+ */
+ builder->next_phase_at = ondisk.builder.next_phase_at;
+
/* ok, we think the snapshot is sensible, copy over everything important */
builder->xmin = ondisk.builder.xmin;
builder->xmax = ondisk.builder.xmax;
diff --git a/src/test/recovery/t/034_replication_snapbuild.pl b/src/test/recovery/t/034_replication_snapbuild.pl
new file mode 100644
index 0000000..9a40f25
--- /dev/null
+++ b/src/test/recovery/t/034_replication_snapbuild.pl
@@ -0,0 +1,100 @@
+# Copyright (c) 2021-2022, PostgreSQL Global Development Group
+
+# Test replication snapshot rebuild.
+use strict;
+use warnings;
+use TestLib;
+use PostgresNode;
+use Test::More;
+use DBI;
+use Test::More tests => 1;
+
+# set slot number
+my $slot_num = 100;
+
+# initialize master node
+my $master = get_new_node('master');
+$master->init;
+$master->append_conf(
+ 'postgresql.conf', qq(
+wal_level=logical
+max_connections=1000
+max_worker_processes=500
+max_wal_senders=500
+max_replication_slots=500
+max_logical_replication_workers=500
+log_error_verbosity = verbose
+log_statement = all
+));
+$master->start;
+my $master_port = $master->port;
+
+# master init
+for (my $i = 0; $i<$slot_num; $i = $i+1)
+{
+ my $table_name=qq(t_$i);
+ my $pub_name=qq(pub_$i);
+ $master->safe_psql('postgres', "create table $table_name(a int);");
+ $master->safe_psql('postgres', "create publication $pub_name for table $table_name;");
+}
+
+# create subscription
+my $subscriber = get_new_node('subscriber');
+$subscriber->init;
+$subscriber->append_conf(
+ 'postgresql.conf', qq(
+wal_level=logical
+max_connections=1000
+max_worker_processes=500
+max_replication_slots=500
+log_error_verbosity = verbose
+max_logical_replication_workers=500
+log_statement = all
+));
+$subscriber->start;
+
+# subscriber init
+for (my $i = 0; $i<$slot_num; $i = $i+1)
+{
+ my $table_name=qq(t_$i);
+ my $pub_name=qq(pub_$i);
+ my $sub_name=qq(sub_$i);
+
+ $subscriber->safe_psql('postgres',
+ "create table $table_name(a int);");
+}
+
+my $script = $master->basedir . '/pgbench_script';
+for (my $i = 0; $i<$slot_num; $i = $i+1)
+{
+ my $table_name=qq(t_$i);
+
+ append_to_file($script,
+ "INSERT INTO $table_name SELECT FROM generate_series(1,100);");
+}
+
+my $pid = fork();
+if ($pid == 0)
+{
+ sleep(1);
+ for (my $i = 0; $i<$slot_num; $i = $i+1)
+ {
+ my $pub_name=qq(pub_$i);
+ my $sub_name=qq(sub_$i);
+
+ $subscriber->safe_psql('postgres',
+ "create subscription $sub_name connection 'port=$master_port dbname=postgres user=postgres' publication $pub_name;");
+ }
+ exec "echo", "\nbye\n";
+}
+elsif ($pid < 0)
+{
+ die "failed to fork new process";
+}
+
+$master->run_log(
+ [qw(pgbench --no-vacuum --client=10 -U postgres
+ -T 25 --file), $script ]);
+
+my $result = $master->safe_psql('postgres', "select count(*) from pg_replication_slots;");
+is($result, qq($slot_num), "Create slots successfully.")
\ No newline at end of file
--
2.9.3
view thread (17+ messages) latest in thread
Message-ID: <tencent_7EB71DA5D7BA00EB0B429DCE45D0452B6406@qq.com>
Permalink: ../tencent_7EB71DA5D7BA00EB0B429DCE45D0452B6406@qq.com/
Also on: postgresql.org/message-id/tencent_7EB71DA5D7BA00EB0B429DCE45D0452B6406@qq.com
copy link · copy postgr.es · copy git am
reply Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-bugs@postgresql.org
Cc: zxwsbg@qq.com, sawada.mshk@gmail.com, pgsql-bugs@lists.postgresql.org
Subject: Re: BUG #17695: Failed Assert in logical replication snapbuild.
In-Reply-To: <tencent_7EB71DA5D7BA00EB0B429DCE45D0452B6406@qq.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox