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 1nAa9S-0000Ta-VP for pgsql-hackers@arkaria.postgresql.org; Thu, 20 Jan 2022 16:19:07 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1nAa9R-0000Xw-3R for pgsql-hackers@arkaria.postgresql.org; Thu, 20 Jan 2022 16:19:05 +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 1nAa9P-0000Xh-Ic for pgsql-hackers@lists.postgresql.org; Thu, 20 Jan 2022 16:19:04 +0000 Received: from out2-smtp.messagingengine.com ([66.111.4.26]) by magus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1nAa9K-0005tv-1o for pgsql-hackers@postgresql.org; Thu, 20 Jan 2022 16:19:03 +0000 Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id BC6585C026F; Thu, 20 Jan 2022 11:18:54 -0500 (EST) Received: from mailfrontend1 ([10.202.2.162]) by compute1.internal (MEProxy); Thu, 20 Jan 2022 11:18:54 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-type:date:date:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm1; bh=zImEk02UCncb9Ank7 WT5trDYGpBjDiARPG50CgDzwuE=; b=KAUrrTYYVlWvrFCrfQLIRs0G+cEG39NVz lhgfgNoEhukij4lqIiqjzAOq8IlBt0GEfY/x/t+FBjULQnGWSSMb2WVFEbAUVUM2 07OkwR5Z7zaST9zGFa8+GEub1hmpr3/QgOEe3+PorwRXV9KEQ3ygwl6lP7h7CpJp CaBcehde/Yx2F4tInmao7ADfvRprYEwXjSeMffTQo/y38R4HKZ+yGSKyJE2MgpDV XYNtjMrGCJleIM0/DaKwdtB6agdMzYf1hJxtBhJw6MfC/9QAKTzhqBLJMAXwZAdJ lFZ3PA6BJ3zaSAwoukT4sD3QN5/mXoC/EXxgTlwe29uuUwOss21/g== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvvddrudekgdekhecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc fjughrpegtkfffgggfuffvfhfhjgesmhdtreertdefjeenucfhrhhomheprfgvthgvrhcu gfhishgvnhhtrhgruhhtuceophgvthgvrhdrvghishgvnhhtrhgruhhtsegvnhhtvghrph hrihhsvggusgdrtghomheqnecuggftrfgrthhtvghrnhepuddtveeltdevvdetuddvfedv hfeiteekledvhffhjeefjedvueejgeegfedugedtnecuvehluhhsthgvrhfuihiivgeptd enucfrrghrrghmpehmrghilhhfrhhomhepphgvthgvrhdrvghishgvnhhtrhgruhhtsegv nhhtvghrphhrihhsvggusgdrtghomh X-ME-Proxy: Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu, 20 Jan 2022 11:18:52 -0500 (EST) Content-Type: multipart/mixed; boundary="------------SS63cfJUj4f0z5QFTq1oHMPg" Message-ID: <09b80566-c790-704b-35b4-33f87befc41f@enterprisedb.com> Date: Thu, 20 Jan 2022 17:18:51 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0) Gecko/20100101 Thunderbird/91.5.0 Subject: Re: Skipping logical replication transactions on subscriber side Content-Language: en-US To: Masahiko Sawada Cc: "tanghy.fnst@fujitsu.com" , Amit Kapila , vignesh C , Greg Nancarrow , "houzj.fnst@fujitsu.com" , Alexey Lesovsky , PostgreSQL-development , "osumi.takamichi@fujitsu.com" References: From: Peter Eisentraut In-Reply-To: List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk This is a multi-part message in MIME format. --------------SS63cfJUj4f0z5QFTq1oHMPg Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 18.01.22 07:05, Masahiko Sawada wrote: > I've attached a rebased patch. I think this is now almost done. Attached I have a small fixup patch with some documentation proof-reading, and removing some comments I felt are redundant. Some others have also sent you some documentation updates, so feel free to merge mine in with them. Some other comments: parse_subscription_options() and AlterSubscriptionStmt mixes regular options and skip options in ways that confuse me. It seems to work correctly, though. I guess for now it's okay, but if we add more skip options, it might be better to separate those more cleanly. I think the superuser check in AlterSubscription() might no longer be appropriate. Subscriptions can now be owned by non-superusers. Please check that. The display order in psql \dRs+ is a bit odd. I would put it at the end, certainly not between Two phase commit and Synchronous commit. Please run pgperltidy over 028_skip_xact.pl. Is the setting of logical_decoding_work_mem in the test script required? If so, comment why. Please document arguments origin_lsn and origin_timestamp of stop_skipping_changes(). Otherwise, one has to dig quite deep to find out what they are for. This is all minor stuff, so I think when this and the nearby comments are addressed, this is fine by me. --------------SS63cfJUj4f0z5QFTq1oHMPg Content-Type: text/plain; charset=UTF-8; name="0001-fixup-Add-ALTER-SUBSCRIPTION-.-SKIP-to-skip-the-tran.patch" Content-Disposition: attachment; filename*0="0001-fixup-Add-ALTER-SUBSCRIPTION-.-SKIP-to-skip-the-tran.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSA3NTFiZTgyMTYzMTdmMWQ5OTZjN2I0ZjlmMGU5MTVhZGZmODA1NTY3IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRlciBFaXNlbnRyYXV0IDxwZXRlckBlaXNlbnRy YXV0Lm9yZz4KRGF0ZTogVGh1LCAyMCBKYW4gMjAyMiAxNzowMzoyNyArMDEwMApTdWJqZWN0 OiBbUEFUQ0hdIGZpeHVwISBBZGQgQUxURVIgU1VCU0NSSVBUSU9OIC4uLiBTS0lQIHRvIHNr aXAgdGhlCiB0cmFuc2FjdGlvbiBvbiBzdWJzY3JpYmVyIG5vZGVzCgotLS0KIGRvYy9zcmMv c2dtbC9sb2dpY2FsLXJlcGxpY2F0aW9uLnNnbWwgICAgICB8IDEyICsrKystLS0tLS0tLQog ZG9jL3NyYy9zZ21sL3JlZi9hbHRlcl9zdWJzY3JpcHRpb24uc2dtbCAgIHwgMTYgKysrKysr KystLS0tLS0tLQogc3JjL2JhY2tlbmQvY29tbWFuZHMvc3Vic2NyaXB0aW9uY21kcy5jICAg IHwgIDIgKy0KIHNyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvd29ya2VyLmMgICB8 ICA3IC0tLS0tLS0KIHNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvc3Vic2NyaXB0aW9uLm91 dCB8ICA2ICsrKy0tLQogc3JjL3Rlc3Qvc3Vic2NyaXB0aW9uL3QvMDI4X3NraXBfeGFjdC5w bCAgIHwgIDggKysrKystLS0KIDYgZmlsZXMgY2hhbmdlZCwgMjEgaW5zZXJ0aW9ucygrKSwg MzAgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL2xvZ2ljYWwtcmVw bGljYXRpb24uc2dtbCBiL2RvYy9zcmMvc2dtbC9sb2dpY2FsLXJlcGxpY2F0aW9uLnNnbWwK aW5kZXggZGU0ZjgzYmJjYy4uODczNTMwZGI5OSAxMDA2NDQKLS0tIGEvZG9jL3NyYy9zZ21s L2xvZ2ljYWwtcmVwbGljYXRpb24uc2dtbAorKysgYi9kb2Mvc3JjL3NnbWwvbG9naWNhbC1y ZXBsaWNhdGlvbi5zZ21sCkBAIC0zNTUsMTEgKzM1NSwxMCBAQCA8dGl0bGU+Q29uZmxpY3Rz PC90aXRsZT4KICAgIFRoZSByZXNvbHV0aW9uIGNhbiBiZSBkb25lIGVpdGhlciBieSBjaGFu Z2luZyBkYXRhIG9yIHBlcm1pc3Npb25zIG9uIHRoZSBzdWJzY3JpYmVyIHNvCiAgICB0aGF0 IGl0IGRvZXMgbm90IGNvbmZsaWN0IHdpdGggdGhlIGluY29taW5nIGNoYW5nZXMgb3IgYnkg c2tpcHBpbmcgdGhlCiAgICB0aGUgdHJhbnNhY3Rpb24gdGhhdCBjb25mbGljdHMgd2l0aCB0 aGUgZXhpc3RpbmcgZGF0YS4gIFdoZW4gYSBjb25mbGljdAotICAgcHJvZHVjZXMgYW4gZXJy b3IsIGl0IGlzIHNob3duIGluCisgICBwcm9kdWNlcyBhbiBlcnJvciwgaXQgaXMgc2hvd24g aW4gdGhlCiAgICA8c3RydWN0bmFtZT5wZ19zdGF0X3N1YnNjcmlwdGlvbl93b3JrZXJzPC9z dHJ1Y3RuYW1lPiB2aWV3IGFzIGZvbGxvd3M6Ci0gIDwvcGFyYT4KIAotICA8cHJvZ3JhbWxp c3Rpbmc+Cis8cHJvZ3JhbWxpc3Rpbmc+CiBwb3N0Z3Jlcz0jIFNFTEVDVCAqIEZST00gcGdf c3RhdF9zdWJzY3JpcHRpb25fd29ya2VyczsKIC1bIFJFQ09SRCAxIF0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K IHN1YmlkICAgICAgICAgICAgICB8IDE2MzkxCkBAIC0zNzMsOSArMzcyLDcgQEAgPHRpdGxl PkNvbmZsaWN0czwvdGl0bGU+CiBsYXN0X2Vycm9yX3RpbWUgICAgfCAyMDIxLTA5LTI5IDE1 OjUyOjQ1LjE2NTc1NCswMAogPC9wcm9ncmFtbGlzdGluZz4KIAotICA8cGFyYT4KICAgIGFu ZCBpdCBpcyBhbHNvIHNob3duIGluIHN1YnNjcmliZXIncyBzZXJ2ZXIgbG9nIGFzIGZvbGxv d3M6Ci0gIDwvcGFyYT4KIAogPHNjcmVlbj4KIEVSUk9SOiAgZHVwbGljYXRlIGtleSB2YWx1 ZSB2aW9sYXRlcyB1bmlxdWUgY29uc3RyYWludCAidGVzdF9wa2V5IgpAQCAtMzgzLDcgKzM4 MCw2IEBAIDx0aXRsZT5Db25mbGljdHM8L3RpdGxlPgogQ09OVEVYVDogIHByb2Nlc3Npbmcg cmVtb3RlIGRhdGEgZHVyaW5nICJJTlNFUlQiIGZvciByZXBsaWNhdGlvbiB0YXJnZXQgcmVs YXRpb24gInB1YmxpYy50ZXN0IiBpbiB0cmFuc2FjdGlvbiA3MTYgYXQgMjAyMS0wOS0yOSAx NTo1Mjo0NS4xNjU3NTQrMDAKIDwvc2NyZWVuPgogCi0gIDxwYXJhPgogICAgVGhlIHRyYW5z YWN0aW9uIElEIHRoYXQgY29udGFpbnMgdGhlIGNoYW5nZSB2aW9sYXRpbmcgdGhlIGNvbnN0 cmFpbnQgY2FuIGJlCiAgICBmb3VuZCBmcm9tIHRob3NlIG91dHB1dHMgKHRyYW5zYWN0aW9u IElEIDcxNiBpbiB0aGUgYWJvdmUgY2FzZSkuICBUaGUgdHJhbnNhY3Rpb24KICAgIGNhbiBi ZSBza2lwcGVkIGJ5IHVzaW5nIDxjb21tYW5kPkFMVEVSIFNVQlNDUklQVElPTiAuLi4gU0tJ UDwvY29tbWFuZD4gb24gdGhlCkBAIC00MDEsOSArMzk3LDkgQEAgPHRpdGxlPkNvbmZsaWN0 czwvdGl0bGU+CiAgICB0aGF0IGl0IGRvZXNuJ3QgY29uZmxpY3Qgd2l0aCBpbmNvbWluZyBj aGFuZ2VzLCBvciBkcm9wcGluZyB0aGUgY29uZmxpY3RpbmcgY29uc3RyYWludAogICAgb3Ig dW5pcXVlIGluZGV4LCBvciB3cml0aW5nIGEgdHJpZ2dlciBvbiB0aGUgc3Vic2NyaWJlciB0 byBzdXBwcmVzcyBvciByZWRpcmVjdAogICAgY29uZmxpY3RpbmcgaW5jb21pbmcgY2hhbmdl cywgb3IgYXMgYSBsYXN0IHJlc29ydCwgYnkgc2tpcHBpbmcgdGhlIHdob2xlIHRyYW5zYWN0 aW9uLgotICAgU2tpcHBpbmcgdGhlIHdob2xlIHRyYW5zYWN0aW9uIGluY2x1ZGVzIHNraXBw aW5nIGNoYW5nZXMgdGhhdCBtYXkgbm90IHZpb2xhdGUKKyAgIFNraXBwaW5nIHRoZSB3aG9s ZSB0cmFuc2FjdGlvbiBpbmNsdWRlcyBza2lwcGluZyBjaGFuZ2VzIHRoYXQgbWlnaHQgbm90 IHZpb2xhdGUKICAgIGFueSBjb25zdHJhaW50LiAgVGhpcyBjYW4gZWFzaWx5IG1ha2UgdGhl IHN1YnNjcmliZXIgaW5jb25zaXN0ZW50LCBlc3BlY2lhbGx5IGlmCi0gICBhIHVzZXIgc3Bl Y2lmaWVzIHRoZSB3cm9uZyB0cmFuc2FjdGlvbiBJRCBvciB0aGUgcG9zaXRpb24gb2Ygb3Jp Z2luLgorICAgYSB1c2VyIHNwZWNpZmllcyB0aGUgd3JvbmcgdHJhbnNhY3Rpb24gSUQgb3Ig dGhlIHdyb25nIHBvc2l0aW9uIG9mIG9yaWdpbi4KICAgPC9wYXJhPgogIDwvc2VjdDE+CiAK ZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9yZWYvYWx0ZXJfc3Vic2NyaXB0aW9uLnNnbWwg Yi9kb2Mvc3JjL3NnbWwvcmVmL2FsdGVyX3N1YnNjcmlwdGlvbi5zZ21sCmluZGV4IDhiNDU2 OGRkYWIuLjdlMGViNTU2NTMgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9yZWYvYWx0ZXJf c3Vic2NyaXB0aW9uLnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL3JlZi9hbHRlcl9zdWJzY3Jp cHRpb24uc2dtbApAQCAtMjEyLDE2ICsyMTIsMTYgQEAgPHRpdGxlPlBhcmFtZXRlcnM8L3Rp dGxlPgogICAgIDx0ZXJtPjxsaXRlcmFsPlNLSVAgKCA8cmVwbGFjZWFibGUgY2xhc3M9InBh cmFtZXRlciI+c2tpcF9vcHRpb248L3JlcGxhY2VhYmxlPiA9IDxyZXBsYWNlYWJsZSBjbGFz cz0icGFyYW1ldGVyIj52YWx1ZTwvcmVwbGFjZWFibGU+IFssIC4uLiBdICk8L2xpdGVyYWw+ PC90ZXJtPgogICAgIDxsaXN0aXRlbT4KICAgICAgPHBhcmE+Ci0gICAgICBTa2lwcyBhcHBs eWluZyBhbGwgY2hhbmdlcyBvZiB0aGUgc3BlY2lmaWVkIHRyYW5zYWN0aW9uLiAgSWYgaW5j b21pbmcgZGF0YQotICAgICAgdmlvbGF0ZXMgYW55IGNvbnN0cmFpbnRzLCB0aGUgbG9naWNh bCByZXBsaWNhdGlvbiB3aWxsIHN0b3AgdW50aWwgaXQgaXMKKyAgICAgIFNraXBzIGFwcGx5 aW5nIGFsbCBjaGFuZ2VzIG9mIHRoZSBzcGVjaWZpZWQgcmVtb3RlIHRyYW5zYWN0aW9uLiAg SWYgaW5jb21pbmcgZGF0YQorICAgICAgdmlvbGF0ZXMgYW55IGNvbnN0cmFpbnRzLCBsb2dp Y2FsIHJlcGxpY2F0aW9uIHdpbGwgc3RvcCB1bnRpbCBpdCBpcwogICAgICAgcmVzb2x2ZWQu ICBUaGUgcmVzb2x1dGlvbiBjYW4gYmUgZG9uZSBlaXRoZXIgYnkgY2hhbmdpbmcgZGF0YSBv biB0aGUKICAgICAgIHN1YnNjcmliZXIgc28gdGhhdCBpdCBkb2Vzbid0IGNvbmZsaWN0IHdp dGggaW5jb21pbmcgY2hhbmdlcyBvciBieSBza2lwcGluZwotICAgICAgdGhlIHdob2xlIHRy YW5zYWN0aW9uLiAgVXNpbmcgPGNvbW1hbmQ+IEFMVEVSIFNVQlNDUklQVElPTiAuLi4gU0tJ UCA8L2NvbW1hbmQ+CisgICAgICB0aGUgd2hvbGUgdHJhbnNhY3Rpb24uICBVc2luZyB0aGUg PGNvbW1hbmQ+QUxURVIgU1VCU0NSSVBUSU9OIC4uLiBTS0lQPC9jb21tYW5kPgogICAgICAg Y29tbWFuZCwgdGhlIGxvZ2ljYWwgcmVwbGljYXRpb24gd29ya2VyIHNraXBzIGFsbCBkYXRh IG1vZGlmaWNhdGlvbiBjaGFuZ2VzCi0gICAgICB3aXRoaW4gdGhlIHNwZWNpZmllZCB0cmFu c2FjdGlvbiBpbmNsdWRpbmcgY2hhbmdlcyB0aGF0IG1heSBub3QgdmlvbGF0ZQorICAgICAg d2l0aGluIHRoZSBzcGVjaWZpZWQgdHJhbnNhY3Rpb24sIGluY2x1ZGluZyBjaGFuZ2VzIHRo YXQgbWlnaHQgbm90IHZpb2xhdGUKICAgICAgIHRoZSBjb25zdHJhaW50LCBzbywgaXQgc2hv dWxkIG9ubHkgYmUgdXNlZCBhcyBhIGxhc3QgcmVzb3J0LiBUaGlzIG9wdGlvbiBoYXMKICAg ICAgIG5vIGVmZmVjdCBvbiB0aGUgdHJhbnNhY3Rpb25zIHRoYXQgYXJlIGFscmVhZHkgcHJl cGFyZWQgYnkgZW5hYmxpbmcKLSAgICAgIDxsaXRlcmFsPnR3b19waGFzZTwvbGl0ZXJhbD4g b24gc3Vic2NyaWJlci4gIEFmdGVyIHRoZSBsb2dpY2FsIHJlcGxpY2F0aW9uCisgICAgICA8 bGl0ZXJhbD50d29fcGhhc2U8L2xpdGVyYWw+IG9uIHN1YnNjcmliZXIuICBBZnRlciBsb2dp Y2FsIHJlcGxpY2F0aW9uCiAgICAgICBzdWNjZXNzZnVsbHkgc2tpcHMgdGhlIHRyYW5zYWN0 aW9uLCB0aGUgdHJhbnNhY3Rpb24gSUQgKHN0b3JlZCBpbgogICAgICAgPHN0cnVjdG5hbWU+ cGdfc3Vic2NyaXB0aW9uPC9zdHJ1Y3RuYW1lPi48c3RydWN0ZmllbGQ+c3Vic2tpcHhpZDwv c3RydWN0ZmllbGQ+KQogICAgICAgaXMgY2xlYXJlZC4gIFNlZSA8eHJlZiBsaW5rZW5kPSJs b2dpY2FsLXJlcGxpY2F0aW9uLWNvbmZsaWN0cyIvPiBmb3IKQEAgLTIzNyw5ICsyMzcsOSBA QCA8dGl0bGU+UGFyYW1ldGVyczwvdGl0bGU+CiAgICAgICAgIDx0ZXJtPjxsaXRlcmFsPnhp ZDwvbGl0ZXJhbD4gKDx0eXBlPnhpZDwvdHlwZT4pPC90ZXJtPgogICAgICAgICA8bGlzdGl0 ZW0+CiAgICAgICAgICA8cGFyYT4KLSAgICAgICAgICBTcGVjaWZpZXMgdGhlIElEIG9mIHRo ZSB0cmFuc2FjdGlvbiB3aG9zZSBjaGFuZ2VzIGFyZSB0byBiZSBza2lwcGVkCi0gICAgICAg ICAgYnkgdGhlIGxvZ2ljYWwgcmVwbGljYXRpb24gd29ya2VyLiAgV2UgZG9uJ3Qgc3VwcG9y dCBza2lwcGluZwotICAgICAgICAgIGluZGl2aWR1YWwgc3VidHJhbnNhY3Rpb25zLiAgU2V0 dGluZyA8bGl0ZXJhbD5OT05FPC9saXRlcmFsPgorICAgICAgICAgIFNwZWNpZmllcyB0aGUg SUQgb2YgdGhlIHJlbW90ZSB0cmFuc2FjdGlvbiB3aG9zZSBjaGFuZ2VzIGFyZSB0byBiZSBz a2lwcGVkCisgICAgICAgICAgYnkgdGhlIGxvZ2ljYWwgcmVwbGljYXRpb24gd29ya2VyLiAg U2tpcHBpbmcKKyAgICAgICAgICBpbmRpdmlkdWFsIHN1YnRyYW5zYWN0aW9ucyBpcyBub3Qg c3VwcG9ydGVkLiAgU2V0dGluZyA8bGl0ZXJhbD5OT05FPC9saXRlcmFsPgogICAgICAgICAg IHJlc2V0cyB0aGUgdHJhbnNhY3Rpb24gSUQuCiAgICAgICAgICA8L3BhcmE+CiAgICAgICAg IDwvbGlzdGl0ZW0+CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jb21tYW5kcy9zdWJzY3Jp cHRpb25jbWRzLmMgYi9zcmMvYmFja2VuZC9jb21tYW5kcy9zdWJzY3JpcHRpb25jbWRzLmMK aW5kZXggMGZmMGUwMGYxOS4uYjhmYjcxMzBhNiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQv Y29tbWFuZHMvc3Vic2NyaXB0aW9uY21kcy5jCisrKyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRz L3N1YnNjcmlwdGlvbmNtZHMuYwpAQCAtMjczLDcgKzI3Myw3IEBAIHBhcnNlX3N1YnNjcmlw dGlvbl9vcHRpb25zKFBhcnNlU3RhdGUgKnBzdGF0ZSwgTGlzdCAqc3RtdF9vcHRpb25zLAog CQkJCWlmICghVHJhbnNhY3Rpb25JZElzTm9ybWFsKHhpZCkpCiAJCQkJCWVyZXBvcnQoRVJS T1IsCiAJCQkJCQkJKGVycmNvZGUoRVJSQ09ERV9JTlZBTElEX1BBUkFNRVRFUl9WQUxVRSks Ci0JCQkJCQkJIGVycm1zZygiaW52YWxpZCB0cmFuc2FjdGlvbiBpZDogJXMiLCB4aWRfc3Ry KSkpOworCQkJCQkJCSBlcnJtc2coImludmFsaWQgdHJhbnNhY3Rpb24gSUQ6ICVzIiwgeGlk X3N0cikpKTsKIAkJCX0KIAogCQkJb3B0cy0+c3BlY2lmaWVkX29wdHMgfD0gU1VCT1BUX1hJ RDsKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvd29ya2Vy LmMgYi9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL3dvcmtlci5jCmluZGV4IDAy NjRlMzAxMTIuLjBiNmQ5YTIwM2EgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3JlcGxpY2F0 aW9uL2xvZ2ljYWwvd29ya2VyLmMKKysrIGIvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9n aWNhbC93b3JrZXIuYwpAQCAtODE0LDkgKzgxNCw2IEBAIGFwcGx5X2hhbmRsZV9iZWdpbihT dHJpbmdJbmZvIHMpCiAKIAlyZW1vdGVfZmluYWxfbHNuID0gYmVnaW5fZGF0YS5maW5hbF9s c247CiAKLQkvKgotCSAqIEVuYWJsZSBza2lwcGluZyBhbGwgY2hhbmdlcyBvZiB0aGlzIHRy YW5zYWN0aW9uIGlmIHNwZWNpZmllZC4KLQkgKi8KIAltYXliZV9zdGFydF9za2lwcGluZ19j aGFuZ2VzKGJlZ2luX2RhdGEueGlkKTsKIAogCWluX3JlbW90ZV90cmFuc2FjdGlvbiA9IHRy dWU7CkBAIC04NzEsOSArODY4LDYgQEAgYXBwbHlfaGFuZGxlX2JlZ2luX3ByZXBhcmUoU3Ry aW5nSW5mbyBzKQogCiAJcmVtb3RlX2ZpbmFsX2xzbiA9IGJlZ2luX2RhdGEucHJlcGFyZV9s c247CiAKLQkvKgotCSAqIEVuYWJsZSBza2lwcGluZyBhbGwgY2hhbmdlcyBvZiB0aGlzIHRy YW5zYWN0aW9uIGlmIHNwZWNpZmllZAotCSAqLwogCW1heWJlX3N0YXJ0X3NraXBwaW5nX2No YW5nZXMoYmVnaW5fZGF0YS54aWQpOwogCiAJaW5fcmVtb3RlX3RyYW5zYWN0aW9uID0gdHJ1 ZTsKQEAgLTE0MjksNyArMTQyMyw2IEBAIGFwcGx5X3Nwb29sZWRfbWVzc2FnZXMoVHJhbnNh Y3Rpb25JZCB4aWQsIFhMb2dSZWNQdHIgbHNuKQogCiAJcmVtb3RlX2ZpbmFsX2xzbiA9IGxz bjsKIAotCS8qIEVuYWJsZSBza2lwcGluZyBhbGwgY2hhbmdlcyBvZiB0aGlzIHRyYW5zYWN0 aW9uIGlmIHNwZWNpZmllZCAqLwogCW1heWJlX3N0YXJ0X3NraXBwaW5nX2NoYW5nZXMoeGlk KTsKIAogCS8qCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3N1YnNj cmlwdGlvbi5vdXQgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3N1YnNjcmlwdGlvbi5v dXQKaW5kZXggODkyYjY3MzliYy4uODI3MzNlZWQ5OCAxMDA2NDQKLS0tIGEvc3JjL3Rlc3Qv cmVncmVzcy9leHBlY3RlZC9zdWJzY3JpcHRpb24ub3V0CisrKyBiL3NyYy90ZXN0L3JlZ3Jl c3MvZXhwZWN0ZWQvc3Vic2NyaXB0aW9uLm91dApAQCAtMTExLDExICsxMTEsMTEgQEAgU0VM RUNUIHN1Ym5hbWUsIHN1YnNraXB4aWQgRlJPTSBwZ19zdWJzY3JpcHRpb24gV0hFUkUgc3Vi bmFtZSA9ICdyZWdyZXNzX3Rlc3RzdWIKIAogLS0gZmFpbAogQUxURVIgU1VCU0NSSVBUSU9O IHJlZ3Jlc3NfdGVzdHN1YiBTS0lQICh4aWQgPSAwKTsKLUVSUk9SOiAgaW52YWxpZCB0cmFu c2FjdGlvbiBpZDogMAorRVJST1I6ICBpbnZhbGlkIHRyYW5zYWN0aW9uIElEOiAwCiBBTFRF UiBTVUJTQ1JJUFRJT04gcmVncmVzc190ZXN0c3ViIFNLSVAgKHhpZCA9IDEpOwotRVJST1I6 ICBpbnZhbGlkIHRyYW5zYWN0aW9uIGlkOiAxCitFUlJPUjogIGludmFsaWQgdHJhbnNhY3Rp b24gSUQ6IDEKIEFMVEVSIFNVQlNDUklQVElPTiByZWdyZXNzX3Rlc3RzdWIgU0tJUCAoeGlk ID0gMik7Ci1FUlJPUjogIGludmFsaWQgdHJhbnNhY3Rpb24gaWQ6IDIKK0VSUk9SOiAgaW52 YWxpZCB0cmFuc2FjdGlvbiBJRDogMgogLS0gZmFpbCAtIG11c3QgYmUgc3VwZXJ1c2VyCiBT RVQgU0VTU0lPTiBBVVRIT1JJWkFUSU9OICdyZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyMic7 CiBBTFRFUiBTVUJTQ1JJUFRJT04gcmVncmVzc190ZXN0c3ViIFNLSVAgKHhpZCA9IDEwMCk7 CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9zdWJzY3JpcHRpb24vdC8wMjhfc2tpcF94YWN0LnBs IGIvc3JjL3Rlc3Qvc3Vic2NyaXB0aW9uL3QvMDI4X3NraXBfeGFjdC5wbAppbmRleCA0YzEw N2ZjOGY1Li5lZmUyOGM3MWFmIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9zdWJzY3JpcHRpb24v dC8wMjhfc2tpcF94YWN0LnBsCisrKyBiL3NyYy90ZXN0L3N1YnNjcmlwdGlvbi90LzAyOF9z a2lwX3hhY3QucGwKQEAgLTgsOCArOCw4IEBACiB1c2UgVGVzdDo6TW9yZSB0ZXN0cyA9PiA3 OwogCiAjIFRlc3Qgc2tpcHBpbmcgdGhlIHRyYW5zYWN0aW9uLiBUaGlzIGZ1bmN0aW9uIG11 c3QgYmUgY2FsbGVkIGFmdGVyIHRoZSBjYWxsZXIKLSMgaW5zZXJ0aW5nIGRhdGEgdGhhdCBj b25mbGljdCB3aXRoIHRoZSBzdWJzY3JpYmVyLiAgQWZ0ZXIgd2FpdGluZyBmb3IgdGhlCi0j IHN1YnNjcmlwdGlvbiB3b3JrZXIgc3RhdHMgYXJlIHVwZGF0ZWQsIHdlIHNraXAgdGhlIHRy YW5zYWN0aW9uIGluIHF1ZXN0aW9uCisjIGhhcyBpbnNlcnRlZCBkYXRhIHRoYXQgY29uZmxp Y3RzIHdpdGggdGhlIHN1YnNjcmliZXIuICBBZnRlciB3YWl0aW5nIGZvciB0aGUKKyMgc3Vi c2NyaXB0aW9uIHdvcmtlciBzdGF0cyB0byBiZSB1cGRhdGVkLCB3ZSBza2lwIHRoZSB0cmFu c2FjdGlvbiBpbiBxdWVzdGlvbgogIyBieSBBTFRFUiBTVUJTQ1JJUFRJT04gLi4uIFNLSVAu IFRoZW4sIGNoZWNrIGlmIGxvZ2ljYWwgcmVwbGljYXRpb24gY2FuIGNvbnRpbnVlCiAjIHdv cmtpbmcgYnkgaW5zZXJ0aW5nICRub25jb25mbGljdF9kYXRhIG9uIHRoZSBwdWJsaXNoZXIu CiBzdWIgdGVzdF9za2lwX3hhY3QKQEAgLTE3LDYgKzE3LDggQEAgc3ViIHRlc3Rfc2tpcF94 YWN0CiAgICAgbXkgKCRub2RlX3B1Ymxpc2hlciwgJG5vZGVfc3Vic2NyaWJlciwgJHN1Ym5h bWUsICRyZWxuYW1lLCAkbm9uY29uZmxpY3RfZGF0YSwKIAkkZXhwZWN0ZWQsICR4aWQsICRt c2cpID0gQF87CiAKKwlsb2NhbCAkVGVzdDo6QnVpbGRlcjo6TGV2ZWwgPSAkVGVzdDo6QnVp bGRlcjo6TGV2ZWwgKyAxOworCiAgICAgIyBXYWl0IGZvciB3b3JrZXIgZXJyb3IKICAgICAk bm9kZV9zdWJzY3JpYmVyLT5wb2xsX3F1ZXJ5X3VudGlsKAogCSdwb3N0Z3JlcycsCkBAIC04 Myw3ICs4NSw3IEBAIHN1YiB0ZXN0X3NraXBfeGFjdAogXSk7CiAkbm9kZV9zdWJzY3JpYmVy LT5zdGFydDsKIAotIyBJbml0aWFsIHRhYmxlIHNldHVwIG9uIGJvdGggcHVibGlzaGVyIGFu ZCBzdWJzY3JpYmVyLiBPbiBzdWJzY3JpYmVyIHdlCisjIEluaXRpYWwgdGFibGUgc2V0dXAg b24gYm90aCBwdWJsaXNoZXIgYW5kIHN1YnNjcmliZXIuIE9uIHRoZSBzdWJzY3JpYmVyLCB3 ZQogIyBjcmVhdGUgdGhlIHNhbWUgdGFibGVzIGJ1dCB3aXRoIHByaW1hcnkga2V5cy4gQWxz bywgaW5zZXJ0IHNvbWUgZGF0YSB0aGF0CiAjIHdpbGwgY29uZmxpY3Qgd2l0aCB0aGUgZGF0 YSByZXBsaWNhdGVkIGZyb20gcHVibGlzaGVyIGxhdGVyLgogJG5vZGVfcHVibGlzaGVyLT5z YWZlX3BzcWwoCi0tIAoyLjM0LjEKCg== --------------SS63cfJUj4f0z5QFTq1oHMPg--