Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1sFQbz-002C0G-7z for pgsql-hackers@arkaria.postgresql.org; Fri, 07 Jun 2024 03:49:56 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1sFQbx-007FLb-I4 for pgsql-hackers@arkaria.postgresql.org; Fri, 07 Jun 2024 03:49:54 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1sFQbw-007FLS-4s for pgsql-hackers@lists.postgresql.org; Fri, 07 Jun 2024 03:49:54 +0000 Received: from fhigh6-smtp.messagingengine.com ([103.168.172.157]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1sFQbs-000651-N9 for pgsql-hackers@lists.postgresql.org; Fri, 07 Jun 2024 03:49:51 +0000 Received: from compute2.internal (compute2.nyi.internal [10.202.2.46]) by mailfhigh.nyi.internal (Postfix) with ESMTP id 28B0D114020E; Thu, 6 Jun 2024 23:49:47 -0400 (EDT) Received: from imap49 ([10.202.2.99]) by compute2.internal (MEProxy); Thu, 06 Jun 2024 23:49:47 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=eulerto.com; h= cc:cc:content-type:content-type:date:date:from:from:in-reply-to :in-reply-to:message-id:mime-version:references:reply-to:subject :subject:to:to; s=fm2; t=1717732187; x=1717818587; bh=z/iFSUJ3Ro bYblEuD3SDbzMFkbVNM115CUPdNZLT2AQ=; b=OCCGC4KTd01VtLm16g3i2bPZ9i q/TUYrj+thWnVscjdc4SDperI0J+2k1h9GLIMhbFpXHdpHFwzerdpzptG75qo111 FmJfTBRcZ4yp6FLTrMrjYRgKLFPPcvMYG4/RjV8Mno+Y+GVG8hSYEkP1tjjgdDSc gzDOWBlNKhIZeEHxfIFjACCbPL5cs9va6Fc3tvC/gXn5Gfva/BZNwc9nJuG2OU0d 3vcbe5lP8OQB+FYe0679AfAFFOhm4IPX63gTu6ZUSirf+YrgFOfqgF32poMpgr6F 8HDzuGTmFryKcCgogZfT9joZq3hubDiLiIk1TCs70Z121gRhLZ0HIN7wJk8g== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-type:content-type:date:date :feedback-id:feedback-id:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:subject:subject:to :to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm1; t=1717732187; x=1717818587; bh=z/iFSUJ3RobYblEuD3SDbzMFkbVN M115CUPdNZLT2AQ=; b=LAYx+P+OCf0wKBnvD57IWaaMFk2BO22D3UggdiwHFeiA sMZO/RiS0YUqlPGAnrb9uMBUI1KF+k9hoV9Q4jq2FeLjdyWxp35eUWD4RKDcSF45 otTuGk5MCMwfHcDEOg9OQ9TEGm0Bw9cN9+Un7dFiGKJk7hrYUxo8DEsJn2PoFngu g5cYAmP8umMXCjzzEPocjabiOG+ty83P86lE/fdK4Uyok5RV7+XIfINYTFP8ZUm5 t9R+4OIuyC/NZx917jvW/DvGiCBajdhcSJOnmacVWNukx0qXzF90Vi6rs/iSrR7l xjQZQJDCnxa7HfbnbBl9mueAydyfTj+bN7jVpc1oxA== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvledrvdelledgjeegucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepofgfggfkjghffffhvfevufgtsehmtderreerredtnecuhfhrohhmpedfgfhu lhgvrhcuvfgrvhgvihhrrgdfuceovghulhgvrhesvghulhgvrhhtohdrtghomheqnecugg ftrfgrthhtvghrnhepuefhjeefudeffeeugfehteelvdegkeekueeuudevgfduhfelgffh leeuhedtiefhnecuffhomhgrihhnpegvnhhtvghrphhrihhsvggusgdrtghomhenucevlh hushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpegvuhhlvghrsegv uhhlvghrthhordgtohhm X-ME-Proxy: Feedback-ID: i0c21471d:Fastmail Received: by mailuser.nyi.internal (Postfix, from userid 501) id 1D08015A0092; Thu, 6 Jun 2024 23:49:46 -0400 (EDT) X-Mailer: MessagingEngine.com Webmail Interface User-Agent: Cyrus-JMAP/3.11.0-alpha0-497-g97f96844c-fm-20240526.001-g97f96844 MIME-Version: 1.0 Message-Id: <776c5cac-5ef5-4001-b1bc-5b698bc0c62a@app.fastmail.com> In-Reply-To: <5da4b286-e570-4341-8262-92d763f6b1a4@app.fastmail.com> References: <9a9c7e65-c47b-4400-a63e-ac6169c0860e@app.fastmail.com> <2f0b73f3-e7c0-4e95-9712-1993442a6b64@app.fastmail.com> <34637e7f-0330-420d-8f45-1d022962d2fe@app.fastmail.com> <7a970912-0b77-4942-84f7-2c9ca0bc05a5@eisentraut.org> <44de4e04-db22-40ed-8ba9-46387dc8bf83@app.fastmail.com> <3fa9ef0f-b277-4c13-850a-8ccc04de1406@eisentraut.org> <65b841a8-0c2f-4953-b9cd-240fce84b90b@eisentraut.org> <47524383-6fd1-4b13-8c4e-fb918b1d35ba@enterprisedb.com> <2e86cf53-c806-49d2-9a10-1a1257776d1f@app.fastmail.com> <5da4b286-e570-4341-8262-92d763f6b1a4@app.fastmail.com> Date: Fri, 07 Jun 2024 00:49:25 -0300 From: "Euler Taveira" To: "Amit Kapila" , "Shlok Kyal" Cc: "Tomas Vondra" , "kuroda.hayato@fujitsu.com" , "Peter Eisentraut" , "Bharath Rupireddy" , "pgsql-hackers@lists.postgresql.org" , "Michael Paquier" , "Andres Freund" , "Ashutosh Bapat" , =?UTF-8?Q?Fabr=C3=ADzio_de_Royes_Mello?= , "vignesh C" Subject: Re: speed up a logical replica setup Content-Type: multipart/mixed; boundary=ed3bb7e555584b148cef31435347c481 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --ed3bb7e555584b148cef31435347c481 Content-Type: multipart/alternative; boundary=7c04b2f5d976461fb9c86ef157efafcf --7c04b2f5d976461fb9c86ef157efafcf Content-Type: text/plain On Wed, May 22, 2024, at 12:16 PM, Euler Taveira wrote: > I'll summarize all issues as soon as I finish the review of sync slot support. I > think we should avoid new development if we judge that the item can be > documented as a limitation for this version. Nevertheless, I will share patches > so you can give your opinion on whether it is an open item or new development. Here it is a patch series to fix the issues reported in recent discussions. The patches 0001 and 0003 aim to fix the buildfarm issues. The patch 0002 removes synchronized failover slots on subscriber since it has no use. I also included an optional patch 0004 that improves the usability by checking both servers if it already failed in any subscriber check. As I said in this previous email I decided to remove the logic that reacts for an issue on primary. We can reintroduce another code later if/when we have a better way to check the recovery progress. It will rely on the recovery_timeout and it adds recovery_timeout equals to PG_TEST_TIMEOUT_DEFAULT to let the animals control how long it should wait for the recovery. Since some animals reported some issues in the check_publisher routine that checks if the primary_slot_name is in use on primary, this logic was removed too (patch 0003). We could introduce a way to keep trying this test but the conclusion is that it is not worth it and if the primary_slot_name does not exist (due to a setup error), pg_createsubscriber will log an error message and continue. The 0002 removes any failover slots that remains on subscriber. Talking about terminology, I noticed that slotsync.c uses "logical failover slots" and "failover logical slots", I think the latter sounds better but I'm not a native speaker. I also don't know if we use a short terminology like "failover slots" "failover replication slots" or "failover logical replication slots". IMO we can omit "logical" because "failover" infers it is a logical replication slot. I'm also not sure about omitting "replication". It is not descriptive enough. I prefer "failover replication slots". Before sending this email I realized that I did nothing about physical replication slots on the standby. I think we should also remove them too unconditionally. -- Euler Taveira EDB https://www.enterprisedb.com/ --7c04b2f5d976461fb9c86ef157efafcf Content-Type: text/html Content-Transfer-Encoding: quoted-printable
On Wed, Ma= y 22, 2024, at 12:16 PM, Euler Taveira wrote:
I'll summarize all issues as soon as I = finish the review of sync slot support. I
think we should = avoid new development if we judge that the item can be
doc= umented as a limitation for this version. Nevertheless, I will share pat= ches
so you can give your opinion on whether it is an open= item or new development.

Here= it is a patch series to fix the issues reported in recent discussions. = The
patches 0001 and 0003 aim to fix the buildfarm issues.= The patch 0002 removes
synchronized failover slots on sub= scriber since it has no use. I also included
an optional p= atch 0004 that improves the usability by checking both servers if
it already failed in any subscriber check.

As I said in this previous email I decided to remove the logic t= hat reacts for
an issue on primary. We can reintroduce ano= ther code later if/when we have a
better way to check the = recovery progress. It will rely on the recovery_timeout
an= d it adds recovery_timeout equals to PG_TEST_TIMEOUT_DEFAULT to let the<= br>
animals control how long it should wait for the recovery.<= br>

Since some animals reported some issues in = the check_publisher routine that
checks if the primary_slo= t_name is in use on primary, this logic was removed
too (p= atch 0003). We could introduce a way to keep trying this test but the
conclusion is that it is not worth it and if the primary_slo= t_name does not
exist (due to a setup error), pg_createsub= scriber will log an error message and
continue.
<= div>
The 0002 removes any failover slots that remains on s= ubscriber. Talking about
terminology, I noticed that slots= ync.c uses "logical failover slots" and
"failover logical = slots", I think the latter sounds better but I'm not a native
<= div>speaker. I also don't know if we use a short terminology like "failo= ver slots"
"failover replication slots" or "failover logic= al replication slots". IMO we
can omit "logical" because "= failover" infers it is a logical replication slot.
I'm als= o not sure about omitting "replication". It is not descriptive enough. I=
prefer "failover replication slots".

Before sending this email I realized that I did nothing about p= hysical
replication slots on the standby. I think we shoul= d also remove them too
unconditionally.

=

-= -
Euler Taveira

--7c04b2f5d976461fb9c86ef157efafcf-- --ed3bb7e555584b148cef31435347c481 Content-Disposition: attachment; filename*0="0001-Only-the-recovery_timeout-controls-the-end-of-recove.pat"; filename*1="ch" Content-Type: text/x-patch; name="=?UTF-8?Q?0001-Only-the-recovery=5Ftimeout-controls-the-end-of-recove.pa?= =?UTF-8?Q?tch?=" Content-Transfer-Encoding: BASE64 RnJvbSA1ZDhiNDc4MWU2ZTliY2IwMDU2NGY0NWMyNWU1NzVhOGFiYWI2YWU4IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBFdWxlciBUYXZlaXJhIDxldWxlci50YXZlaXJhQGVu dGVycHJpc2VkYi5jb20+CkRhdGU6IFR1ZSwgMjEgTWF5IDIwMjQgMjM6MDQ6NTcgLTAzMDAK U3ViamVjdDogW1BBVENIIDEvNF0gT25seSB0aGUgcmVjb3ZlcnlfdGltZW91dCBjb250cm9s cyB0aGUgZW5kIG9mIHJlY292ZXJ5CiBwcm9jZXNzCgpJdCB1c2VkIHRvIGNoZWNrIGlmIHRo ZSB0YXJnZXQgc2VydmVyIGlzIGNvbm5lY3RlZCB0byB0aGUgcHJpbWFyeSBzZXJ2ZXIKKHNl bmQgcmVxdWlyZWQgV0FMKSB0byByYXBpZGx5IHJlYWN0IHdoZW4gdGhlIHByb2Nlc3Mgd29u J3Qgc3VjY2VlZC4KVGhpcyBjb2RlIGlzIG5vdCBlbm91Z2ggdG8gZ3VhcmFudGVlIHRoYXQg dGhlIHJlY292ZXJ5IHByb2Nlc3Mgd2lsbApjb21wbGV0ZS4gVGhlcmUgaXMgYSB3aW5kb3cg YmV0d2VlbiB0aGUgd2FscmVjZWl2ZXIgc2h1dGRvd24gYW5kIHRoZQpwZ19pc19pbl9yZWNv dmVyeSgpIHJldHVybnMgZmFsc2UgdGhhdCBjYW4gcmVhY2ggTlVNX0NPTk5fQVRURU1QVFMK YXR0ZW1wdHMgYW5kIGZhaWxzLgpJbnN0ZWFkLCByZWx5IG9ubHkgb24gcmVjb3ZlcnlfdGlt ZW91dCBvcHRpb24gdG8gZ2l2ZSB1cCB0aGUgcHJvY2VzcwphZnRlciB0aGUgc3BlY2lmaWVk IG51bWJlciBvZiBzZWNvbmRzLgotLS0KIGRvYy9zcmMvc2dtbC9yZWYvcGdfY3JlYXRlc3Vi c2NyaWJlci5zZ21sICAgICB8ICA3IC0tLS0tCiBzcmMvYmluL3BnX2Jhc2ViYWNrdXAvcGdf Y3JlYXRlc3Vic2NyaWJlci5jICAgfCAyOSArKy0tLS0tLS0tLS0tLS0tLS0tCiAuLi4vdC8w NDBfcGdfY3JlYXRlc3Vic2NyaWJlci5wbCAgICAgICAgICAgICAgfCAgMiArKwogMyBmaWxl cyBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDMzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL2RvYy9zcmMvc2dtbC9yZWYvcGdfY3JlYXRlc3Vic2NyaWJlci5zZ21sIGIvZG9jL3Ny Yy9zZ21sL3JlZi9wZ19jcmVhdGVzdWJzY3JpYmVyLnNnbWwKaW5kZXggMTQyYmZmZmYwMi4u YTcwMDY5N2Y4OCAxMDA2NDQKLS0tIGEvZG9jL3NyYy9zZ21sL3JlZi9wZ19jcmVhdGVzdWJz Y3JpYmVyLnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL3JlZi9wZ19jcmVhdGVzdWJzY3JpYmVy LnNnbWwKQEAgLTMyNSwxMyArMzI1LDYgQEAgUG9zdGdyZVNRTCBkb2N1bWVudGF0aW9uCiAg ICAgY29ubmVjdGlvbnMgdG8gdGhlIHRhcmdldCBzZXJ2ZXIgc2hvdWxkIGZhaWwuCiAgICA8 L3BhcmE+CiAKLSAgIDxwYXJhPgotICAgIER1cmluZyB0aGUgcmVjb3ZlcnkgcHJvY2Vzcywg aWYgdGhlIHRhcmdldCBzZXJ2ZXIgZGlzY29ubmVjdHMgZnJvbSB0aGUKLSAgICBzb3VyY2Ug c2VydmVyLCA8YXBwbGljYXRpb24+cGdfY3JlYXRlc3Vic2NyaWJlcjwvYXBwbGljYXRpb24+ IHdpbGwgY2hlY2sgYQotICAgIGZldyB0aW1lcyBpZiB0aGUgY29ubmVjdGlvbiBoYXMgYmVl biByZWVzdGFibGlzaGVkIHRvIHN0cmVhbSB0aGUgcmVxdWlyZWQKLSAgICBXQUwuICBBZnRl ciBhIGZldyBhdHRlbXB0cywgaXQgdGVybWluYXRlcyB3aXRoIGFuIGVycm9yLgotICAgPC9w YXJhPgotCiAgICA8cGFyYT4KICAgICBTaW5jZSBEREwgY29tbWFuZHMgYXJlIG5vdCByZXBs aWNhdGVkIGJ5IGxvZ2ljYWwgcmVwbGljYXRpb24sIGF2b2lkCiAgICAgZXhlY3V0aW5nIERE TCBjb21tYW5kcyB0aGF0IGNoYW5nZSB0aGUgZGF0YWJhc2Ugc2NoZW1hIHdoaWxlIHJ1bm5p bmcKZGlmZiAtLWdpdCBhL3NyYy9iaW4vcGdfYmFzZWJhY2t1cC9wZ19jcmVhdGVzdWJzY3Jp YmVyLmMgYi9zcmMvYmluL3BnX2Jhc2ViYWNrdXAvcGdfY3JlYXRlc3Vic2NyaWJlci5jCmlu ZGV4IDkwY2M1ODA4MTEuLmY2MmYzNGIxYTcgMTAwNjQ0Ci0tLSBhL3NyYy9iaW4vcGdfYmFz ZWJhY2t1cC9wZ19jcmVhdGVzdWJzY3JpYmVyLmMKKysrIGIvc3JjL2Jpbi9wZ19iYXNlYmFj a3VwL3BnX2NyZWF0ZXN1YnNjcmliZXIuYwpAQCAtMTM2MCw2ICsxMzYwLDkgQEAgc3RvcF9z dGFuZGJ5X3NlcnZlcihjb25zdCBjaGFyICpkYXRhZGlyKQogICoKICAqIElmIHJlY292ZXJ5 X3RpbWVvdXQgb3B0aW9uIGlzIHNldCwgdGVybWluYXRlIGFibm9ybWFsbHkgd2l0aG91dCBm aW5pc2hpbmcKICAqIHRoZSByZWNvdmVyeSBwcm9jZXNzLiBCeSBkZWZhdWx0LCBpdCB3YWl0 cyBmb3JldmVyLgorICoKKyAqIFhYWCBJcyB0aGUgcmVjb3ZlcnkgcHJvY2VzcyBzdGlsbCBp biBwcm9ncmVzcz8gV2hlbiByZWNvdmVyeSBwcm9jZXNzIGhhcyBhCisgKiBiZXR0ZXIgcHJv Z3Jlc3MgcmVwb3J0aW5nIG1lY2hhbmlzbSwgaXQgc2hvdWxkIGJlIGFkZGVkIGhlcmUuCiAg Ki8KIHN0YXRpYyB2b2lkCiB3YWl0X2Zvcl9lbmRfcmVjb3ZlcnkoY29uc3QgY2hhciAqY29u bmluZm8sIGNvbnN0IHN0cnVjdCBDcmVhdGVTdWJzY3JpYmVyT3B0aW9ucyAqb3B0KQpAQCAt MTM2Nyw5ICsxMzcwLDYgQEAgd2FpdF9mb3JfZW5kX3JlY292ZXJ5KGNvbnN0IGNoYXIgKmNv bm5pbmZvLCBjb25zdCBzdHJ1Y3QgQ3JlYXRlU3Vic2NyaWJlck9wdGlvbnMKIAlQR2Nvbm4J ICAgKmNvbm47CiAJaW50CQkJc3RhdHVzID0gUE9TVE1BU1RFUl9TVElMTF9TVEFSVElORzsK IAlpbnQJCQl0aW1lciA9IDA7Ci0JaW50CQkJY291bnQgPSAwOwkJLyogbnVtYmVyIG9mIGNv bnNlY3V0aXZlIGNvbm5lY3Rpb24gYXR0ZW1wdHMgKi8KLQotI2RlZmluZSBOVU1fQ09OTl9B VFRFTVBUUwkxMAogCiAJcGdfbG9nX2luZm8oIndhaXRpbmcgZm9yIHRoZSB0YXJnZXQgc2Vy dmVyIHRvIHJlYWNoIHRoZSBjb25zaXN0ZW50IHN0YXRlIik7CiAKQEAgLTEzNzcsNyArMTM3 Nyw2IEBAIHdhaXRfZm9yX2VuZF9yZWNvdmVyeShjb25zdCBjaGFyICpjb25uaW5mbywgY29u c3Qgc3RydWN0IENyZWF0ZVN1YnNjcmliZXJPcHRpb25zCiAKIAlmb3IgKDs7KQogCXsKLQkJ UEdyZXN1bHQgICAqcmVzOwogCQlib29sCQlpbl9yZWNvdmVyeSA9IHNlcnZlcl9pc19pbl9y ZWNvdmVyeShjb25uKTsKIAogCQkvKgpAQCAtMTM5MSwyOCArMTM5MCw2IEBAIHdhaXRfZm9y X2VuZF9yZWNvdmVyeShjb25zdCBjaGFyICpjb25uaW5mbywgY29uc3Qgc3RydWN0IENyZWF0 ZVN1YnNjcmliZXJPcHRpb25zCiAJCQlicmVhazsKIAkJfQogCi0JCS8qCi0JCSAqIElmIGl0 IGlzIHN0aWxsIGluIHJlY292ZXJ5LCBtYWtlIHN1cmUgdGhlIHRhcmdldCBzZXJ2ZXIgaXMK LQkJICogY29ubmVjdGVkIHRvIHRoZSBwcmltYXJ5IHNvIGl0IGNhbiByZWNlaXZlIHRoZSBy ZXF1aXJlZCBXQUwgdG8KLQkJICogZmluaXNoIHRoZSByZWNvdmVyeSBwcm9jZXNzLiBJZiBp dCBpcyBkaXNjb25uZWN0ZWQgdHJ5Ci0JCSAqIE5VTV9DT05OX0FUVEVNUFRTIGluIGEgcm93 IGFuZCBiYWlsIG91dCBpZiBub3Qgc3VjY2VlZC4KLQkJICovCi0JCXJlcyA9IFBRZXhlYyhj b25uLAotCQkJCQkgIlNFTEVDVCAxIEZST00gcGdfY2F0YWxvZy5wZ19zdGF0X3dhbF9yZWNl aXZlciIpOwotCQlpZiAoUFFudHVwbGVzKHJlcykgPT0gMCkKLQkJewotCQkJaWYgKCsrY291 bnQgPiBOVU1fQ09OTl9BVFRFTVBUUykKLQkJCXsKLQkJCQlzdG9wX3N0YW5kYnlfc2VydmVy KHN1YnNjcmliZXJfZGlyKTsKLQkJCQlwZ19sb2dfZXJyb3IoInN0YW5kYnkgc2VydmVyIGRp c2Nvbm5lY3RlZCBmcm9tIHRoZSBwcmltYXJ5Iik7Ci0JCQkJYnJlYWs7Ci0JCQl9Ci0JCX0K LQkJZWxzZQotCQkJY291bnQgPSAwOwkJCS8qIHJlc2V0IGNvdW50ZXIgaWYgaXQgY29ubmVj dHMgYWdhaW4gKi8KLQotCQlQUWNsZWFyKHJlcyk7Ci0KIAkJLyogQmFpbCBvdXQgYWZ0ZXIg cmVjb3ZlcnlfdGltZW91dCBzZWNvbmRzIGlmIHRoaXMgb3B0aW9uIGlzIHNldCAqLwogCQlp ZiAob3B0LT5yZWNvdmVyeV90aW1lb3V0ID4gMCAmJiB0aW1lciA+PSBvcHQtPnJlY292ZXJ5 X3RpbWVvdXQpCiAJCXsKZGlmZiAtLWdpdCBhL3NyYy9iaW4vcGdfYmFzZWJhY2t1cC90LzA0 MF9wZ19jcmVhdGVzdWJzY3JpYmVyLnBsIGIvc3JjL2Jpbi9wZ19iYXNlYmFja3VwL3QvMDQw X3BnX2NyZWF0ZXN1YnNjcmliZXIucGwKaW5kZXggMmI4ODNlNjkxMC4uYTY3N2ZlZmE5NCAx MDA2NDQKLS0tIGEvc3JjL2Jpbi9wZ19iYXNlYmFja3VwL3QvMDQwX3BnX2NyZWF0ZXN1YnNj cmliZXIucGwKKysrIGIvc3JjL2Jpbi9wZ19iYXNlYmFja3VwL3QvMDQwX3BnX2NyZWF0ZXN1 YnNjcmliZXIucGwKQEAgLTI2NCw2ICsyNjQsNyBAQCAkbm9kZV9wLT5yZXN0YXJ0OwogY29t bWFuZF9vaygKIAlbCiAJCSdwZ19jcmVhdGVzdWJzY3JpYmVyJywgJy0tdmVyYm9zZScsCisJ CSctLXJlY292ZXJ5LXRpbWVvdXQnLCAiJFBvc3RncmVTUUw6OlRlc3Q6OlV0aWxzOjp0aW1l b3V0X2RlZmF1bHQiLAogCQknLS1kcnktcnVuJywgJy0tcGdkYXRhJywKIAkJJG5vZGVfcy0+ ZGF0YV9kaXIsICctLXB1Ymxpc2hlci1zZXJ2ZXInLAogCQkkbm9kZV9wLT5jb25uc3RyKCdw ZzEnKSwgJy0tc29ja2V0LWRpcmVjdG9yeScsCkBAIC0zMDEsNiArMzAyLDcgQEAgY29tbWFu ZF9vaygKIGNvbW1hbmRfb2soCiAJWwogCQkncGdfY3JlYXRlc3Vic2NyaWJlcicsICctLXZl cmJvc2UnLAorCQknLS1yZWNvdmVyeS10aW1lb3V0JywgIiRQb3N0Z3JlU1FMOjpUZXN0OjpV dGlsczo6dGltZW91dF9kZWZhdWx0IiwKIAkJJy0tdmVyYm9zZScsICctLXBnZGF0YScsCiAJ CSRub2RlX3MtPmRhdGFfZGlyLCAnLS1wdWJsaXNoZXItc2VydmVyJywKIAkJJG5vZGVfcC0+ Y29ubnN0cigncGcxJyksICctLXNvY2tldC1kaXJlY3RvcnknLAotLSAKMi4zMC4yCgo= --ed3bb7e555584b148cef31435347c481 Content-Disposition: attachment; filename*0="0002-Remove-failover-replication-slots-on-subscriber.patch" Content-Type: text/x-patch; name="=?UTF-8?Q?0002-Remove-failover-replication-slots-on-subscriber.patch?=" Content-Transfer-Encoding: BASE64 RnJvbSBhMTBlZGMwM2E2NjM2ZDZmZWY5ZTAxM2E1MDdhODI1ODA5NmE2ZmQzIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBFdWxlciBUYXZlaXJhIDxldWxlci50YXZlaXJhQGVu dGVycHJpc2VkYi5jb20+CkRhdGU6IFdlZCwgMjIgTWF5IDIwMjQgMTI6NDM6MTMgLTAzMDAK U3ViamVjdDogW1BBVENIIDIvNF0gUmVtb3ZlIGZhaWxvdmVyIHJlcGxpY2F0aW9uIHNsb3Rz IG9uIHN1YnNjcmliZXIKCkFmdGVyIHJ1bm5pbmcgcGdfY3JlYXRlc3Vic2NyaWJlciwgdGhl c2UgcmVwbGljYXRpb24gc2xvdHMgaGFzIG5vIHVzZSBvbgpzdWJzY3JpYmVyLgotLS0KIGRv Yy9zcmMvc2dtbC9yZWYvcGdfY3JlYXRlc3Vic2NyaWJlci5zZ21sICAgICB8ICA4ICsrKwog c3JjL2Jpbi9wZ19iYXNlYmFja3VwL3BnX2NyZWF0ZXN1YnNjcmliZXIuYyAgIHwgNDkgKysr KysrKysrKysrKysrKysrLQogLi4uL3QvMDQwX3BnX2NyZWF0ZXN1YnNjcmliZXIucGwgICAg ICAgICAgICAgIHwgMjAgKysrKysrKy0KIDMgZmlsZXMgY2hhbmdlZCwgNzUgaW5zZXJ0aW9u cygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvcmVmL3Bn X2NyZWF0ZXN1YnNjcmliZXIuc2dtbCBiL2RvYy9zcmMvc2dtbC9yZWYvcGdfY3JlYXRlc3Vi c2NyaWJlci5zZ21sCmluZGV4IGE3MDA2OTdmODguLmFjNTZjMGNjZTkgMTAwNjQ0Ci0tLSBh L2RvYy9zcmMvc2dtbC9yZWYvcGdfY3JlYXRlc3Vic2NyaWJlci5zZ21sCisrKyBiL2RvYy9z cmMvc2dtbC9yZWYvcGdfY3JlYXRlc3Vic2NyaWJlci5zZ21sCkBAIC00ODIsNiArNDgyLDE0 IEBAIFBvc3RncmVTUUwgZG9jdW1lbnRhdGlvbgogICAgICA8L3BhcmE+CiAgICAgPC9zdGVw PgogCisgICAgPHN0ZXA+CisgICAgIDxwYXJhPgorICAgICAgSWYgdGhlIHN0YW5kYnkgc2Vy dmVyIGNvbnRhaW5zCisgICAgICA8bGluayBsaW5rZW5kPSJsb2dpY2FsZGVjb2RpbmctcmVw bGljYXRpb24tc2xvdHMtc3luY2hyb25pemF0aW9uIj5mYWlsb3ZlciByZXBsaWNhdGlvbiBz bG90czwvbGluaz4sCisgICAgICB0aGV5IGNhbm5vdCBiZSBzeW5jaHJvbml6ZWQgYW55bW9y ZSBzbyBkcm9wIHRoZW0uCisgICAgIDwvcGFyYT4KKyAgICA8L3N0ZXA+CisKICAgICA8c3Rl cD4KICAgICAgPHBhcmE+CiAgICAgICBVcGRhdGUgdGhlIHN5c3RlbSBpZGVudGlmaWVyIG9u IHRoZSB0YXJnZXQgc2VydmVyLiBUaGUKZGlmZiAtLWdpdCBhL3NyYy9iaW4vcGdfYmFzZWJh Y2t1cC9wZ19jcmVhdGVzdWJzY3JpYmVyLmMgYi9zcmMvYmluL3BnX2Jhc2ViYWNrdXAvcGdf Y3JlYXRlc3Vic2NyaWJlci5jCmluZGV4IGY2MmYzNGIxYTcuLmI0MjE2MGM2YzYgMTAwNjQ0 Ci0tLSBhL3NyYy9iaW4vcGdfYmFzZWJhY2t1cC9wZ19jcmVhdGVzdWJzY3JpYmVyLmMKKysr IGIvc3JjL2Jpbi9wZ19iYXNlYmFja3VwL3BnX2NyZWF0ZXN1YnNjcmliZXIuYwpAQCAtODUs NiArODUsNyBAQCBzdGF0aWMgdm9pZCBzZXR1cF9yZWNvdmVyeShjb25zdCBzdHJ1Y3QgTG9n aWNhbFJlcEluZm8gKmRiaW5mbywgY29uc3QgY2hhciAqZGF0YQogCQkJCQkJICAgY29uc3Qg Y2hhciAqbHNuKTsKIHN0YXRpYyB2b2lkIGRyb3BfcHJpbWFyeV9yZXBsaWNhdGlvbl9zbG90 KHN0cnVjdCBMb2dpY2FsUmVwSW5mbyAqZGJpbmZvLAogCQkJCQkJCQkJCSAgY29uc3QgY2hh ciAqc2xvdG5hbWUpOworc3RhdGljIHZvaWQgZHJvcF9mYWlsb3Zlcl9yZXBsaWNhdGlvbl9z bG90cyhzdHJ1Y3QgTG9naWNhbFJlcEluZm8gKmRiaW5mbyk7CiBzdGF0aWMgY2hhciAqY3Jl YXRlX2xvZ2ljYWxfcmVwbGljYXRpb25fc2xvdChQR2Nvbm4gKmNvbm4sCiAJCQkJCQkJCQkJ CSBzdHJ1Y3QgTG9naWNhbFJlcEluZm8gKmRiaW5mbyk7CiBzdGF0aWMgdm9pZCBkcm9wX3Jl cGxpY2F0aW9uX3Nsb3QoUEdjb25uICpjb25uLCBzdHJ1Y3QgTG9naWNhbFJlcEluZm8gKmRi aW5mbywKQEAgLTExNzgsNiArMTE3OSw0OSBAQCBkcm9wX3ByaW1hcnlfcmVwbGljYXRpb25f c2xvdChzdHJ1Y3QgTG9naWNhbFJlcEluZm8gKmRiaW5mbywgY29uc3QgY2hhciAqc2xvdG5h bQogCX0KIH0KIAorLyoKKyAqIERyb3AgZmFpbG92ZXIgcmVwbGljYXRpb24gc2xvdHMgb24g c3Vic2NyaWJlci4gQWZ0ZXIgdGhlIHRyYW5zZm9ybWF0aW9uLCBpdAorICogaGFzIG5vIHVz ZS4KKyAqCisgKiBYWFggd2UgbWlnaHQgbm90IGZhaWwgaGVyZS4gSW5zdGVhZCwgd2UgcHJv dmlkZSBhIHdhcm5pbmcgc28gdGhlIHVzZXIKKyAqIGV2ZW50dWFsbHkgZHJvcHMgdGhpcyBy ZXBsaWNhdGlvbiBzbG90IGxhdGVyLgorICovCitzdGF0aWMgdm9pZAorZHJvcF9mYWlsb3Zl cl9yZXBsaWNhdGlvbl9zbG90cyhzdHJ1Y3QgTG9naWNhbFJlcEluZm8gKmRiaW5mbykKK3sK KwlQR2Nvbm4JICAgKmNvbm47CisJUEdyZXN1bHQgICAqcmVzOworCisJY29ubiA9IGNvbm5l Y3RfZGF0YWJhc2UoZGJpbmZvWzBdLnN1YmNvbm5pbmZvLCBmYWxzZSk7CisJaWYgKGNvbm4g IT0gTlVMTCkKKwl7CisJCS8qIEdldCBmYWlsb3ZlciByZXBsaWNhdGlvbiBzbG90IG5hbWVz LiAqLworCQlyZXMgPSBQUWV4ZWMoY29ubiwKKwkJCQkJICJTRUxFQ1Qgc2xvdF9uYW1lIEZS T00gcGdfY2F0YWxvZy5wZ19yZXBsaWNhdGlvbl9zbG90cyBXSEVSRSBmYWlsb3ZlciIpOwor CisJCWlmIChQUXJlc3VsdFN0YXR1cyhyZXMpID09IFBHUkVTX1RVUExFU19PSykKKwkJewor CQkJLyogUmVtb3ZlIGZhaWxvdmVyIHJlcGxpY2F0aW9uIHNsb3RzIGZyb20gc3Vic2NyaWJl ci4gKi8KKwkJCWZvciAoaW50IGkgPSAwOyBpIDwgUFFudHVwbGVzKHJlcyk7IGkrKykKKwkJ CQlkcm9wX3JlcGxpY2F0aW9uX3Nsb3QoY29ubiwgJmRiaW5mb1swXSwgUFFnZXR2YWx1ZShy ZXMsIGksIDApKTsKKwkJfQorCQllbHNlCisJCXsKKwkJCXBnX2xvZ193YXJuaW5nKCJjb3Vs ZCBub3Qgb2J0YWluIGZhaWxvdmVyIHJlcGxpY2F0aW9uIHNsb3QgaW5mb3JtYXRpb246ICVz IiwKKwkJCQkJCSAgIFBRcmVzdWx0RXJyb3JNZXNzYWdlKHJlcykpOworCQkJcGdfbG9nX3dh cm5pbmdfaGludCgiRHJvcCB0aGUgZmFpbG92ZXIgcmVwbGljYXRpb24gc2xvdHMgb24gc3Vi c2NyaWJlciBzb29uIHRvIGF2b2lkIHJldGVudGlvbiBvZiBXQUwgZmlsZXMuIik7CisJCX0K KworCQlQUWNsZWFyKHJlcyk7CisJCWRpc2Nvbm5lY3RfZGF0YWJhc2UoY29ubiwgZmFsc2Up OworCX0KKwllbHNlCisJeworCQlwZ19sb2dfd2FybmluZygiY291bGQgbm90IGRyb3AgZmFp bG92ZXIgcmVwbGljYXRpb24gc2xvdCIpOworCQlwZ19sb2dfd2FybmluZ19oaW50KCJEcm9w IHRoZSBmYWlsb3ZlciByZXBsaWNhdGlvbiBzbG90cyBvbiBzdWJzY3JpYmVyIHNvb24gdG8g YXZvaWQgcmV0ZW50aW9uIG9mIFdBTCBmaWxlcy4iKTsKKwl9Cit9CisKIC8qCiAgKiBDcmVh dGUgYSBsb2dpY2FsIHJlcGxpY2F0aW9uIHNsb3QgYW5kIHJldHVybnMgYSBMU04uCiAgKgpA QCAtMTMwOSw3ICsxMzUzLDcgQEAgc3RhcnRfc3RhbmRieV9zZXJ2ZXIoY29uc3Qgc3RydWN0 IENyZWF0ZVN1YnNjcmliZXJPcHRpb25zICpvcHQsIGJvb2wgcmVzdHJpY3RlZF8KIAlQUUV4 cEJ1ZmZlciBwZ19jdGxfY21kID0gY3JlYXRlUFFFeHBCdWZmZXIoKTsKIAlpbnQJCQlyYzsK IAotCWFwcGVuZFBRRXhwQnVmZmVyKHBnX2N0bF9jbWQsICJcIiVzXCIgc3RhcnQgLUQgXCIl c1wiIC1zIiwKKwlhcHBlbmRQUUV4cEJ1ZmZlcihwZ19jdGxfY21kLCAiXCIlc1wiIHN0YXJ0 IC1EIFwiJXNcIiAtcyAtbyBcIi1jIHN5bmNfcmVwbGljYXRpb25fc2xvdHM9b2ZmXCIiLAog CQkJCQkgIHBnX2N0bF9wYXRoLCBzdWJzY3JpYmVyX2Rpcik7CiAJaWYgKHJlc3RyaWN0ZWRf YWNjZXNzKQogCXsKQEAgLTIxMTEsNiArMjE1NSw5IEBAIG1haW4oaW50IGFyZ2MsIGNoYXIg Kiphcmd2KQogCS8qIFJlbW92ZSBwcmltYXJ5X3Nsb3RfbmFtZSBpZiBpdCBleGlzdHMgb24g cHJpbWFyeSAqLwogCWRyb3BfcHJpbWFyeV9yZXBsaWNhdGlvbl9zbG90KGRiaW5mbywgcHJp bWFyeV9zbG90X25hbWUpOwogCisJLyogUmVtb3ZlIGZhaWxvdmVyICByZXBsaWNhdGlvbiBz bG90cyBpZiBpdCBleGlzdHMgb24gc3Vic2NyaWJlciAqLworCWRyb3BfZmFpbG92ZXJfcmVw bGljYXRpb25fc2xvdHMoZGJpbmZvKTsKKwogCS8qIFN0b3AgdGhlIHN1YnNjcmliZXIgKi8K IAlwZ19sb2dfaW5mbygic3RvcHBpbmcgdGhlIHN1YnNjcmliZXIiKTsKIAlzdG9wX3N0YW5k Ynlfc2VydmVyKHN1YnNjcmliZXJfZGlyKTsKZGlmZiAtLWdpdCBhL3NyYy9iaW4vcGdfYmFz ZWJhY2t1cC90LzA0MF9wZ19jcmVhdGVzdWJzY3JpYmVyLnBsIGIvc3JjL2Jpbi9wZ19iYXNl YmFja3VwL3QvMDQwX3BnX2NyZWF0ZXN1YnNjcmliZXIucGwKaW5kZXggYTY3N2ZlZmE5NC4u MDUxNmQ0ZTE3ZSAxMDA2NDQKLS0tIGEvc3JjL2Jpbi9wZ19iYXNlYmFja3VwL3QvMDQwX3Bn X2NyZWF0ZXN1YnNjcmliZXIucGwKKysrIGIvc3JjL2Jpbi9wZ19iYXNlYmFja3VwL3QvMDQw X3BnX2NyZWF0ZXN1YnNjcmliZXIucGwKQEAgLTg4LDYgKzg4LDcgQEAgY29tbWFuZF9mYWls cygKIAogIyBTZXQgdXAgbm9kZSBQIGFzIHByaW1hcnkKIG15ICRub2RlX3AgPSBQb3N0Z3Jl U1FMOjpUZXN0OjpDbHVzdGVyLT5uZXcoJ25vZGVfcCcpOworbXkgJHBjb25uc3RyID0gJG5v ZGVfcC0+Y29ubnN0cjsKICRub2RlX3AtPmluaXQoYWxsb3dzX3N0cmVhbWluZyA9PiAnbG9n aWNhbCcpOwogJG5vZGVfcC0+c3RhcnQ7CiAKQEAgLTEyMiw2ICsxMjMsOCBAQCAkbm9kZV9z LT5pbml0X2Zyb21fYmFja3VwKCRub2RlX3AsICdiYWNrdXBfMScsIGhhc19zdHJlYW1pbmcg PT4gMSk7CiAkbm9kZV9zLT5hcHBlbmRfY29uZigKIAkncG9zdGdyZXNxbC5jb25mJywgcXFb CiBwcmltYXJ5X3Nsb3RfbmFtZSA9ICckc2xvdG5hbWUnCitwcmltYXJ5X2Nvbm5pbmZvID0g JyRwY29ubnN0ciBkYm5hbWU9cG9zdGdyZXMnCitob3Rfc3RhbmRieV9mZWVkYmFjayA9IG9u CiBdKTsKICRub2RlX3MtPnNldF9zdGFuZGJ5X21vZGUoKTsKICRub2RlX3MtPnN0YXJ0OwpA QCAtMjYwLDYgKzI2MywxNiBAQCBtYXhfd29ya2VyX3Byb2Nlc3NlcyA9IDgKICMgUmVzdG9y ZSBkZWZhdWx0IHNldHRpbmdzIG9uIGJvdGggc2VydmVycwogJG5vZGVfcC0+cmVzdGFydDsK IAorIyBDcmVhdGUgZmFpbG92ZXIgc2xvdCB0byB0ZXN0IGl0cyByZW1vdmFsCitteSAkZnNs b3RuYW1lID0gJ2ZhaWxvdmVyX3Nsb3QnOworJG5vZGVfcC0+c2FmZV9wc3FsKCdwZzEnLAor CSJTRUxFQ1QgcGdfY3JlYXRlX2xvZ2ljYWxfcmVwbGljYXRpb25fc2xvdCgnJGZzbG90bmFt ZScsICdwZ291dHB1dCcsIGZhbHNlLCBmYWxzZSwgdHJ1ZSkiKTsKKyRub2RlX3MtPnN0YXJ0 OworJG5vZGVfcy0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsICJTRUxFQ1QgcGdfc3luY19yZXBs aWNhdGlvbl9zbG90cygpIik7CitteSAkcmVzdWx0ID0gJG5vZGVfcy0+c2FmZV9wc3FsKCdw b3N0Z3JlcycsICJTRUxFQ1Qgc2xvdF9uYW1lIEZST00gcGdfcmVwbGljYXRpb25fc2xvdHMg V0hFUkUgc2xvdF9uYW1lID0gJyRmc2xvdG5hbWUnIEFORCBzeW5jZWQgQU5EIE5PVCB0ZW1w b3JhcnkiKTsKK2lzKCRyZXN1bHQsICdmYWlsb3Zlcl9zbG90JywgJ2ZhaWxvdmVyIHNsb3Qg aXMgc3luY2VkJyk7Ciskbm9kZV9zLT5zdG9wOworCiAjIGRyeSBydW4gbW9kZSBvbiBub2Rl IFMKIGNvbW1hbmRfb2soCiAJWwpAQCAtMzE4LDcgKzMzMSw3IEBAIGNvbW1hbmRfb2soCiAJ J3J1biBwZ19jcmVhdGVzdWJzY3JpYmVyIG9uIG5vZGUgUycpOwogCiAjIENvbmZpcm0gdGhl IHBoeXNpY2FsIHJlcGxpY2F0aW9uIHNsb3QgaGFzIGJlZW4gcmVtb3ZlZAotbXkgJHJlc3Vs dCA9ICRub2RlX3AtPnNhZmVfcHNxbCgncGcxJywKKyRyZXN1bHQgPSAkbm9kZV9wLT5zYWZl X3BzcWwoJ3BnMScsCiAJIlNFTEVDVCBjb3VudCgqKSBGUk9NIHBnX3JlcGxpY2F0aW9uX3Ns b3RzIFdIRVJFIHNsb3RfbmFtZSA9ICckc2xvdG5hbWUnIgogKTsKIGlzKCRyZXN1bHQsIHFx KDApLApAQCAtMzQzLDYgKzM1NiwxMSBAQCBteSBAc3VibmFtZXMgPSBzcGxpdCgiXG4iLCAk cmVzdWx0KTsKICRub2RlX3MtPndhaXRfZm9yX3N1YnNjcmlwdGlvbl9zeW5jKCRub2RlX3As ICRzdWJuYW1lc1swXSk7CiAkbm9kZV9zLT53YWl0X2Zvcl9zdWJzY3JpcHRpb25fc3luYygk bm9kZV9wLCAkc3VibmFtZXNbMV0pOwogCisjIENvbmZpcm0gdGhlIGZhaWxvdmVyIHNsb3Qg aGFzIGJlZW4gcmVtb3ZlZAorJHJlc3VsdCA9ICRub2RlX3MtPnNhZmVfcHNxbCgncGcxJywK KwkiU0VMRUNUIGNvdW50KCopIEZST00gcGdfcmVwbGljYXRpb25fc2xvdHMgV0hFUkUgc2xv dF9uYW1lID0gJyRmc2xvdG5hbWUnIik7CitpcygkcmVzdWx0LCBxcSgwKSwgJ2ZhaWxvdmVy IHNsb3Qgd2FzIHJlbW92ZWQnKTsKKwogIyBDaGVjayByZXN1bHQgb24gZGF0YWJhc2UgcGcx CiAkcmVzdWx0ID0gJG5vZGVfcy0+c2FmZV9wc3FsKCdwZzEnLCAnU0VMRUNUICogRlJPTSB0 YmwxJyk7CiBpcyggJHJlc3VsdCwgcXEoZmlyc3Qgcm93Ci0tIAoyLjMwLjIKCg== --ed3bb7e555584b148cef31435347c481 Content-Disposition: attachment; filename*0="0003-Remove-replication-slot-check-on-primary.patch" Content-Type: text/x-patch; name="=?UTF-8?Q?0003-Remove-replication-slot-check-on-primary.patch?=" Content-Transfer-Encoding: BASE64 RnJvbSBmMDg1ZmJlZjRlY2QzMWFlZDQ3MGQ4NThlNTdlOWVhM2I4MDE0NDkzIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBFdWxlciBUYXZlaXJhIDxldWxlci50YXZlaXJhQGVu dGVycHJpc2VkYi5jb20+CkRhdGU6IEZyaSwgMjQgTWF5IDIwMjQgMTQ6MTg6MTUgLTAzMDAK U3ViamVjdDogW1BBVENIIDMvNF0gUmVtb3ZlIHJlcGxpY2F0aW9uIHNsb3QgY2hlY2sgb24g cHJpbWFyeQoKSXQgdXNlZCB0byBjaGVjayBpZiB0aGUgcmVwbGljYXRpb24gc2xvdCBleGlz dHMgYW5kIGlzIGFjdGl2ZSBvbgpwcmltYXJ5LiBUaGlzIGNoZWNrIG1pZ2h0IGZhaWwgb24g c2xvdyBob3N0cyBiZWNhdXNlIHRoZSByZXBsaWNhdGlvbgpzbG90IG1pZ2h0IG5vdCBiZSBh Y3RpdmUgYXQgdGhlIHRpbWUgb2YgdGhpcyBjaGVjay4KClRoZSBjdXJyZW50IGNvZGUgb2J0 YWlucyB0aGUgcmVwbGljYXRpb24gc2xvdCBuYW1lIGZyb20gdGhlCnByaW1hcnlfc2xvdF9u YW1lIG9uIHN0YW5kYnkgYW5kIGFzc3VtZXMgdGhlIHJlcGxpY2F0aW9uIHNsb3QgZXhpc3Rz IGFuZAppcyBhY3RpdmUgb24gcHJpbWFyeS4gSWYgaXQgZG9lc24ndCBleGlzdCwgdGhpcyB0 b29sIHdpbGwgbG9nIGFuIGVycm9yCmFuZCBjb250aW51ZS4KLS0tCiBzcmMvYmluL3BnX2Jh c2ViYWNrdXAvcGdfY3JlYXRlc3Vic2NyaWJlci5jIHwgNTMgKystLS0tLS0tLS0tLS0tLS0t LS0tCiAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCA0OCBkZWxldGlvbnMoLSkK CmRpZmYgLS1naXQgYS9zcmMvYmluL3BnX2Jhc2ViYWNrdXAvcGdfY3JlYXRlc3Vic2NyaWJl ci5jIGIvc3JjL2Jpbi9wZ19iYXNlYmFja3VwL3BnX2NyZWF0ZXN1YnNjcmliZXIuYwppbmRl eCBiNDIxNjBjNmM2Li42ZDUxMjdjNDVlIDEwMDY0NAotLS0gYS9zcmMvYmluL3BnX2Jhc2Vi YWNrdXAvcGdfY3JlYXRlc3Vic2NyaWJlci5jCisrKyBiL3NyYy9iaW4vcGdfYmFzZWJhY2t1 cC9wZ19jcmVhdGVzdWJzY3JpYmVyLmMKQEAgLTg4MCw0NyArODgwLDYgQEAgY2hlY2tfcHVi bGlzaGVyKGNvbnN0IHN0cnVjdCBMb2dpY2FsUmVwSW5mbyAqZGJpbmZvKQogCXBnX2xvZ19k ZWJ1ZygicHVibGlzaGVyOiBtYXhfd2FsX3NlbmRlcnM6ICVkIiwgbWF4X3dhbHNlbmRlcnMp OwogCXBnX2xvZ19kZWJ1ZygicHVibGlzaGVyOiBjdXJyZW50IHdhbCBzZW5kZXJzOiAlZCIs IGN1cl93YWxzZW5kZXJzKTsKIAotCS8qCi0JICogSWYgc3RhbmRieSBzZXRzIHByaW1hcnlf c2xvdF9uYW1lLCBjaGVjayBpZiB0aGlzIHJlcGxpY2F0aW9uIHNsb3QgaXMgaW4KLQkgKiB1 c2Ugb24gcHJpbWFyeSBmb3IgV0FMIHJldGVudGlvbiBwdXJwb3Nlcy4gVGhpcyByZXBsaWNh dGlvbiBzbG90IGhhcyBubwotCSAqIHVzZSBhZnRlciB0aGUgdHJhbnNmb3JtYXRpb24sIGhl bmNlLCBpdCB3aWxsIGJlIHJlbW92ZWQgYXQgdGhlIGVuZCBvZgotCSAqIHRoaXMgcHJvY2Vz cy4KLQkgKi8KLQlpZiAocHJpbWFyeV9zbG90X25hbWUpCi0JewotCQlQUUV4cEJ1ZmZlciBz dHIgPSBjcmVhdGVQUUV4cEJ1ZmZlcigpOwotCQljaGFyCSAgICpwc25fZXNjID0gUFFlc2Nh cGVMaXRlcmFsKGNvbm4sIHByaW1hcnlfc2xvdF9uYW1lLCBzdHJsZW4ocHJpbWFyeV9zbG90 X25hbWUpKTsKLQotCQlhcHBlbmRQUUV4cEJ1ZmZlcihzdHIsCi0JCQkJCQkgICJTRUxFQ1Qg MSBGUk9NIHBnX2NhdGFsb2cucGdfcmVwbGljYXRpb25fc2xvdHMgIgotCQkJCQkJICAiV0hF UkUgYWN0aXZlIEFORCBzbG90X25hbWUgPSAlcyIsCi0JCQkJCQkgIHBzbl9lc2MpOwotCi0J CXBnX2ZyZWUocHNuX2VzYyk7Ci0KLQkJcGdfbG9nX2RlYnVnKCJjb21tYW5kIGlzOiAlcyIs IHN0ci0+ZGF0YSk7Ci0KLQkJcmVzID0gUFFleGVjKGNvbm4sIHN0ci0+ZGF0YSk7Ci0JCWlm IChQUXJlc3VsdFN0YXR1cyhyZXMpICE9IFBHUkVTX1RVUExFU19PSykKLQkJewotCQkJcGdf bG9nX2Vycm9yKCJjb3VsZCBub3Qgb2J0YWluIHJlcGxpY2F0aW9uIHNsb3QgaW5mb3JtYXRp b246ICVzIiwKLQkJCQkJCSBQUXJlc3VsdEVycm9yTWVzc2FnZShyZXMpKTsKLQkJCWRpc2Nv bm5lY3RfZGF0YWJhc2UoY29ubiwgdHJ1ZSk7Ci0JCX0KLQotCQlpZiAoUFFudHVwbGVzKHJl cykgIT0gMSkKLQkJewotCQkJcGdfbG9nX2Vycm9yKCJjb3VsZCBub3Qgb2J0YWluIHJlcGxp Y2F0aW9uIHNsb3QgaW5mb3JtYXRpb246IGdvdCAlZCByb3dzLCBleHBlY3RlZCAlZCByb3ci LAotCQkJCQkJIFBRbnR1cGxlcyhyZXMpLCAxKTsKLQkJCWRpc2Nvbm5lY3RfZGF0YWJhc2Uo Y29ubiwgdHJ1ZSk7Ci0JCX0KLQkJZWxzZQotCQkJcGdfbG9nX2luZm8oInByaW1hcnkgaGFz IHJlcGxpY2F0aW9uIHNsb3QgXCIlc1wiIiwKLQkJCQkJCXByaW1hcnlfc2xvdF9uYW1lKTsK LQotCQlQUWNsZWFyKHJlcyk7Ci0JfQotCiAJZGlzY29ubmVjdF9kYXRhYmFzZShjb25uLCBm YWxzZSk7CiAKIAlpZiAoc3RyY21wKHdhbF9sZXZlbCwgImxvZ2ljYWwiKSAhPSAwKQpAQCAt MjEwNSwxMiArMjA2NCw3IEBAIG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogCS8qIENo ZWNrIGlmIHRoZSBzdGFuZGJ5IHNlcnZlciBpcyByZWFkeSBmb3IgbG9naWNhbCByZXBsaWNh dGlvbiAqLwogCWNoZWNrX3N1YnNjcmliZXIoZGJpbmZvKTsKIAotCS8qCi0JICogQ2hlY2sg aWYgdGhlIHByaW1hcnkgc2VydmVyIGlzIHJlYWR5IGZvciBsb2dpY2FsIHJlcGxpY2F0aW9u LiBUaGlzCi0JICogcm91dGluZSBjaGVja3MgaWYgYSByZXBsaWNhdGlvbiBzbG90IGlzIGlu IHVzZSBvbiBwcmltYXJ5IHNvIGl0IHJlbGllcwotCSAqIG9uIGNoZWNrX3N1YnNjcmliZXIo KSB0byBvYnRhaW4gdGhlIHByaW1hcnlfc2xvdF9uYW1lLiBUaGF0J3Mgd2h5IGl0IGlzCi0J ICogY2FsbGVkIGFmdGVyIGl0LgotCSAqLworCS8qIENoZWNrIGlmIHRoZSBwcmltYXJ5IHNl cnZlciBpcyByZWFkeSBmb3IgbG9naWNhbCByZXBsaWNhdGlvbiAqLwogCWNoZWNrX3B1Ymxp c2hlcihkYmluZm8pOwogCiAJLyoKQEAgLTIxNTIsNyArMjEwNiwxMCBAQCBtYWluKGludCBh cmdjLCBjaGFyICoqYXJndikKIAkgKi8KIAlzZXR1cF9zdWJzY3JpYmVyKGRiaW5mbywgY29u c2lzdGVudF9sc24pOwogCi0JLyogUmVtb3ZlIHByaW1hcnlfc2xvdF9uYW1lIGlmIGl0IGV4 aXN0cyBvbiBwcmltYXJ5ICovCisJLyoKKwkgKiBSZW1vdmUgcHJpbWFyeV9zbG90X25hbWUg aWYgaXQgZXhpc3RzIG9uIHByaW1hcnkuICBUaGlzIHJlcGxpY2F0aW9uIHNsb3QKKwkgKiBo YXMgbm8gdXNlIGFmdGVyIHRoZSB0cmFuc2Zvcm1hdGlvbi4KKwkgKi8KIAlkcm9wX3ByaW1h cnlfcmVwbGljYXRpb25fc2xvdChkYmluZm8sIHByaW1hcnlfc2xvdF9uYW1lKTsKIAogCS8q IFJlbW92ZSBmYWlsb3ZlciAgcmVwbGljYXRpb24gc2xvdHMgaWYgaXQgZXhpc3RzIG9uIHN1 YnNjcmliZXIgKi8KLS0gCjIuMzAuMgoK --ed3bb7e555584b148cef31435347c481 Content-Disposition: attachment; filename*0="0004-Check-both-servers-before-exiting.patch" Content-Type: text/x-patch; name="0004-Check-both-servers-before-exiting.patch" Content-Transfer-Encoding: BASE64 RnJvbSBhNGYxMGM4NDlmNzU4NGM0ZmIxMjAwNWNlYzA0YjVkMDk3MDE3NTJmIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBFdWxlciBUYXZlaXJhIDxldWxlci50YXZlaXJhQGVu dGVycHJpc2VkYi5jb20+CkRhdGU6IEZyaSwgMjQgTWF5IDIwMjQgMTQ6Mjk6MDYgLTAzMDAK U3ViamVjdDogW1BBVENIIDQvNF0gQ2hlY2sgYm90aCBzZXJ2ZXJzIGJlZm9yZSBleGl0aW5n CgpUaGUgY3VycmVudCBjb2RlIHByb3ZpZGVzIG11bHRpcGxlIGVycm9ycyBmb3IgZWFjaCBz ZXJ2ZXIuIElmIGFueQpzdWJzY3JpYmVyIGNvbmRpdGlvbiBpcyBub3QgbWV0LCBpdCB0ZXJt aW5hdGVzIHdpdGhvdXQgY2hlY2tpbmcgdGhlCnB1Ymxpc2hlciBjb25kaXRpb25zLgpUaGlz IGNoYW5nZSBhbGxvd3MgaXQgdG8gY2hlY2sgYm90aCBzZXJ2ZXJzIGJlZm9yZSB0ZXJtaW5h dGluZyBpZiBhbnkKY29uZGl0aW9uIGlzIG5vdCBtZXQuIEl0IHNhdmVzIGF0IGxlYXN0IG9u ZSBkcnkgcnVuIGV4ZWN1dGlvbi4KLS0tCiBzcmMvYmluL3BnX2Jhc2ViYWNrdXAvcGdfY3Jl YXRlc3Vic2NyaWJlci5jIHwgMjQgKysrKysrKysrKysrLS0tLS0tLS0tCiAxIGZpbGUgY2hh bmdlZCwgMTQgaW5zZXJ0aW9ucygrKSwgMTAgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv c3JjL2Jpbi9wZ19iYXNlYmFja3VwL3BnX2NyZWF0ZXN1YnNjcmliZXIuYyBiL3NyYy9iaW4v cGdfYmFzZWJhY2t1cC9wZ19jcmVhdGVzdWJzY3JpYmVyLmMKaW5kZXggNmQ1MTI3YzQ1ZS4u YjAyMzM3ODZkNCAxMDA2NDQKLS0tIGEvc3JjL2Jpbi9wZ19iYXNlYmFja3VwL3BnX2NyZWF0 ZXN1YnNjcmliZXIuYworKysgYi9zcmMvYmluL3BnX2Jhc2ViYWNrdXAvcGdfY3JlYXRlc3Vi c2NyaWJlci5jCkBAIC03Niw5ICs3Niw5IEBAIHN0YXRpYyB1aW50NjQgZ2V0X3N0YW5kYnlf c3lzaWQoY29uc3QgY2hhciAqZGF0YWRpcik7CiBzdGF0aWMgdm9pZCBtb2RpZnlfc3Vic2Ny aWJlcl9zeXNpZChjb25zdCBzdHJ1Y3QgQ3JlYXRlU3Vic2NyaWJlck9wdGlvbnMgKm9wdCk7 CiBzdGF0aWMgYm9vbCBzZXJ2ZXJfaXNfaW5fcmVjb3ZlcnkoUEdjb25uICpjb25uKTsKIHN0 YXRpYyBjaGFyICpnZW5lcmF0ZV9vYmplY3RfbmFtZShQR2Nvbm4gKmNvbm4pOwotc3RhdGlj IHZvaWQgY2hlY2tfcHVibGlzaGVyKGNvbnN0IHN0cnVjdCBMb2dpY2FsUmVwSW5mbyAqZGJp bmZvKTsKK3N0YXRpYyBib29sIGNoZWNrX3B1Ymxpc2hlcihjb25zdCBzdHJ1Y3QgTG9naWNh bFJlcEluZm8gKmRiaW5mbyk7CiBzdGF0aWMgY2hhciAqc2V0dXBfcHVibGlzaGVyKHN0cnVj dCBMb2dpY2FsUmVwSW5mbyAqZGJpbmZvKTsKLXN0YXRpYyB2b2lkIGNoZWNrX3N1YnNjcmli ZXIoY29uc3Qgc3RydWN0IExvZ2ljYWxSZXBJbmZvICpkYmluZm8pOworc3RhdGljIGJvb2wg Y2hlY2tfc3Vic2NyaWJlcihjb25zdCBzdHJ1Y3QgTG9naWNhbFJlcEluZm8gKmRiaW5mbyk7 CiBzdGF0aWMgdm9pZCBzZXR1cF9zdWJzY3JpYmVyKHN0cnVjdCBMb2dpY2FsUmVwSW5mbyAq ZGJpbmZvLAogCQkJCQkJCSBjb25zdCBjaGFyICpjb25zaXN0ZW50X2xzbik7CiBzdGF0aWMg dm9pZCBzZXR1cF9yZWNvdmVyeShjb25zdCBzdHJ1Y3QgTG9naWNhbFJlcEluZm8gKmRiaW5m bywgY29uc3QgY2hhciAqZGF0YWRpciwKQEAgLTgwMyw3ICs4MDMsNyBAQCBzZXJ2ZXJfaXNf aW5fcmVjb3ZlcnkoUEdjb25uICpjb25uKQogICoKICAqIFhYWCBEb2VzIGl0IG5vdCBhbGxv dyBhIHN5bmNocm9ub3VzIHJlcGxpY2E/CiAgKi8KLXN0YXRpYyB2b2lkCitzdGF0aWMgYm9v bAogY2hlY2tfcHVibGlzaGVyKGNvbnN0IHN0cnVjdCBMb2dpY2FsUmVwSW5mbyAqZGJpbmZv KQogewogCVBHY29ubgkgICAqY29ubjsKQEAgLTkwOCw4ICs5MDgsNyBAQCBjaGVja19wdWJs aXNoZXIoY29uc3Qgc3RydWN0IExvZ2ljYWxSZXBJbmZvICpkYmluZm8pCiAKIAlwZ19mcmVl KHdhbF9sZXZlbCk7CiAKLQlpZiAoZmFpbGVkKQotCQlleGl0KDEpOworCXJldHVybiBmYWls ZWQ7CiB9CiAKIC8qCkBAIC05MjMsNyArOTIyLDcgQEAgY2hlY2tfcHVibGlzaGVyKGNvbnN0 IHN0cnVjdCBMb2dpY2FsUmVwSW5mbyAqZGJpbmZvKQogICogdGhlcmUgaXMgbm90IGEgcmVs aWFibGUgd2F5IHRvIHByb3ZpZGUgYSBzdWl0YWJsZSBlcnJvciBzYXlpbmcgdGhlIHNlcnZl ciBDCiAgKiB3aWxsIGJlIGJyb2tlbiBhdCB0aGUgZW5kIG9mIHRoaXMgcHJvY2VzcyAoZHVl IHRvIHBnX3Jlc2V0d2FsKS4KICAqLwotc3RhdGljIHZvaWQKK3N0YXRpYyBib29sCiBjaGVj a19zdWJzY3JpYmVyKGNvbnN0IHN0cnVjdCBMb2dpY2FsUmVwSW5mbyAqZGJpbmZvKQogewog CVBHY29ubgkgICAqY29ubjsKQEAgLTEwMTQsOCArMTAxMyw3IEBAIGNoZWNrX3N1YnNjcmli ZXIoY29uc3Qgc3RydWN0IExvZ2ljYWxSZXBJbmZvICpkYmluZm8pCiAJCWZhaWxlZCA9IHRy dWU7CiAJfQogCi0JaWYgKGZhaWxlZCkKLQkJZXhpdCgxKTsKKwlyZXR1cm4gZmFpbGVkOwog fQogCiAvKgpAQCAtMTc3MSw2ICsxNzY5LDkgQEAgbWFpbihpbnQgYXJnYywgY2hhciAqKmFy Z3YpCiAKIAljaGFyCQlwaWRmaWxlW01BWFBHUEFUSF07CiAKKwlib29sCQlwdWJfZmFpbGVk ID0gZmFsc2U7CisJYm9vbAkJc3ViX2ZhaWxlZCA9IGZhbHNlOworCiAJcGdfbG9nZ2luZ19p bml0KGFyZ3ZbMF0pOwogCXBnX2xvZ2dpbmdfc2V0X2xldmVsKFBHX0xPR19XQVJOSU5HKTsK IAlwcm9nbmFtZSA9IGdldF9wcm9nbmFtZShhcmd2WzBdKTsKQEAgLTIwNjIsMTAgKzIwNjMs MTMgQEAgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCiAJc3RhcnRfc3RhbmRieV9zZXJ2 ZXIoJm9wdCwgdHJ1ZSk7CiAKIAkvKiBDaGVjayBpZiB0aGUgc3RhbmRieSBzZXJ2ZXIgaXMg cmVhZHkgZm9yIGxvZ2ljYWwgcmVwbGljYXRpb24gKi8KLQljaGVja19zdWJzY3JpYmVyKGRi aW5mbyk7CisJc3ViX2ZhaWxlZCA9IGNoZWNrX3N1YnNjcmliZXIoZGJpbmZvKTsKIAogCS8q IENoZWNrIGlmIHRoZSBwcmltYXJ5IHNlcnZlciBpcyByZWFkeSBmb3IgbG9naWNhbCByZXBs aWNhdGlvbiAqLwotCWNoZWNrX3B1Ymxpc2hlcihkYmluZm8pOworCXB1Yl9mYWlsZWQgPSBj aGVja19wdWJsaXNoZXIoZGJpbmZvKTsKKworCWlmIChwdWJfZmFpbGVkIHx8IHN1Yl9mYWls ZWQpCisJCWV4aXQoMSk7CiAKIAkvKgogCSAqIFN0b3AgdGhlIHRhcmdldCBzZXJ2ZXIuIFRo ZSByZWNvdmVyeSBwcm9jZXNzIHJlcXVpcmVzIHRoYXQgdGhlIHNlcnZlcgotLSAKMi4zMC4y Cgo= --ed3bb7e555584b148cef31435347c481--