Received: from maia.hub.org (maia-3.hub.org [200.46.204.243]) by mail.postgresql.org (Postfix) with ESMTP id D9E6C688A34 for ; Tue, 22 Jun 2010 15:25:05 -0300 (ADT) Received: from mail.postgresql.org ([200.46.204.86]) by maia.hub.org (mx1.hub.org [200.46.204.243]) (amavisd-maia, port 10024) with ESMTP id 66523-03-3 for ; Tue, 22 Jun 2010 18:24:58 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mail-gw0-f46.google.com (mail-gw0-f46.google.com [74.125.83.46]) by mail.postgresql.org (Postfix) with ESMTP id A275C688A22 for ; Tue, 22 Jun 2010 15:24:58 -0300 (ADT) Received: by gwaa12 with SMTP id a12so1184125gwa.19 for ; Tue, 22 Jun 2010 11:24:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:in-reply-to :references:date:message-id:subject:from:to:cc:content-type; bh=HMkfSn9Fk1TP5/+P6jDcLOGiqgpQkPxoCEbrJcoZoOE=; b=eR73M7P+YovG/5mE52l9212n0DQtHERiISJcf0N10rMLjlCZ4It5aW2jCWVcNGeExE IJaOoUv4pHFF8cB35cLvG3owb3/H3e2DQZmJTatXWN+BMff1lISgj+XF9f/qtK52cpTm ZIHAAUPAJrCYuXnxEkGr0ImSx8stJVCrLxAgA= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=VhJSGuo9iFdO5kEH8gCvOIgwal+9EiEZcjq278YVMdC6eXj7vpzw6ntzOdjnBtTd3u Mk7LaKlkD9a+HTIjM4olQJxczI55QkoxlGa5rJKcleyToSJcUKNldkZnHYAU0Lpm7DHu FvghrrEJDzo2WW+yBPFgNXTgts7BadU4/XX6k= MIME-Version: 1.0 Received: by 10.150.162.25 with SMTP id k25mr6731447ybe.279.1277231095693; Tue, 22 Jun 2010 11:24:55 -0700 (PDT) Received: by 10.150.148.14 with HTTP; Tue, 22 Jun 2010 11:24:55 -0700 (PDT) In-Reply-To: <4c20b2ed.0134e70a.19ef.5b22@mx.google.com> References: <4c20b2ed.0134e70a.19ef.5b22@mx.google.com> Date: Tue, 22 Jun 2010 14:24:55 -0400 Message-ID: Subject: Re: hot standby documentation From: Robert Haas To: Joshua Tolley Cc: pgsql-docs Content-Type: multipart/mixed; boundary=000e0cd6765ec141640489a28966 X-Virus-Scanned: Maia Mailguard 1.0.1 X-Spam-Status: No, hits=-1.9 tagged_above=-5 required=5 tests=BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001 X-Spam-Level: X-Archive-Number: 201006/53 X-Sequence-Number: 5621 --000e0cd6765ec141640489a28966 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable On Tue, Jun 22, 2010 at 8:56 AM, Joshua Tolley wrote: > I'm not sure it's worth pointing out that the database might still use te= mp > files. It seems an unnecessary level of detail. I realize you're probably > putting it here because you've edited that bit out of the docs elsewhere,= but > I still think it's unnecessary detail. That said, if it has to go somewhe= re, > +1 for this change. I agree, and your guess about how it ended up there is correct. Removed. >> - =A0 =A0Queries executed on the standby will be correct with regard to = the transactions >> - =A0 =A0that had been recovered at the start of the query, or start of = first statement >> - =A0 =A0in the case of serializable transactions. In comparison with th= e primary, >> - =A0 =A0the standby returns query results that could have been obtained= on the primary >> - =A0 =A0at some moment in the past. >> + =A0 =A0Queries executed on the standby will see a view of the database= that >> + =A0 =A0existed on the master at some moment in the past. > > Is it really that non-deterministic? /me admits not having followed that > discussion. Although the original version is pretty complex, it gives the= user > some feel for the particular moment in the past that their snapshot will > represent. If the original is incorrect, it would be nice to replace it w= ith > something that doesn't suggest the user might end up with a snapshot from= last > week. I had another go at this. > s/is depending/depends/ Fixed. See attached. --=20 Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise Postgres Company --000e0cd6765ec141640489a28966 Content-Type: application/octet-stream; name="hot-standby-docs-v2.patch" Content-Disposition: attachment; filename="hot-standby-docs-v2.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gar2epiq1 ZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9oaWdoLWF2YWlsYWJpbGl0eS5zZ21sIGIvZG9jL3Ny Yy9zZ21sL2hpZ2gtYXZhaWxhYmlsaXR5LnNnbWwKaW5kZXggMWY4Mzc2ZC4uNTE2MDI0YiAxMDA2 NDQKLS0tIGEvZG9jL3NyYy9zZ21sL2hpZ2gtYXZhaWxhYmlsaXR5LnNnbWwKKysrIGIvZG9jL3Ny Yy9zZ21sL2hpZ2gtYXZhaWxhYmlsaXR5LnNnbWwKQEAgLTExNTAsOSArMTE1MCwxMCBAQCBpZiAo IXRyaWdnZXJlZCkKICAgIDx0aXRsZT5Vc2VyJ3MgT3ZlcnZpZXc8L3RpdGxlPgogCiAgICA8cGFy YT4KLSAgICBVc2VycyBjYW4gY29ubmVjdCB0byB0aGUgZGF0YWJhc2Ugc2VydmVyIHdoaWxlIGl0 IGlzIGluIHJlY292ZXJ5Ci0gICAgbW9kZSBhbmQgcGVyZm9ybSByZWFkLW9ubHkgcXVlcmllcy4g UmVhZC1vbmx5IGFjY2VzcyB0byBzeXN0ZW0KLSAgICBjYXRhbG9ncyBhbmQgdmlld3Mgd2lsbCBh bHNvIG9jY3VyIGFzIG5vcm1hbC4KKyAgICBXaGVuIHRoZSA8eHJlZiBsaW5rZW5kPSJndWMtaG90 LXN0YW5kYnkiPiBwYXJhbWV0ZXIgaXMgc2V0IHRvIHRydWUgb24gYQorICAgIHN0YW5kYnkgc2Vy dmVyLCBpdCB3aWxsIGJlZ2luIGFjY2VwdGluZyBjb25uZWN0aW9ucyBvbmNlIHRoZSByZWNvdmVy eSBoYXMKKyAgICBicm91Z2h0IHRoZSBzeXN0ZW0gdG8gYSBjb25zaXN0ZW50IHN0YXRlLiAgQWxs IHN1Y2ggY29ubmVjdGlvbnMgYXJlCisgICAgc3RyaWN0bHkgcmVhZC1vbmx5OyBub3QgZXZlbiB0 ZW1wb3JhcnkgdGFibGVzIG1heSBiZSB3cml0dGVuLgogICAgPC9wYXJhPgogCiAgICA8cGFyYT4K QEAgLTExNjAsNDIgKzExNjEsMjEgQEAgaWYgKCF0cmlnZ2VyZWQpCiAgICAgc28gdGhlcmUgd2ls bCBiZSBhIG1lYXN1cmFibGUgZGVsYXkgYmV0d2VlbiBwcmltYXJ5IGFuZCBzdGFuZGJ5LiBSdW5u aW5nIHRoZQogICAgIHNhbWUgcXVlcnkgbmVhcmx5IHNpbXVsdGFuZW91c2x5IG9uIGJvdGggcHJp bWFyeSBhbmQgc3RhbmRieSBtaWdodCB0aGVyZWZvcmUKICAgICByZXR1cm4gZGlmZmVyaW5nIHJl c3VsdHMuIFdlIHNheSB0aGF0IGRhdGEgb24gdGhlIHN0YW5kYnkgaXMKLSAgICA8Zmlyc3R0ZXJt PmV2ZW50dWFsbHkgY29uc2lzdGVudDwvZmlyc3R0ZXJtPiB3aXRoIHRoZSBwcmltYXJ5LgotICAg IFF1ZXJpZXMgZXhlY3V0ZWQgb24gdGhlIHN0YW5kYnkgd2lsbCBiZSBjb3JyZWN0IHdpdGggcmVn YXJkIHRvIHRoZSB0cmFuc2FjdGlvbnMKLSAgICB0aGF0IGhhZCBiZWVuIHJlY292ZXJlZCBhdCB0 aGUgc3RhcnQgb2YgdGhlIHF1ZXJ5LCBvciBzdGFydCBvZiBmaXJzdCBzdGF0ZW1lbnQKLSAgICBp biB0aGUgY2FzZSBvZiBzZXJpYWxpemFibGUgdHJhbnNhY3Rpb25zLiBJbiBjb21wYXJpc29uIHdp dGggdGhlIHByaW1hcnksCi0gICAgdGhlIHN0YW5kYnkgcmV0dXJucyBxdWVyeSByZXN1bHRzIHRo YXQgY291bGQgaGF2ZSBiZWVuIG9idGFpbmVkIG9uIHRoZSBwcmltYXJ5Ci0gICAgYXQgc29tZSBt b21lbnQgaW4gdGhlIHBhc3QuCisgICAgPGZpcnN0dGVybT5ldmVudHVhbGx5IGNvbnNpc3RlbnQ8 L2ZpcnN0dGVybT4gd2l0aCB0aGUgcHJpbWFyeS4gIE9uY2UgdGhlCisgICAgY29tbWl0IHJlY29y ZCBmb3IgYSB0cmFuc2FjdGlvbiBpcyByZXBsYXllZCBvbiB0aGUgc3RhbmRieSwgdGhlIGNoYW5n ZXMKKyAgICBtYWRlIGJ5IHRoYXQgdHJhbnNhY3Rpb24gd2lsbCBiZSB2aXNpYmxlIHRvIGFueSBu ZXcgc25hcHNob3RzIHRha2VuIG9uCisgICAgdGhlIHN0YW5kYnkuICBTbmFwc2hvdHMgbWF5IGJl IHRha2VuIGF0IHRoZSBzdGFydCBvZiBlYWNoIHF1ZXJ5IG9yIGF0IHRoZQorICAgIHN0YXJ0IG9m IGVhY2ggdHJhbnNhY3Rpb24sIGRlcGVuZGluZyBvbiB0aGUgY3VycmVudCB0cmFuc2FjdGlvbiBp c29sYXRpb24KKyAgICBsZXZlbC4gIEZvciBtb3JlIGRldGFpbHMsIHNlZSA8eHJlZiBsaW5rZW5k PSJ0cmFuc2FjdGlvbi1pc28iPi4KICAgIDwvcGFyYT4KIAogICAgPHBhcmE+Ci0gICAgV2hlbiBh IHRyYW5zYWN0aW9uIGlzIHN0YXJ0ZWQgaW4gcmVjb3ZlcnksIHRoZSBwYXJhbWV0ZXIKLSAgICA8 dmFybmFtZT50cmFuc2FjdGlvbl9yZWFkX29ubHk8Lz4gd2lsbCBiZSBmb3JjZWQgdG8gYmUgdHJ1 ZSwgcmVnYXJkbGVzcyBvZiB0aGUKLSAgICA8dmFybmFtZT5kZWZhdWx0X3RyYW5zYWN0aW9uX3Jl YWRfb25seTwvPiBzZXR0aW5nIGluIDxmaWxlbmFtZT5wb3N0Z3Jlc3FsLmNvbmY8Lz4uCi0gICAg SXQgY2FuJ3QgYmUgbWFudWFsbHkgc2V0IHRvIGZhbHNlIGVpdGhlci4gQXMgYSByZXN1bHQsIGFs bCB0cmFuc2FjdGlvbnMKLSAgICBzdGFydGVkIGR1cmluZyByZWNvdmVyeSB3aWxsIGJlIGxpbWl0 ZWQgdG8gcmVhZC1vbmx5IGFjdGlvbnMuIEluIGFsbAotICAgIG90aGVyIHdheXMsIGNvbm5lY3Rl ZCBzZXNzaW9ucyB3aWxsIGFwcGVhciBpZGVudGljYWwgdG8gc2Vzc2lvbnMKLSAgICBpbml0aWF0 ZWQgZHVyaW5nIG5vcm1hbCBwcm9jZXNzaW5nIG1vZGUuIFRoZXJlIGFyZSBubyBzcGVjaWFsIGNv bW1hbmRzCi0gICAgcmVxdWlyZWQgdG8gaW5pdGlhdGUgYSBjb25uZWN0aW9uIHNvIGFsbCBpbnRl cmZhY2VzCi0gICAgd29yayB1bmNoYW5nZWQuIEFmdGVyIHJlY292ZXJ5IGZpbmlzaGVzLCB0aGUg c2Vzc2lvbgotICAgIHdpbGwgYWxsb3cgbm9ybWFsIHJlYWQtd3JpdGUgdHJhbnNhY3Rpb25zIGF0 IHRoZSBzdGFydCBvZiB0aGUgbmV4dAotICAgIHRyYW5zYWN0aW9uLCBpZiB0aGVzZSBhcmUgcmVx dWVzdGVkLgotICAgPC9wYXJhPgotCi0gICA8cGFyYT4KLSAgICAiUmVhZC1vbmx5IiBhYm92ZSBt ZWFucyBubyB3cml0ZXMgdG8gdGhlIHBlcm1hbmVudCBvciB0ZW1wb3JhcnkgZGF0YWJhc2UKLSAg ICB0YWJsZXMuICBUaGVyZSBhcmUgbm8gcHJvYmxlbXMgd2l0aCBxdWVyaWVzIHRoYXQgdXNlIHRy YW5zaWVudCBzb3J0IGFuZAotICAgIHdvcmsgZmlsZXMuCi0gICA8L3BhcmE+Ci0KLSAgIDxwYXJh PgotICAgIFRoZSBmb2xsb3dpbmcgYWN0aW9ucyBhcmUgYWxsb3dlZDoKKyAgICBUcmFuc2FjdGlv bnMgc3RhcnRlZCBkdXJpbmcgcmVjb3ZlcnkgbWF5IGlzc3VlIHRoZSBmb2xsb3dpbmcgY29tbWFu ZHM6CiAKICAgICA8aXRlbWl6ZWRsaXN0PgogICAgICA8bGlzdGl0ZW0+CiAgICAgICA8cGFyYT4K LSAgICAgICBRdWVyeSBhY2Nlc3MgLSA8Y29tbWFuZD5TRUxFQ1Q8Lz4sIDxjb21tYW5kPkNPUFkg VE88Lz4gaW5jbHVkaW5nIHZpZXdzIGFuZAotICAgICAgIDxjb21tYW5kPlNFTEVDVDwvPiBydWxl cworICAgICAgIFF1ZXJ5IGFjY2VzcyAtIDxjb21tYW5kPlNFTEVDVDwvPiwgPGNvbW1hbmQ+Q09Q WSBUTzwvPgogICAgICAgPC9wYXJhPgogICAgICA8L2xpc3RpdGVtPgogICAgICA8bGlzdGl0ZW0+ CkBAIC0xMjUxLDcgKzEyMzEsOSBAQCBpZiAoIXRyaWdnZXJlZCkKICAgIDwvcGFyYT4KIAogICAg PHBhcmE+Ci0gICAgVGhlc2UgYWN0aW9ucyBwcm9kdWNlIGVycm9yIG1lc3NhZ2VzOgorICAgIFRy YW5zYWN0aW9ucyBzdGFydGVkIGR1cmluZyByZWNvdmVyeSBtYXkgbmV2ZXIgYmUgYXNzaWduZWQg YSB0cmFuc2FjdGlvbiBJRAorICAgIGFuZCBtYXkgbm90IHdyaXRlIHRvIHRoZSBzeXN0ZW0gd3Jp dGUtYWhlYWQgbG9nLiAgVGhlcmVmb3JlLCB0aGUgZm9sbG93aW5nCisgICAgYWN0aW9ucyB3aWxs IHByb2R1Y2UgZXJyb3IgbWVzc2FnZXM6CiAKICAgICA8aXRlbWl6ZWRsaXN0PgogICAgICA8bGlz dGl0ZW0+CkBAIC0xMjYwLDIwICsxMjQyLDI0IEBAIGlmICghdHJpZ2dlcmVkKQogICAgICAgIDxj b21tYW5kPlVQREFURTwvPiwgPGNvbW1hbmQ+REVMRVRFPC8+LCA8Y29tbWFuZD5DT1BZIEZST008 Lz4sCiAgICAgICAgPGNvbW1hbmQ+VFJVTkNBVEU8Lz4uCiAgICAgICAgTm90ZSB0aGF0IHRoZXJl IGFyZSBubyBhbGxvd2VkIGFjdGlvbnMgdGhhdCByZXN1bHQgaW4gYSB0cmlnZ2VyCi0gICAgICAg YmVpbmcgZXhlY3V0ZWQgZHVyaW5nIHJlY292ZXJ5LgorICAgICAgIGJlaW5nIGV4ZWN1dGVkIGR1 cmluZyByZWNvdmVyeS4gIFRoaXMgcmVzdHJpY3Rpb24gYXBwbGllcyBldmVuIHRvCisgICAgICAg dGVtcG9yYXJ5IHRhYmxlcywgYmVjYXVzZSB0YWJsZSByb3dzIGNhbm5vdCBiZSByZWFkIG9yIHdy aXR0ZW4gd2l0aG91dAorICAgICAgIGFzc2lnbmluZyBhIHRyYW5zYWN0aW9uIElELCB3aGljaCBp cyBjdXJyZW50bHkgbm90IHBvc3NpYmxlIGluIGEKKyAgICAgICBIb3QgU3RhbmRieSBlbnZpcm9u bWVudC4KICAgICAgIDwvcGFyYT4KICAgICAgPC9saXN0aXRlbT4KICAgICAgPGxpc3RpdGVtPgog ICAgICAgPHBhcmE+CiAgICAgICAgRGF0YSBEZWZpbml0aW9uIExhbmd1YWdlIChEREwpIC0gPGNv bW1hbmQ+Q1JFQVRFPC8+LAogICAgICAgIDxjb21tYW5kPkRST1A8Lz4sIDxjb21tYW5kPkFMVEVS PC8+LCA8Y29tbWFuZD5DT01NRU5UPC8+LgotICAgICAgIFRoaXMgYWxzbyBhcHBsaWVzIHRvIHRl bXBvcmFyeSB0YWJsZXMgYWxzbyBiZWNhdXNlIGN1cnJlbnRseSB0aGVpcgotICAgICAgIGRlZmlu aXRpb24gY2F1c2VzIHdyaXRlcyB0byBjYXRhbG9nIHRhYmxlcy4KKyAgICAgICBUaGlzIHJlc3Ry aWN0aW9uIGFwcGxpZXMgZXZlbiB0byB0ZW1wb3JhcnkgdGFibGVzLCBiZWNhdXNlIGNhcnJ5aW5n CisgICAgICAgb3V0IHRoZXNlIG9wZXJhdGlvbnMgd291bGQgcmVxdWlyZSB1cGRhdGluZyB0aGUg c3lzdGVtIGNhdGFsb2cgdGFibGVzLgogICAgICAgPC9wYXJhPgogICAgICA8L2xpc3RpdGVtPgog ICAgICA8bGlzdGl0ZW0+CiAgICAgICA8cGFyYT4KLSAgICAgICA8Y29tbWFuZD5TRUxFQ1QgLi4u IEZPUiBTSEFSRSB8IFVQREFURTwvPiB3aGljaCBjYXVzZSByb3cgbG9ja3MgdG8gYmUgd3JpdHRl bgorICAgICAgIDxjb21tYW5kPlNFTEVDVCAuLi4gRk9SIFNIQVJFIHwgVVBEQVRFPC8+LCBiZWNh dXNlIHJvdyBsb2NrcyBjYW5ub3QgYmUKKyAgICAgICB0YWtlbiB3aXRob3V0IHVwZGF0aW5nIHRo ZSB1bmRlcmx5aW5nIGRhdGEgZmlsZXMuCiAgICAgICA8L3BhcmE+CiAgICAgIDwvbGlzdGl0ZW0+ CiAgICAgIDxsaXN0aXRlbT4KQEAgLTEzMzcsMjAgKzEzMjMsMjIgQEAgaWYgKCF0cmlnZ2VyZWQp CiAgICA8L3BhcmE+CiAKICAgIDxwYXJhPgotICAgIE5vdGUgdGhhdCB0aGUgY3VycmVudCBiZWhh dmlvciBvZiByZWFkIG9ubHkgdHJhbnNhY3Rpb25zIHdoZW4gbm90IGluCi0gICAgcmVjb3Zlcnkg aXMgdG8gYWxsb3cgdGhlIGxhc3QgdHdvIGFjdGlvbnMsIHNvIHRoZXJlIGFyZSBzbWFsbCBhbmQK LSAgICBzdWJ0bGUgZGlmZmVyZW5jZXMgaW4gYmVoYXZpb3IgYmV0d2VlbiByZWFkLW9ubHkgdHJh bnNhY3Rpb25zCi0gICAgcnVuIG9uIGEgc3RhbmRieSBhbmQgcnVuIGR1cmluZyBub3JtYWwgb3Bl cmF0aW9uLgotICAgIEl0IGlzIHBvc3NpYmxlIHRoYXQgPGNvbW1hbmQ+TElTVEVOPC8+LCA8Y29t bWFuZD5VTkxJU1RFTjwvPiwKLSAgICBhbmQgdGVtcG9yYXJ5IHRhYmxlcyBtaWdodCBiZSBhbGxv d2VkIGluIGEgZnV0dXJlIHJlbGVhc2UuCisgICAgT3V0c2lkZSBvZiByZWNvdmVyeSwgcmVhZC1v bmx5IHRyYW5zYWN0aW9ucyBhcmUgYWxsb3dlZCB0byB1cGRhdGUgc2VxdWVuY2VzCisgICAgYW5k IHRvIHVzZSA8Y29tbWFuZD5MSVNURU48Lz4sIDxjb21tYW5kPlVOTElTVEVOPC8+LCBhbmQKKyAg ICA8Y29tbWFuZD5OT1RJRlk8Lz4sIHNvIEhvdCBTdGFuZGJ5IHNlc3Npb25zIG9wZXJhdGUgdW5k ZXIgc2xpZ2h0bHkgdGlnaHRlcgorICAgIHJlc3RyaWN0aW9ucyB0aGFuIG9yZGluYXJ5IHJlYWQt b25seSBzZXNzaW9ucy4gIEl0IGlzIHBvc3NpYmxlIHRoYXQgc29tZQorICAgIG9mIHRoZXNlIHJl c3RyaWN0aW9ucyBtaWdodCBiZSBsb29zZW5lZCBpbiBhIGZ1dHVyZSByZWxlYXNlLgogICAgPC9w YXJhPgogCiAgICA8cGFyYT4KLSAgICBJZiBmYWlsb3ZlciBvciBzd2l0Y2hvdmVyIG9jY3VycyB0 aGUgZGF0YWJhc2Ugd2lsbCBzd2l0Y2ggdG8gbm9ybWFsCi0gICAgcHJvY2Vzc2luZyBtb2RlLiBT ZXNzaW9ucyB3aWxsIHJlbWFpbiBjb25uZWN0ZWQgd2hpbGUgdGhlIHNlcnZlcgotICAgIGNoYW5n ZXMgbW9kZS4gQ3VycmVudCB0cmFuc2FjdGlvbnMgd2lsbCBjb250aW51ZSwgdGhvdWdoIHdpbGwg cmVtYWluCi0gICAgcmVhZC1vbmx5LiBBZnRlciByZWNvdmVyeSBpcyBjb21wbGV0ZSwgaXQgd2ls bCBiZSBwb3NzaWJsZSB0byBpbml0aWF0ZQotICAgIHJlYWQtd3JpdGUgdHJhbnNhY3Rpb25zLgor ICAgIER1cmluZyByZWNvdmVyeSwgdGhlIHBhcmFtZXRlciA8dmFybmFtZT50cmFuc2FjdGlvbl9y ZWFkX29ubHk8Lz4gaXMgYWx3YXlzCisgICAgdHJ1ZSBhbmQgbWF5IG5vdCBiZSBjaGFuZ2VkLiAg QnV0IGFzIGxvbmcgYXMgbm8gYXR0ZW1wdCBpcyBtYWRlIHRvIG1vZGlmeQorICAgIHRoZSBkYXRh YmFzZSwgY29ubmVjdGlvbnMgZHVyaW5nIHJlY292ZXJ5IHdpbGwgYWN0IG11Y2ggbGlrZSBhbnkg b3RoZXIKKyAgICBkYXRhYmFzZSBjb25uZWN0aW9uLiAgSWYgZmFpbG92ZXIgb3Igc3dpdGNob3Zl ciBvY2N1cnMsIHRoZSBkYXRhYmFzZSB3aWxsCisgICAgc3dpdGNoIHRvIG5vcm1hbCBwcm9jZXNz aW5nIG1vZGUuICBTZXNzaW9ucyB3aWxsIHJlbWFpbiBjb25uZWN0ZWQgd2hpbGUgdGhlCisgICAg c2VydmVyIGNoYW5nZXMgbW9kZS4gIE9uY2UgcmVjb3ZlcnkgZmluaXNoZXMsIGl0IHdpbGwgYmUg cG9zc2libGUgdG8KKyAgICBpbml0aWF0ZSByZWFkLXdyaXRlIHRyYW5zYWN0aW9ucyAoZXZlbiBm cm9tIGEgc2Vzc2lvbiBiZWd1biBkdXJpbmcKKyAgICByZWNvdmVyeSkuCiAgICA8L3BhcmE+CiAK ICAgIDxwYXJhPgpAQCAtMTM2NCwxNSArMTM1Miw3IEBAIGlmICghdHJpZ2dlcmVkKQogICAgPC9w YXJhPgogCiAgICA8cGFyYT4KLSAgICBJbiByZWNvdmVyeSwgdHJhbnNhY3Rpb25zIHdpbGwgbm90 IGJlIHBlcm1pdHRlZCB0byB0YWtlIGFueSB0YWJsZSBsb2NrCi0gICAgaGlnaGVyIHRoYW4gPGxp dGVyYWw+Um93RXhjbHVzaXZlTG9jazwvPi4gSW4gYWRkaXRpb24sIHRyYW5zYWN0aW9ucyBtYXkg bmV2ZXIgYXNzaWduCi0gICAgYSBUcmFuc2FjdGlvbklkIGFuZCBtYXkgbmV2ZXIgd3JpdGUgV0FM LgotICAgIEFueSA8Y29tbWFuZD5MT0NLIFRBQkxFPC8+IGNvbW1hbmQgdGhhdCBydW5zIG9uIHRo ZSBzdGFuZGJ5IGFuZCByZXF1ZXN0cwotICAgIGEgc3BlY2lmaWMgbG9jayBtb2RlIGhpZ2hlciB0 aGFuIDxsaXRlcmFsPlJPVyBFWENMVVNJVkUgTU9ERTwvPiB3aWxsIGJlIHJlamVjdGVkLgotICAg PC9wYXJhPgotCi0gICA8cGFyYT4KLSAgICBJbiBnZW5lcmFsIHF1ZXJpZXMgd2lsbCBub3QgZXhw ZXJpZW5jZSBsb2NrIGNvbmZsaWN0cyBmcm9tIHRoZSBkYXRhYmFzZQorICAgIEluIGdlbmVyYWws IHF1ZXJpZXMgd2lsbCBub3QgZXhwZXJpZW5jZSBsb2NrIGNvbmZsaWN0cyBmcm9tIHRoZSBkYXRh YmFzZQogICAgIGNoYW5nZXMgbWFkZSBieSByZWNvdmVyeS4gVGhpcyBpcyBiZWNhdXNlIHJlY292 ZXJ5IGZvbGxvd3Mgbm9ybWFsCiAgICAgY29uY3VycmVuY3kgY29udHJvbCBtZWNoYW5pc21zLCBr bm93biBhcyA8YWNyb255bT5NVkNDPC8+LiBUaGVyZSBhcmUKICAgICBzb21lIHR5cGVzIG9mIGNo YW5nZSB0aGF0IHdpbGwgY2F1c2UgY29uZmxpY3RzLCBjb3ZlcmVkIGluIHRoZSBmb2xsb3dpbmcK QEAgLTEzOTcsOCArMTM3Nyw3IEBAIGlmICghdHJpZ2dlcmVkKQogICAgIFRoZXNlIGNvbmZsaWN0 cyBhcmUgPGVtcGhhc2lzPmhhcmQgY29uZmxpY3RzPC8+IGluIHRoZSBzZW5zZSB0aGF0IHF1ZXJp ZXMKICAgICBtaWdodCBuZWVkIHRvIGJlIGNhbmNlbGxlZCBhbmQsIGluIHNvbWUgY2FzZXMsIHNl c3Npb25zIGRpc2Nvbm5lY3RlZCB0byByZXNvbHZlIHRoZW0uCiAgICAgVGhlIHVzZXIgaXMgcHJv dmlkZWQgd2l0aCBzZXZlcmFsIHdheXMgdG8gaGFuZGxlIHRoZXNlCi0gICAgY29uZmxpY3RzLCB0 aG91Z2ggaXQgaXMgaW1wb3J0YW50IHRvIGZpcnN0IHVuZGVyc3RhbmQgdGhlIHBvc3NpYmxlIGNh dXNlcwotICAgIG9mIGNvbmZsaWN0czoKKyAgICBjb25mbGljdHMuIENvbmZsaWN0cyBjYW4gYmUg Y2F1c2VkIGJ5OgogCiAgICAgICA8aXRlbWl6ZWRsaXN0PgogICAgICAgIDxsaXN0aXRlbT4KQEAg LTE0MjcsNyArMTQwNiw3IEBAIGlmICghdHJpZ2dlcmVkKQogICAgICAgIDwvbGlzdGl0ZW0+CiAg ICAgICAgPGxpc3RpdGVtPgogICAgICAgICA8cGFyYT4KLSAgICAgICAgIEVhcmx5IGNsZWFudXAg b2YgZGF0YSBzdGlsbCB2aXNpYmxlIHRvIHRoZSBjdXJyZW50IHF1ZXJ5J3Mgc25hcHNob3QKKyAg ICAgICAgIEVhcmx5IGNsZWFudXAgb2YgZGF0YSBzdGlsbCB2aXNpYmxlIHRvIHRoZSBjdXJyZW50 IHF1ZXJ5J3Mgc25hcHNob3QuCiAgICAgICAgIDwvcGFyYT4KICAgICAgICA8L2xpc3RpdGVtPgog ICAgICAgPC9pdGVtaXplZGxpc3Q+CkBAIC0xNTAzLDE2ICsxNDgyLDE2IEBAIGlmICghdHJpZ2dl cmVkKQogICAgICAgICAgSWYgdGhlIGNvbmZsaWN0IGlzIGNhdXNlZCBieSBjbGVhbnVwIHJlY29y ZHMsIHRoZSBzdGFuZGJ5IHF1ZXJ5IGlzIGluZm9ybWVkCiAgICAgICAgICBhIGNvbmZsaWN0IGhh cyBvY2N1cnJlZCBhbmQgdGhhdCBpdCBtdXN0IGNhbmNlbCBpdHNlbGYgdG8gYXZvaWQgdGhlCiAg ICAgICAgICByaXNrIHRoYXQgaXQgc2lsZW50bHkgZmFpbHMgdG8gcmVhZCByZWxldmFudCBkYXRh IGJlY2F1c2UKLSAgICAgICAgIHRoYXQgZGF0YSBoYXMgYmVlbiByZW1vdmVkLiAoVGhpcyBpcyBy ZWdyZXR0YWJseSBzaW1pbGFyIHRvIHRoZQotICAgICAgICAgbXVjaCBmZWFyZWQgYW5kIGljb25p YyBlcnJvciBtZXNzYWdlICJzbmFwc2hvdCB0b28gb2xkIikuIFNvbWUgY2xlYW51cAorICAgICAg ICAgdGhhdCBkYXRhIGhhcyBiZWVuIHJlbW92ZWQuICBTb21lIGNsZWFudXAKICAgICAgICAgIHJl Y29yZHMgb25seSBjb25mbGljdCB3aXRoIG9sZGVyIHF1ZXJpZXMsIHdoaWxlIG90aGVycwogICAg ICAgICAgY2FuIGFmZmVjdCBhbGwgcXVlcmllcy4KICAgICAgICAgPC9wYXJhPgogCiAgICAgICAg IDxwYXJhPgotICAgICAgICAgSWYgY2FuY2VsbGF0aW9uIGRvZXMgb2NjdXIsIHRoZSBxdWVyeSBh bmQvb3IgdHJhbnNhY3Rpb24gY2FuIGFsd2F5cwotICAgICAgICAgYmUgcmUtZXhlY3V0ZWQuIFRo ZSBlcnJvciBpcyBkeW5hbWljIGFuZCB3aWxsIG5vdCBuZWNlc3NhcmlseSByZW9jY3VyCi0gICAg ICAgICBpZiB0aGUgcXVlcnkgaXMgZXhlY3V0ZWQgYWdhaW4uCisJCSBDYW5jZWxsZWQgcXVlcmll cyBtYXkgYmUgcmV0cmllZCBpbW1lZGlhdGVseSAoYWZ0ZXIgYmVnaW5uaW5nIGEgbmV3CisgICAg ICAgICB0cmFuc2FjdGlvbiwgb2YgY291cnNlKS4gIFNpbmNlIHF1ZXJ5IGNhbmNlbGxhdGlvbiBk ZXBlbmRzIG9uCisgICAgICAgICB0aGUgbmF0dXJlIG9mIHRoZSBXQUwgcmVjb3JkcyBiZWluZyBy ZXBsYXllZCwgYSBxdWVyeSB0aGF0IHdhcworICAgICAgICAgY2FuY2VsbGVkIG1heSBzdWNjZWVk IGlmIGl0IGlzIGV4ZWN1dGVkIGFnYWluLgogICAgICAgICA8L3BhcmE+CiAgICAgICAgPC9saXN0 aXRlbT4KICAgICAgIDwvaXRlbWl6ZWRsaXN0PgpAQCAtMTUzMyw3ICsxNTEyLDcgQEAgaWYgKCF0 cmlnZ2VyZWQpCiAgICAgPHBhcmE+CiAgICAgIEJlIHN1cmUgdGhhdCB0aGUgcHJpbWFyeSBhbmQg c3RhbmRieSBzZXJ2ZXJzJyBjbG9ja3MgYXJlIGtlcHQgaW4gc3luYzsKICAgICAgb3RoZXJ3aXNl IHRoZSB2YWx1ZXMgY29tcGFyZWQgdG8gPHZhcm5hbWU+bWF4X3N0YW5kYnlfZGVsYXk8Lz4gd2ls bCBiZQotICAgICBlcnJvbmVvdXMsIHBvc3NpYmx5IGxlYWRpbmcgdG8gdW5kZXNpcmFibGUgcXVl cnkgY2FuY2VsbGF0aW9ucy4KKyAgICAgZXJyb25lb3VzLCBwb3NzaWJseSBsZWFkaW5nIHRvIGFk ZGl0aW9uYWwgcXVlcnkgY2FuY2VsbGF0aW9ucy4KICAgICAgSWYgdGhlIGNsb2NrcyBhcmUgaW50 ZW50aW9uYWxseSBub3QgaW4gc3luYywgb3IgaWYgdGhlcmUgaXMgYSBsYXJnZQogICAgICBwcm9w YWdhdGlvbiBkZWxheSBmcm9tIHByaW1hcnkgdG8gc3RhbmRieSwgaXQgaXMgYWR2aXNhYmxlIHRv IHNldAogICAgICA8dmFybmFtZT5tYXhfc3RhbmRieV9kZWxheTwvPiB0byAtMS4gIEluIGFueSBj YXNlIHRoZSB2YWx1ZSBzaG91bGQgYmUKQEAgLTE1NTcsMTAgKzE1MzYsMTAgQEAgaWYgKCF0cmln Z2VyZWQpCiAgICAgYXMgZGVzY3JpYmVkIGFib3ZlLiBUaGlzIGNvdWxkIGJlIGRvbmUgdXNpbmcg PGZpbGVuYW1lPmNvbnRyaWIvZGJsaW5rPC8+CiAgICAgYW5kIDxmdW5jdGlvbj5wZ19zbGVlcCgp PC8+LCBvciB2aWEgb3RoZXIgbWVjaGFuaXNtcy4gSWYgeW91IGRvIHRoaXMsIHlvdQogICAgIHNo b3VsZCBub3RlIHRoYXQgdGhpcyB3aWxsIGRlbGF5IGNsZWFudXAgb2YgZGVhZCByb3dzIG9uIHRo ZSBwcmltYXJ5IGJ5Ci0gICAgdmFjdXVtIG9yIEhPVCwgYW5kIHBlb3BsZSBtaWdodCBmaW5kIHRo aXMgdW5kZXNpcmFibGUuIEhvd2V2ZXIsIHJlbWVtYmVyCisgICAgdmFjdXVtIG9yIEhPVCwgd2hp Y2ggbWF5IGJlIHVuZGVzaXJhYmxlLiBIb3dldmVyLCByZW1lbWJlcgogICAgIHRoYXQgdGhlIHBy aW1hcnkgYW5kIHN0YW5kYnkgbm9kZXMgYXJlIGxpbmtlZCB2aWEgdGhlIFdBTCwgc28gdGhlIGNs ZWFudXAKICAgICBzaXR1YXRpb24gaXMgbm8gZGlmZmVyZW50IGZyb20gdGhlIGNhc2Ugd2hlcmUg dGhlIHF1ZXJ5IHJhbiBvbiB0aGUgcHJpbWFyeQotICAgIG5vZGUgaXRzZWxmLiAgQW5kIHlvdSBh cmUgc3RpbGwgZ2V0dGluZyB0aGUgYmVuZWZpdCBvZiBvZmYtbG9hZGluZyB0aGUKKyAgICBub2Rl IGl0c2VsZiwgYW5kIHlvdSBhcmUgc3RpbGwgZ2V0dGluZyB0aGUgYmVuZWZpdCBvZiBvZmYtbG9h ZGluZyB0aGUKICAgICBleGVjdXRpb24gb250byB0aGUgc3RhbmRieS4gPHZhcm5hbWU+bWF4X3N0 YW5kYnlfZGVsYXk8Lz4gc2hvdWxkCiAgICAgbm90IGJlIHVzZWQgaW4gdGhpcyBjYXNlIGJlY2F1 c2UgZGVsYXllZCBXQUwgZmlsZXMgbWlnaHQgYWxyZWFkeQogICAgIGNvbnRhaW4gZW50cmllcyB0 aGF0IGludmFsaWRhdGUgdGhlIGN1cnJlbnQgc25hcHNob3QuCg== --000e0cd6765ec141640489a28966--