Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.89) (envelope-from ) id 1er0Ep-0004tY-8q for pgadmin-hackers@arkaria.postgresql.org; Wed, 28 Feb 2018 11:49:35 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.89) (envelope-from ) id 1er0En-0000bs-KJ for pgadmin-hackers@arkaria.postgresql.org; Wed, 28 Feb 2018 11:49:33 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.89) (envelope-from ) id 1er0En-0000bh-DS for pgadmin-hackers@lists.postgresql.org; Wed, 28 Feb 2018 11:49:33 +0000 Received: from mail-oi0-x230.google.com ([2607:f8b0:4003:c06::230]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1er0Ed-0006iy-5w for pgadmin-hackers@postgresql.org; Wed, 28 Feb 2018 11:49:32 +0000 Received: by mail-oi0-x230.google.com with SMTP id j81so1550645oia.0 for ; Wed, 28 Feb 2018 03:49:22 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=enterprisedb-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=xVEV2sq/Vin7BvO7JaNK3gJiedzmOOqo6omqJR7KEWg=; b=lNLHaCp3sFhaMlHoLSufuP/vWcaYT4t6hA15JAADqGZojTYzUoMXrWZbQ7FqZ8heNz aWab8VOngyZOWKZfQjj49HrYMw7WjicsSxltWafiB0gnIDv/mn7geeNeR5ASOoA5NyNn V86O6TaxYyjxHFegBzpaA4aySTZetZ+umb2VcXlDSATvPJlm+0d0O174Refp3WK7dfqk /4kHXbLQsHL3kzejoMxm/Z6FiYeb9lu4mPIyW/mHEAbPK9fuP13+25Fq6sNcuYvCyw8R SMpBnXorToqH5DxE0Iv0RfkGrAgd9rGrihj+Dp5rWKEbHF4h0BTwYkBQ0FDxByJddETD uuvA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=xVEV2sq/Vin7BvO7JaNK3gJiedzmOOqo6omqJR7KEWg=; b=aKi2iNmQT4OwxyHdRQHY+uoxQzSUV7A9bJrr5oPX+Bqz+PdcLl3k7vwGZSVEH6o9rq WxdVIY9FAEdsZtGaJZhbkrfX6lIzjF4OZ8FXo0ySd00W9YiR2VSjiYiTEPPRRwccMg12 h9WtKiePQaFAjtkK72kMMNwZNDH6POl0k6fOtLB+M/zoWhTckdL+6yEDo9861PaOu/f2 WNjj2oroT6kZd1rXRZ+AtTxXDrx5z3z0VEOAV6V7Qv24XyUDKGlV6sXefBPnMBSO8YEm 5KfTdVCn+s466PwctHh3Q93Uv9+5RX3wg9RnNzwEFtc4mnzPVyWrfq3+vuu/vOAvnUmZ ir7g== X-Gm-Message-State: APf1xPDbBbsOJcGFa8kwk8OO6Er9gWYdmmJkroQXzdCDwo54a09Pi6Fh zIvCu8Zx58mrEjzkzvftd1YQ/0dwzuv7sJtAz5oXlg== X-Google-Smtp-Source: AG47ELsv0hxzWmYrrqtYg5Kmvs9qHPj537zDmnrGsBin/rvulQJaT00dFp/y2NT1uvVAP4XLxIALDY3rrJD9U+GHls4= X-Received: by 10.202.239.197 with SMTP id n188mr10605655oih.203.1519818560507; Wed, 28 Feb 2018 03:49:20 -0800 (PST) MIME-Version: 1.0 Received: by 10.74.203.154 with HTTP; Wed, 28 Feb 2018 03:49:19 -0800 (PST) In-Reply-To: References: From: Khushboo Vashi Date: Wed, 28 Feb 2018 17:19:19 +0530 Message-ID: Subject: Re: pgAdmin 4 commit: Ensure we pick up the messages from the current query To: Dave Page Cc: Murtuza Zabuawala , pgadmin-hackers Content-Type: multipart/mixed; boundary="94eb2c092ea26c5ef305664455c2" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk --94eb2c092ea26c5ef305664455c2 Content-Type: multipart/alternative; boundary="94eb2c092ea26c5eef05664455c0" --94eb2c092ea26c5eef05664455c0 Content-Type: text/plain; charset="UTF-8" On Mon, Feb 26, 2018 at 10:02 PM, Dave Page wrote: > Argh, I ran some tests, but didn't spot any lost messages in the tests I > ran. I'll revert the patch. > > Khushboo; > > Please look at the following: > > - Fix the patch so it doesn't drop messages. > Fixed. By default, the notice attribute of the connection object of psycopg 2 only stores 50 notices. Once it reaches to 50 it starts from 1 again. To fix this I have changed the notice attribute from list to deque to append more messages. Currently I have kept the maximum limit at a time of the notice attribute is 100000 (in a single poll). > - Add regression tests to make sure it doesn't break in the future. This > may require creating one or more functions the spew out a whole lot of > notices, and then running a couple of queries and checking the output. > Added. With this regression test, the current code is failing which has been taken care in this patch. > - Check the messages panel on the history tab. I just noticed it seems to > only be showing an even smaller subset of the messages. > Tested and no issues found. > > Thanks. > > On Mon, Feb 26, 2018 at 4:23 PM, Murtuza Zabuawala enterprisedb.com> wrote: > >> Sent bit early, >> >> You can run 'VACUUM FULL VERBOSE' in query tool and verify the populated >> messages (pgAdmin3 vs. pgAdmin4). >> >> >> On Mon, Feb 26, 2018 at 9:48 PM, Murtuza Zabuawala < >> murtuza.zabuawala@enterprisedb.com> wrote: >> >>> Hi Khushboo/Dave, >>> >>> With given commit, I'm again seeing the issue raised in >>> https://redmine.postgresql.org/issues/1523 :( >>> >>> >>> >>> >>> -- >>> Regards, >>> Murtuza Zabuawala >>> EnterpriseDB: http://www.enterprisedb.com >>> The Enterprise PostgreSQL Company >>> >>> >>> On Mon, Feb 26, 2018 at 7:49 PM, Dave Page wrote: >>> >>>> Ensure we pick up the messages from the current query and not a >>>> previous one. Fixes #3094 >>>> >>>> Branch >>>> ------ >>>> master >>>> >>>> Details >>>> ------- >>>> https://git.postgresql.org/gitweb?p=pgadmin4.git;a=commitdif >>>> f;h=08b3ccc01a4d57e8ea3657f8882a53dcd1b99386 >>>> Author: Khushboo Vashi >>>> >>>> Modified Files >>>> -------------- >>>> web/pgadmin/utils/driver/abstract.py | 1 + >>>> web/pgadmin/utils/driver/psycopg2/__init__.py | 64 >>>> +++++++++------------------ >>>> 2 files changed, 21 insertions(+), 44 deletions(-) >>>> >>>> >>> >> > > > -- > Dave Page > Blog: http://pgsnake.blogspot.com > Twitter: @pgsnake > > EnterpriseDB UK: http://www.enterprisedb.com > The Enterprise PostgreSQL Company > --94eb2c092ea26c5eef05664455c0 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
On M= on, Feb 26, 2018 at 10:02 PM, Dave Page <dpage@pgadmin.org> = wrote:
Argh, I ran some tests, but didn't spot any lost messages in the test= s I ran. I'll revert the patch.

Khushboo;
=
Please look at the following:

- Fix= the patch so it doesn't drop messages.
Fi= xed.
By default, the notice attribute of the connection object of= psycopg 2 only stores 50 notices. Once it reaches to 50 it starts from 1 a= gain.
To fix this I have changed the notice attribute from list t= o deque to append more messages. Currently I have kept the maximum limit at= a time of the notice attribute is=C2=A0100000 (in a single poll).=C2=A0
= - Add regression tests to make sure it doesn't break in the future. Thi= s may require creating one or more functions the spew out a whole lot of no= tices, and then running a couple of queries and checking the output.
<= /div>
Added. With this regression test, the current code i= s failing which has been taken care in this patch.
- Check the messages= panel on the history tab. I just noticed it seems to only be showing an ev= en smaller subset of the messages.
= Tested and no issues found.
=C2=A0
Th= anks.
On Mon, Feb 26, 2018 at 4:23 PM, Murtuza Zabuaw= ala <murtuza.zabuawala@enterprisedb.com> wrote:
Sent= bit early,=C2=A0

You can run 'VACUUM FULL VERBOSE' in query tool and verify the populat= ed messages (pgAdmin3 vs. pgAdmin4).=C2=A0


On Mon, Feb 26, 2018 at 9:48 PM, Murtuza Zabuawala <<= a href=3D"mailto:murtuza.zabuawala@enterprisedb.com" target=3D"_blank">murt= uza.zabuawala@enterprisedb.com> wrote:
Hi Khushboo/Dave,

With given commi= t, I'm again seeing the issue raised in https://redmine.postgresql.org/issues/1523 :(




--
Regards,
Murtuza Zabuawala
EnterpriseDB:=C2=A0h= ttp://www.enterprisedb.com
The Enterprise PostgreSQL Company


On Mon, Feb 26, 2018 at 7:49 PM, Dave Page <= span dir=3D"ltr"><dpage@pgadmin.org> wrote:
Ensure we pick up the messages from the current query an= d not a previous one. Fixes #3094

Branch
------
master

Details
-------
https://git.postgresql.org/gitweb?p=3Dpgadmin4.git;a=3Dcom= mitdiff;h=3D08b3ccc01a4d57e8ea3657f8882a53dcd1b99386
Author: Khushboo Vashi <khushboo.vashi@enterprisedb.com>

Modified Files
--------------
web/pgadmin/utils/driver/abstract.py=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= |=C2=A0 1 +
web/pgadmin/utils/driver/psycopg2/__init__.py | 64 +++++++++----------= --------
2 files changed, 21 insertions(+), 44 deletions(-)






--
Dave Page
Blog: http://pgsnake.blogspot.com
Tw= itter: @pgsnake

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise Po= stgreSQL Company

--94eb2c092ea26c5eef05664455c0-- --94eb2c092ea26c5ef305664455c2 Content-Type: text/x-patch; charset="US-ASCII"; name="RM_3094_ver1.patch" Content-Disposition: attachment; filename="RM_3094_ver1.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_je70mnsc0 ZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2ZlYXR1cmVfdGVzdHMva2V5Ym9hcmRfc2hvcnRjdXRf dGVzdC5weSBiL3dlYi9wZ2FkbWluL2ZlYXR1cmVfdGVzdHMva2V5Ym9hcmRfc2hvcnRjdXRfdGVz dC5weQppbmRleCBiODM0NTdjLi5mNzUxMjExIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9mZWF0 dXJlX3Rlc3RzL2tleWJvYXJkX3Nob3J0Y3V0X3Rlc3QucHkKKysrIGIvd2ViL3BnYWRtaW4vZmVh dHVyZV90ZXN0cy9rZXlib2FyZF9zaG9ydGN1dF90ZXN0LnB5CkBAIC02Miw3ICs2Miw5IEBAIGNs YXNzIEtleWJvYXJkU2hvcnRjdXRGZWF0dXJlVGVzdChCYXNlRmVhdHVyZVRlc3QpOgogICAgICAg ICAgICAgKS5rZXlfZG93bigKICAgICAgICAgICAgICAgICBrZXlfY29tYm9bMl0KICAgICAgICAg ICAgICkua2V5X3VwKAotICAgICAgICAgICAgICAgIEtleXMuQUxUCisgICAgICAgICAgICAgICAg a2V5X2NvbWJvWzBdCisgICAgICAgICAgICApLmtleV91cCgKKyAgICAgICAgICAgICAgICBrZXlf Y29tYm9bMV0KICAgICAgICAgICAgICkucGVyZm9ybSgpCiAKICAgICAgICAgICAgIHByaW50KCJF eGVjdXRpbmcgc2hvcnRjdXQ6ICIgKyBzZWxmLm5ld19zaG9ydGN1dHNbc11bJ2xvY2F0b3InXSAr ICIuLi4iLCBmaWxlPXN5cy5zdGRlcnIsIGVuZD0iIikKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWlu L3Rvb2xzL3NxbGVkaXRvci90ZXN0cy90ZXN0X3BvbGxfcXVlcnlfdG9vbC5weSBiL3dlYi9wZ2Fk bWluL3Rvb2xzL3NxbGVkaXRvci90ZXN0cy90ZXN0X3BvbGxfcXVlcnlfdG9vbC5weQpuZXcgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MTY1NWU3Ci0tLSAvZGV2L251bGwKKysrIGIv d2ViL3BnYWRtaW4vdG9vbHMvc3FsZWRpdG9yL3Rlc3RzL3Rlc3RfcG9sbF9xdWVyeV90b29sLnB5 CkBAIC0wLDAgKzEsMTA5IEBACisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIworIyBwZ0FkbWluIDQgLSBQ b3N0Z3JlU1FMIFRvb2xzCisjCisjIENvcHlyaWdodCAoQykgMjAxMyAtIDIwMTgsIFRoZSBwZ0Fk bWluIERldmVsb3BtZW50IFRlYW0KKyMgVGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRlciB0 aGUgUG9zdGdyZVNRTCBMaWNlbmNlCisjCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworCitpbXBvcnQganNv bgorCitmcm9tIHBnYWRtaW4uYnJvd3Nlci5zZXJ2ZXJfZ3JvdXBzLnNlcnZlcnMuZGF0YWJhc2Vz LnRlc3RzIGltcG9ydCB1dGlscyBhcyBcCisgICAgZGF0YWJhc2VfdXRpbHMKK2Zyb20gcGdhZG1p bi51dGlscy5yb3V0ZSBpbXBvcnQgQmFzZVRlc3RHZW5lcmF0b3IKK2Zyb20gcmVncmVzc2lvbiBp bXBvcnQgcGFyZW50X25vZGVfZGljdAorZnJvbSByZWdyZXNzaW9uLnB5dGhvbl90ZXN0X3V0aWxz IGltcG9ydCB0ZXN0X3V0aWxzIGFzIHV0aWxzCisKKworY2xhc3MgVGVzdFBvbGxRdWVyeVRvb2wo QmFzZVRlc3RHZW5lcmF0b3IpOgorICAgICIiIiBUaGlzIGNsYXNzIHdpbGwgdGVzdCB0aGUgcXVl cnkgdG9vbCBwb2xsaW5nLiAiIiIKKyAgICBzY2VuYXJpb3MgPSBbCisgICAgICAgICgnV2hlbiBx dWVyeSB0b29sIHBvbGxpbmcgcmV0dXJucyBtZXNzYWdlcyB3aXRoIHJlc3VsdCBkYXRhLXNldCcs CisgICAgICAgICBkaWN0KAorICAgICAgICAgICAgIHNxbD0iIiIKK0RST1AgVEFCTEUgSUYgRVhJ U1RTIHRlc3RfZm9yX25vdGljZXM7CisKK0RPICQkCitCRUdJTgorICAgIFJBSVNFIE5PVElDRSAn SGVsbG8sIHdvcmxkISc7CitFTkQgJCQ7CisKK1NFTEVDVCAnQ0hFQ0tJTkcgUE9MTElORyc7Cisg ICAgICAgICIiIiwKKyAgICAgICAgICAgICBleHBlY3RlZF9tZXNzYWdlPSdOT1RJQ0U6ICB0YWJs ZSAidGVzdF9mb3Jfbm90aWNlcyIgJyArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAi IiJkb2VzIG5vdCBleGlzdCwgc2tpcHBpbmcKK05PVElDRTogIEhlbGxvLCB3b3JsZCEKKyIiIiwK KyAgICAgICAgICAgICBleHBlY3RlZF9yZXN1bHQ9J0NIRUNLSU5HIFBPTExJTkcnCisgICAgICAg ICApKSwKKyAgICAgICAgKCdXaGVuIHF1ZXJ5IHRvb2wgcG9sbGluZyByZXR1cm5zIGEgbGFyZ2Ug c3Vic2V0IG9mIG1lc3NhZ2VzJworICAgICAgICAgJyB3aXRoIHJlc3VsdCBkYXRhLXNldCcsCisg ICAgICAgICBkaWN0KAorICAgICAgICAgICAgIHNxbD0iIiIKK0RPICQkCitCRUdJTgorICAgIEZP UiBpIGluIDEuLjEwMDAgTE9PUAorICAgICAgICBSQUlTRSBOT1RJQ0UgJ0NvdW50IGlzICUnLCBp OworICAgIEVORCBMT09QOworRU5EICQkOworCitTRUxFQ1QgJ0NIRUNLSU5HIFBPTExJTkcgRk9S IExPTkcgTUVTU0FHRVMnOworIiIiLAorICAgICAgICAgICAgIGV4cGVjdGVkX21lc3NhZ2U9Ilxu Ii5qb2luKFsiTk9USUNFOiAgQ291bnQgaXMgezB9Ii5mb3JtYXQoaSkKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgaSBpbiByYW5nZSgxLCAxMDAxKV0pICsgIlxu IiwKKyAgICAgICAgICAgICBleHBlY3RlZF9yZXN1bHQ9J0NIRUNLSU5HIFBPTExJTkcgRk9SIExP TkcgTUVTU0FHRVMnCisgICAgICAgICApKSwKKyAgICAgICAgKCdXaGVuIHF1ZXJ5IHRvb2wgcG9s bGluZyByZXR1cm5zIG5vIG1lc3NhZ2VzJworICAgICAgICAgJyB3aXRoIHJlc3VsdCBkYXRhLXNl dCcsCisgICAgICAgICBkaWN0KAorICAgICAgICAgICAgIHNxbD0iU0VMRUNUICdDSEVDS0lORyBQ T0xMSU5HIFdJVEhPVVQgTUVTU0FHRVMnOyIsCisgICAgICAgICAgICAgZXhwZWN0ZWRfbWVzc2Fn ZT1Ob25lLAorICAgICAgICAgICAgIGV4cGVjdGVkX3Jlc3VsdD0nQ0hFQ0tJTkcgUE9MTElORyBX SVRIT1VUIE1FU1NBR0VTJworICAgICAgICAgKSkKKyAgICBdCisKKyAgICBkZWYgcnVuVGVzdChz ZWxmKToKKyAgICAgICAgIiIiIFRoaXMgZnVuY3Rpb24gd2lsbCBjaGVjayBtZXNzYWdlcyByZXR1 cm4gYnkgcXVlcnkgdG9vbCBwb2xsaW5nLiAiIiIKKyAgICAgICAgZGF0YWJhc2VfaW5mbyA9IHBh cmVudF9ub2RlX2RpY3RbImRhdGFiYXNlIl1bLTFdCisgICAgICAgIHNlcnZlcl9pZCA9IGRhdGFi YXNlX2luZm9bInNlcnZlcl9pZCJdCisKKyAgICAgICAgZGJfaWQgPSBkYXRhYmFzZV9pbmZvWyJk Yl9pZCJdCisgICAgICAgIGRiX2NvbiA9IGRhdGFiYXNlX3V0aWxzLmNvbm5lY3RfZGF0YWJhc2Uo c2VsZiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1 dGlscy5TRVJWRVJfR1JPVVAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgc2VydmVyX2lkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGRiX2lkKQorICAgICAgICBpZiBub3QgZGJfY29uWyJpbmZvIl0gPT0g IkRhdGFiYXNlIGNvbm5lY3RlZC4iOgorICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCJDb3Vs ZCBub3QgY29ubmVjdCB0byB0aGUgZGF0YWJhc2UuIikKKworICAgICAgICAjIEluaXRpYWxpemUg cXVlcnkgdG9vbAorICAgICAgICB1cmwgPSAnL2RhdGFncmlkL2luaXRpYWxpemUvcXVlcnlfdG9v bC97MH0vezF9L3syfScuZm9ybWF0KAorICAgICAgICAgICAgdXRpbHMuU0VSVkVSX0dST1VQLCBz ZXJ2ZXJfaWQsIGRiX2lkKQorICAgICAgICByZXNwb25zZSA9IHNlbGYudGVzdGVyLnBvc3QodXJs KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhyZXNwb25zZS5zdGF0dXNfY29kZSwgMjAwKQor CisgICAgICAgIHJlc3BvbnNlX2RhdGEgPSBqc29uLmxvYWRzKHJlc3BvbnNlLmRhdGEuZGVjb2Rl KCd1dGYtOCcpKQorICAgICAgICB0cmFuc19pZCA9IHJlc3BvbnNlX2RhdGFbJ2RhdGEnXVsnZ3Jp ZFRyYW5zSWQnXQorCisgICAgICAgICMgU3RhcnQgcXVlcnkgdG9vbCB0cmFuc2FjdGlvbgorICAg ICAgICB1cmwgPSAnL3NxbGVkaXRvci9xdWVyeV90b29sL3N0YXJ0L3swfScuZm9ybWF0KHRyYW5z X2lkKQorICAgICAgICByZXNwb25zZSA9IHNlbGYudGVzdGVyLnBvc3QodXJsLCBkYXRhPWpzb24u ZHVtcHMoeyJzcWwiOiBzZWxmLnNxbH0pLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgY29udGVudF90eXBlPSdodG1sL2pzb24nKQorCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1 YWxzKHJlc3BvbnNlLnN0YXR1c19jb2RlLCAyMDApCisKKyAgICAgICAgIyBRdWVyeSB0b29sIHBv bGxpbmcKKyAgICAgICAgdXJsID0gJy9zcWxlZGl0b3IvcG9sbC97MH0nLmZvcm1hdCh0cmFuc19p ZCkKKyAgICAgICAgcmVzcG9uc2UgPSBzZWxmLnRlc3Rlci5nZXQodXJsKQorICAgICAgICBzZWxm LmFzc2VydEVxdWFscyhyZXNwb25zZS5zdGF0dXNfY29kZSwgMjAwKQorICAgICAgICByZXNwb25z ZV9kYXRhID0ganNvbi5sb2FkcyhyZXNwb25zZS5kYXRhLmRlY29kZSgndXRmLTgnKSkKKworICAg ICAgICAjIENoZWNrIHRoZSByZXR1cm5lZCBtZXNzYWdlcworICAgICAgICBzZWxmLmFzc2VydEVx dWFscyhzZWxmLmV4cGVjdGVkX21lc3NhZ2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgIHJl c3BvbnNlX2RhdGFbJ2RhdGEnXVsnYWRkaXRpb25hbF9tZXNzYWdlcyddKQorICAgICAgICAjIENo ZWNrIHRoZSBvdXRwdXQKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMoc2VsZi5leHBlY3RlZF9y ZXN1bHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlX2RhdGFbJ2RhdGEnXVsn cmVzdWx0J11bMF1bMF0pCisKKyAgICAgICAgIyBEaXNjb25uZWN0IHRoZSBkYXRhYmFzZQorICAg ICAgICBkYXRhYmFzZV91dGlscy5kaXNjb25uZWN0X2RhdGFiYXNlKHNlbGYsIHNlcnZlcl9pZCwg ZGJfaWQpCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi91dGlscy9kcml2ZXIvYWJzdHJhY3QucHkg Yi93ZWIvcGdhZG1pbi91dGlscy9kcml2ZXIvYWJzdHJhY3QucHkKaW5kZXggMzJlMWM5Ny4uMjcx YmZlYyAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vdXRpbHMvZHJpdmVyL2Fic3RyYWN0LnB5Cisr KyBiL3dlYi9wZ2FkbWluL3V0aWxzL2RyaXZlci9hYnN0cmFjdC5weQpAQCAtMTY4LDYgKzE2OCw4 IEBAIGNsYXNzIEJhc2VDb25uZWN0aW9uKG9iamVjdCk6CiAgICAgQVNZTkNfV1JJVEVfVElNRU9V VCA9IDMKICAgICBBU1lOQ19OT1RfQ09OTkVDVEVEID0gNAogICAgIEFTWU5DX0VYRUNVVElPTl9B Qk9SVEVEID0gNQorICAgIEFTWU5DX1RJTUVPVVQgPSAwLjIKKyAgICBBU1lOQ19OT1RJQ0VfTUFY TEVOR1RIID0gMTAwMDAwCiAKICAgICBAYWJzdHJhY3RtZXRob2QKICAgICBkZWYgY29ubmVjdChz ZWxmLCAqKmt3YXJncyk6CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi91dGlscy9kcml2ZXIvcHN5 Y29wZzIvX19pbml0X18ucHkgYi93ZWIvcGdhZG1pbi91dGlscy9kcml2ZXIvcHN5Y29wZzIvX19p bml0X18ucHkKaW5kZXggODE0NDJlNC4uNDMwNWFhNSAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4v dXRpbHMvZHJpdmVyL3BzeWNvcGcyL19faW5pdF9fLnB5CisrKyBiL3dlYi9wZ2FkbWluL3V0aWxz L2RyaXZlci9wc3ljb3BnMi9fX2luaXRfXy5weQpAQCAtMzcsNiArMzcsNyBAQCBmcm9tIC5jdXJz b3IgaW1wb3J0IERpY3RDdXJzb3IKIGZyb20gLnR5cGVjYXN0IGltcG9ydCByZWdpc3Rlcl9nbG9i YWxfdHlwZWNhc3RlcnMsIFwKICAgICByZWdpc3Rlcl9zdHJpbmdfdHlwZWNhc3RlcnMsIHJlZ2lz dGVyX2JpbmFyeV90eXBlY2FzdGVycywgXAogICAgIHJlZ2lzdGVyX2FycmF5X3RvX3N0cmluZ190 eXBlY2FzdGVycywgQUxMX0pTT05fVFlQRVMKK2Zyb20gY29sbGVjdGlvbnMgaW1wb3J0IGRlcXVl CiAKIAogaWYgc3lzLnZlcnNpb25faW5mbyA8ICgzLCk6CkBAIC0xMTAsNyArMTExLDcgQEAgY2xh c3MgQ29ubmVjdGlvbihCYXNlQ29ubmVjdGlvbik6CiAgICAgICAtIFRoaXMgbWV0aG9kIGlzIHVz ZWQgdG8gd2FpdCBmb3IgYXN5bmNocm9ub3VzIGNvbm5lY3Rpb24uIFRoaXMgaXMgYQogICAgICAg ICBibG9ja2luZyBjYWxsLgogCi0gICAgKiBfd2FpdF90aW1lb3V0KGNvbm4sIHRpbWUpCisgICAg KiBfd2FpdF90aW1lb3V0KGNvbm4pCiAgICAgICAtIFRoaXMgbWV0aG9kIGlzIHVzZWQgdG8gd2Fp dCBmb3IgYXN5bmNocm9ub3VzIGNvbm5lY3Rpb24gd2l0aCB0aW1lb3V0LgogICAgICAgICBUaGlz IGlzIGEgbm9uIGJsb2NraW5nIGNhbGwuCiAKQEAgLTMxMCw2ICszMTEsOSBAQCBjbGFzcyBDb25u ZWN0aW9uKEJhc2VDb25uZWN0aW9uKToKICAgICAgICAgICAgICkKICAgICAgICAgICAgIHJldHVy biBGYWxzZSwgbXNnCiAKKyAgICAgICAgIyBPdmVyd3JpdGUgY29ubmVjdGlvbiBub3RpY2UgYXR0 ciB0byBzdXBwb3J0CisgICAgICAgICMgbW9yZSB0aGFuIDUwIG5vdGljZXMgYXQgYSB0aW1lCisg ICAgICAgIHBnX2Nvbm4ubm90aWNlcyA9IGRlcXVlKFtdLCBzZWxmLkFTWU5DX05PVElDRV9NQVhM RU5HVEgpCiAgICAgICAgIHNlbGYuY29ubiA9IHBnX2Nvbm4KICAgICAgICAgc2VsZi53YXNDb25u ZWN0ZWQgPSBUcnVlCiAgICAgICAgIHRyeToKQEAgLTEyMDgsNiArMTIxMiw3IEBAIEZhaWxlZCB0 byByZXNldCB0aGUgY29ubmVjdGlvbiB0byB0aGUgc2VydmVyIGR1ZSB0byBmb2xsb3dpbmcgZXJy b3I6CiAgICAgICAgICAgICApCiAgICAgICAgICAgICByZXR1cm4gRmFsc2UsIG1zZwogCisgICAg ICAgIHBnX2Nvbm4ubm90aWNlcyA9IGRlcXVlKFtdLCBzZWxmLkFTWU5DX05PVElDRV9NQVhMRU5H VEgpCiAgICAgICAgIHNlbGYuY29ubiA9IHBnX2Nvbm4KICAgICAgICAgc2VsZi5fX2JhY2tlbmRf cGlkID0gcGdfY29ubi5nZXRfYmFja2VuZF9waWQoKQogCkBAIC0xMjYxLDUxICsxMjY2LDI3IEBA IEZhaWxlZCB0byByZXNldCB0aGUgY29ubmVjdGlvbiB0byB0aGUgc2VydmVyIGR1ZSB0byBmb2xs b3dpbmcgZXJyb3I6CiAKICAgICAgICAgQXJnczoKICAgICAgICAgICAgIGNvbm46IGNvbm5lY3Rp b24gb2JqZWN0Ci0gICAgICAgICAgICB0aW1lOiB3YWl0IHRpbWUKICAgICAgICAgIiIiCi0KLSAg ICAgICAgc3RhdGUgPSBjb25uLnBvbGwoKQotICAgICAgICBpZiBzdGF0ZSA9PSBwc3ljb3BnMi5l eHRlbnNpb25zLlBPTExfT0s6Ci0gICAgICAgICAgICByZXR1cm4gc2VsZi5BU1lOQ19PSwotICAg ICAgICBlbGlmIHN0YXRlID09IHBzeWNvcGcyLmV4dGVuc2lvbnMuUE9MTF9XUklURToKLSAgICAg ICAgICAgICMgV2FpdCBmb3IgdGhlIGdpdmVuIHRpbWUgYW5kIHRoZW4gY2hlY2sgdGhlIHJldHVy biBzdGF0dXMKLSAgICAgICAgICAgICMgSWYgdGhyZWUgZW1wdHkgbGlzdHMgYXJlIHJldHVybmVk IHRoZW4gdGhlIHRpbWUtb3V0IGlzIHJlYWNoZWQuCi0gICAgICAgICAgICB0aW1lb3V0X3N0YXR1 cyA9IHNlbGVjdC5zZWxlY3QoW10sIFtjb25uLmZpbGVubygpXSwgW10sIDApCi0gICAgICAgICAg ICBpZiB0aW1lb3V0X3N0YXR1cyA9PSAoW10sIFtdLCBbXSk6Ci0gICAgICAgICAgICAgICAgcmV0 dXJuIHNlbGYuQVNZTkNfV1JJVEVfVElNRU9VVAotCi0gICAgICAgICAgICAjIHBvbGwgYWdhaW4g dG8gY2hlY2sgdGhlIHN0YXRlIGlmIGl0IGlzIHN0aWxsIFBPTExfV1JJVEUKLSAgICAgICAgICAg ICMgdGhlbiByZXR1cm4gQVNZTkNfV1JJVEVfVElNRU9VVCBlbHNlIHJldHVybiBBU1lOQ19PSy4K KyAgICAgICAgd2hpbGUgMToKICAgICAgICAgICAgIHN0YXRlID0gY29ubi5wb2xsKCkKLSAgICAg ICAgICAgIGlmIHN0YXRlID09IHBzeWNvcGcyLmV4dGVuc2lvbnMuUE9MTF9XUklURToKLSAgICAg ICAgICAgICAgICByZXR1cm4gc2VsZi5BU1lOQ19XUklURV9USU1FT1VUCi0gICAgICAgICAgICBy ZXR1cm4gc2VsZi5BU1lOQ19PSwotICAgICAgICBlbGlmIHN0YXRlID09IHBzeWNvcGcyLmV4dGVu c2lvbnMuUE9MTF9SRUFEOgotICAgICAgICAgICAgIyBXYWl0IGZvciB0aGUgZ2l2ZW4gdGltZSBh bmQgdGhlbiBjaGVjayB0aGUgcmV0dXJuIHN0YXR1cwotICAgICAgICAgICAgIyBJZiB0aHJlZSBl bXB0eSBsaXN0cyBhcmUgcmV0dXJuZWQgdGhlbiB0aGUgdGltZS1vdXQgaXMgcmVhY2hlZC4KLSAg ICAgICAgICAgIHRpbWVvdXRfc3RhdHVzID0gc2VsZWN0LnNlbGVjdChbY29ubi5maWxlbm8oKV0s IFtdLCBbXSwgMCkKLSAgICAgICAgICAgIGlmIHRpbWVvdXRfc3RhdHVzID09IChbXSwgW10sIFtd KToKLSAgICAgICAgICAgICAgICByZXR1cm4gc2VsZi5BU1lOQ19SRUFEX1RJTUVPVVQKLQotICAg ICAgICAgICAgIyBzZWxlY3Quc2VsZWN0IHRpbWVvdXQgb3B0aW9uIHdvcmtzIG9ubHkgaWYgd2Ug cHJvdmlkZQotICAgICAgICAgICAgIyAgZW1wdHkgW10gW10gW10gZmlsZSBkZXNjcmlwdG9yIGlu IHNlbGVjdC5zZWxlY3QoKSBmdW5jdGlvbgotICAgICAgICAgICAgIyBhbmQgdGhhdCBhbHNvIHdv cmtzIG9ubHkgb24gVU5JWCBiYXNlZCBzeXN0ZW0sIGl0IGRvIG5vdCBzdXBwb3J0Ci0gICAgICAg ICAgICAjIFdpbmRvd3MgSGVuY2Ugd2UgaGF2ZSB3cm90ZSBvdXIgb3duIHBvb2xpbmcgbWVjaGFu aXNtIHRvIHJlYWQKLSAgICAgICAgICAgICMgZGF0YSBmYXN0IGVhY2ggY2FsbCBjb25uLnBvbGwo KSByZWFkcyBjaHVua3Mgb2YgZGF0YSBmcm9tCi0gICAgICAgICAgICAjIGNvbm5lY3Rpb24gb2Jq ZWN0IG1vcmUgd2UgcG9sbCBtb3JlIHdlIHJlYWQgZGF0YSBmcm9tIGNvbm5lY3Rpb24KLSAgICAg ICAgICAgIGNudCA9IDAKLSAgICAgICAgICAgIHdoaWxlIGNudCA8IDEwMDA6Ci0gICAgICAgICAg ICAgICAgIyBwb2xsIGFnYWluIHRvIGNoZWNrIHRoZSBzdGF0ZSBpZiBpdCBpcyBzdGlsbCBQT0xM X1JFQUQKLSAgICAgICAgICAgICAgICAjIHRoZW4gcmV0dXJuIEFTWU5DX1JFQURfVElNRU9VVCBl bHNlIHJldHVybiBBU1lOQ19PSy4KLSAgICAgICAgICAgICAgICBzdGF0ZSA9IGNvbm4ucG9sbCgp Ci0gICAgICAgICAgICAgICAgaWYgc3RhdGUgPT0gcHN5Y29wZzIuZXh0ZW5zaW9ucy5QT0xMX09L OgotICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2VsZi5BU1lOQ19PSwotICAgICAgICAgICAg ICAgIGNudCArPSAxCi0gICAgICAgICAgICByZXR1cm4gc2VsZi5BU1lOQ19SRUFEX1RJTUVPVVQK LSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHJhaXNlIHBzeWNvcGcyLk9wZXJhdGlvbmFsRXJy b3IoCi0gICAgICAgICAgICAgICAgInBvbGwoKSByZXR1cm5lZCAlcyBmcm9tIF93YWl0X3RpbWVv dXQgZnVuY3Rpb24iICUgc3RhdGUKLSAgICAgICAgICAgICkKKyAgICAgICAgICAgIGlmIHN0YXRl ID09IHBzeWNvcGcyLmV4dGVuc2lvbnMuUE9MTF9PSzoKKyAgICAgICAgICAgICAgICByZXR1cm4g c2VsZi5BU1lOQ19PSworICAgICAgICAgICAgZWxpZiBzdGF0ZSA9PSBwc3ljb3BnMi5leHRlbnNp b25zLlBPTExfV1JJVEU6CisgICAgICAgICAgICAgICAgIyBXYWl0IGZvciB0aGUgZ2l2ZW4gdGlt ZSBhbmQgdGhlbiBjaGVjayB0aGUgcmV0dXJuIHN0YXR1cworICAgICAgICAgICAgICAgICMgSWYg dGhyZWUgZW1wdHkgbGlzdHMgYXJlIHJldHVybmVkIHRoZW4gdGhlIHRpbWUtb3V0IGlzIHJlYWNo ZWQuCisgICAgICAgICAgICAgICAgdGltZW91dF9zdGF0dXMgPSBzZWxlY3Quc2VsZWN0KFtdLCBb Y29ubi5maWxlbm8oKV0sIFtdLCBzZWxmLkFTWU5DX1RJTUVPVVQpCisgICAgICAgICAgICAgICAg aWYgdGltZW91dF9zdGF0dXMgPT0gKFtdLCBbXSwgW10pOgorICAgICAgICAgICAgICAgICAgICBy ZXR1cm4gc2VsZi5BU1lOQ19XUklURV9USU1FT1VUCisgICAgICAgICAgICBlbGlmIHN0YXRlID09 IHBzeWNvcGcyLmV4dGVuc2lvbnMuUE9MTF9SRUFEOgorICAgICAgICAgICAgICAgICMgV2FpdCBm b3IgdGhlIGdpdmVuIHRpbWUgYW5kIHRoZW4gY2hlY2sgdGhlIHJldHVybiBzdGF0dXMKKyAgICAg ICAgICAgICAgICAjIElmIHRocmVlIGVtcHR5IGxpc3RzIGFyZSByZXR1cm5lZCB0aGVuIHRoZSB0 aW1lLW91dCBpcyByZWFjaGVkLgorICAgICAgICAgICAgICAgIHRpbWVvdXRfc3RhdHVzID0gc2Vs ZWN0LnNlbGVjdChbY29ubi5maWxlbm8oKV0sIFtdLCBbXSwgc2VsZi5BU1lOQ19USU1FT1VUKQor ICAgICAgICAgICAgICAgIGlmIHRpbWVvdXRfc3RhdHVzID09IChbXSwgW10sIFtdKToKKyAgICAg ICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYuQVNZTkNfUkVBRF9USU1FT1VUCisgICAgICAgICAg ICBlbHNlOgorICAgICAgICAgICAgICAgIHJhaXNlIHBzeWNvcGcyLk9wZXJhdGlvbmFsRXJyb3Io CisgICAgICAgICAgICAgICAgICAgICJwb2xsKCkgcmV0dXJuZWQgJXMgZnJvbSBfd2FpdF90aW1l b3V0IGZ1bmN0aW9uIiAlIHN0YXRlCisgICAgICAgICAgICAgICAgKQogCiAgICAgZGVmIHBvbGwo c2VsZiwgZm9ybWF0dGVkX2V4Y2VwdGlvbl9tc2c9RmFsc2UsIG5vX3Jlc3VsdD1GYWxzZSk6CiAg ICAgICAgICIiIgpAQCAtMTM0Nyw4ICsxMzI4LDggQEAgRmFpbGVkIHRvIHJlc2V0IHRoZSBjb25u ZWN0aW9uIHRvIHRoZSBzZXJ2ZXIgZHVlIHRvIGZvbGxvd2luZyBlcnJvcjoKICAgICAgICAgICAg IGlzX2Vycm9yID0gVHJ1ZQogCiAgICAgICAgIGlmIHNlbGYuY29ubi5ub3RpY2VzIGFuZCBzZWxm Ll9fbm90aWNlcyBpcyBub3QgTm9uZToKLSAgICAgICAgICAgIHdoaWxlIHNlbGYuY29ubi5ub3Rp Y2VzOgotICAgICAgICAgICAgICAgIHNlbGYuX19ub3RpY2VzLmFwcGVuZChzZWxmLmNvbm4ubm90 aWNlcy5wb3AoMClbOl0pCisgICAgICAgICAgICBzZWxmLl9fbm90aWNlcy5leHRlbmQoc2VsZi5j b25uLm5vdGljZXMpCisgICAgICAgICAgICBzZWxmLmNvbm4ubm90aWNlcy5jbGVhcigpCiAKICAg ICAgICAgIyBXZSBhbHNvIG5lZWQgdG8gZmV0Y2ggbm90aWNlcyBiZWZvcmUgd2UgcmV0dXJuIGZy b20gZnVuY3Rpb24gaW4gY2FzZQogICAgICAgICAjIG9mIGFueSBFeGNlcHRpb24sIFRvIGF2b2lk IGNvZGUgZHVwbGljYXRpb24gd2Ugd2lsbCByZXR1cm4gYWZ0ZXIK --94eb2c092ea26c5ef305664455c2--