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.96) (envelope-from ) id 1wSxMa-000DmJ-2E for pgsql-hackers@arkaria.postgresql.org; Fri, 29 May 2026 13:35:01 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wSxMZ-002lpj-0d for pgsql-hackers@arkaria.postgresql.org; Fri, 29 May 2026 13:34:59 +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.96) (envelope-from ) id 1wSxJU-002io3-29 for pgsql-hackers@lists.postgresql.org; Fri, 29 May 2026 13:31:49 +0000 Received: from mail-ot1-x32b.google.com ([2607:f8b0:4864:20::32b]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1wSxJS-000000007qC-1Gaj for pgsql-hackers@lists.postgresql.org; Fri, 29 May 2026 13:31:48 +0000 Received: by mail-ot1-x32b.google.com with SMTP id 46e09a7af769-7e615efd7d7so5682020a34.2 for ; Fri, 29 May 2026 06:31:46 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1780061505; cv=none; d=google.com; s=arc-20240605; b=bkCJpoZUOvkexIhqbdztZegUNhhwWfPuvnfp+nm7QoQNB9awbvJOSG5BVBBjk8Jklk oVEW3jQewStdn4GCURgSSZchKXC/QXhgFRXrAlzUEQ7Owk5L47vDiHJIccq8hKDtjc+y qZxJLZbFFdp3SV6fFZxapZS4LsG8GywIQZ+hXRqw7kH/MAeh6rcgP6mtC4BWlVxaTL8L vAeeslF0H9z88nue49B+4i9uczTi3a3RdXtSusynJ+xLQGoIWjVK/oYS3J48A+TLBIIY YEpcPReMWRbeQ6uux5hck6gEySHHKCRI0KqEuzHXU+u/soL75PomIwvTs7zUnnHxGfC8 Nz6w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=y6bqQcma8U5iABE5FTqqJgxZvdt4T12IUwCSrmjd9lo=; fh=Ti5UUWWnIawXjRDrxK96yl2MCM81GcRJ2EeXAktfwrY=; b=J+EkxIAkZ77wxmzzIwzq+0eVpxvOWv55/SqhW5exEoPFkKPuN2vP4GOUudfLoz+jPG 57jVYSuZQQF3mxR+KJ6BjiZm4PhZAJbHev8TXl+U0eDLUGLXNgzK70HAJN5BhWeRA3Qz SkY1nrD7drD81WTOhn00EU49qZSTaEq/B1URbjO3A6wavhfd+YBCS2g39BmBg0sBlBqo CiuWeOswfBQuH95enxsFL33Lf1R9hcHDz9j7m5q/+XKv1gCxf60PhSgAmtFUCcrVQDJB UWOzXpzKH60SePuBcvaRavJQdsU9nQbydS8R6w9Dxlu7f3z5OkcOFbysFatL76zWTTOX wIZQ==; darn=lists.postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1780061505; x=1780666305; darn=lists.postgresql.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=y6bqQcma8U5iABE5FTqqJgxZvdt4T12IUwCSrmjd9lo=; b=H8fsHllzjb67IRfL0njZQsyxxBxZnbOSL9mx9OGnlUqltEDXJvkkm2V83gOs07v945 n9fYRo9uzT+SHbsqMxVlb9wKz2B7Bq2clTcgC/bczyRcGebAKsc+PUfaoi2xlXKrA7J8 VoItlMiGSZstHqkeviKwv8bw7T3DlsMUnfc7eSR1qZjnFgJLfBl7t6ud16nhtb8lzsOK zTnDBQlo+iT+K/mF6wMoiYftvKxACjfeGYi/yOeokgdiMQtiICTmJP5R+DIvnARI6acf DPanU2fIyVzzeDy6Wkr05q7lKTAWKWKbCextBZvrAyfRUanhu3vQ2aNkJr33Epu1slc0 CpXw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780061505; x=1780666305; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=y6bqQcma8U5iABE5FTqqJgxZvdt4T12IUwCSrmjd9lo=; b=jvr5zdMtWRHWdgUoUCNmQ/M/lQEBae7o8awt9iCLQzXdysBctbInGigTs+v2e4EKeE BvZKexzyJt5zXTcWs5QrMqPru//aujnFkIRRdgXUaA/2AyzrhB3k3ldVVOTUAgL0eN9J JFYEN18GjXHqgriQbsrVeuOGthH365FbEQ4h7VuFUTPhZPHhUfLo5brLxSflahEggvRJ htFxLJ/DTFonGb1ehg1VE+U6zQSkVzeo3l7v/aSI++EMyGvblNY1Jib4UpqLdTgI77kF trqLCoBqG6YUc9HLW9U9CIPsNl1FOuhgbAN45hG7OMvbr8jFoLZj3a1colgYitkgN8WT M4Cw== X-Gm-Message-State: AOJu0YznS4+67DiHUJtaQN/bORYgX9dKfgwpywxhx0pVYhuj+lwI9qA0 lWQdUonaEl6HKWkNWSqklHFYPj+l7iQIkHs9eLeHDFdFVWAaXTjhRLNVf/FjpTrrB80VhsOgQrj G0wSMTvkDTjMJ0fdmkk9YsSp+X2efzsw= X-Gm-Gg: Acq92OGzr3kykNsv5WupZi1X3bH59ko/8YdHpf0LJ+90K057RcVdkqvdI7lgdbyx5Uf ut70HT8rW+w8NH6y/opZxHEH9rQAQ1Z5HSBdcKdyISVv49M9N+bDfs+jrxYopxU7OWeKmxvGJTq bS1vHuJWAay1K3tVEINtqWdhhTq7UVvRZtWg3c8fIJsXyZQzSR7jU/8rCCIYgTKbYfQknP64UL5 VmfrFAY2oF0poFDbJFMYJ6o35O22Z1/UdVJMLPHfwkwC91qV0BPIVWS04e8p6jtUkVRRQALa/x7 VLshtj+RKfqe9qD6VBKHkofWuQf3h7UBy8NU35xPyi+FpXrNbHk2 X-Received: by 2002:a05:6830:6818:b0:7de:a2cc:9da2 with SMTP id 46e09a7af769-7e694d72f8emr1734708a34.15.1780061504636; Fri, 29 May 2026 06:31:44 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Fujii Masao Date: Fri, 29 May 2026 22:31:31 +0900 X-Gm-Features: AVHnY4IJVqpCYbsTDHWcLHoDjs9WJXVnDjsYXcRWOeGajQ6uj8yT8DkBNdnqCLE Message-ID: Subject: Re: Fix race in ReplicationSlotRelease for ephemeral slots To: "Zhijie Hou (Fujitsu)" Cc: PostgreSQL Hackers Content-Type: multipart/mixed; boundary="000000000000aa1b350652f4dd31" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000aa1b350652f4dd31 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Fri, May 29, 2026 at 5:09=E2=80=AFPM Fujii Masao = wrote: > > I am attaching a patch that avoids touching slot shared-memory state af= ter > > dropping an ephemeral slot. Keep the post-release shared-memory updates= only for > > non-ephemeral slots, where the slot remains valid after release. > > Thanks for the patch! It looks good to me. > Barring any objections, I will commit it. Since this fix should be backpatched to all supported branches, I prepared patches for them. Attached. Regards, --=20 Fujii Masao --000000000000aa1b350652f4dd31 Content-Type: text/plain; charset="US-ASCII"; name="pg18-v1-0001-Fix-race-in-ReplicationSlotRelease-for-ephemeral-.txt" Content-Disposition: attachment; filename="pg18-v1-0001-Fix-race-in-ReplicationSlotRelease-for-ephemeral-.txt" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mpqynchp2 RnJvbSA1NmU4YzEwNjhlMTljM2NjZDQxY2VjYjc1YjFlZTI2YWZmYjUyYWJmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBGdWppaSBNYXNhbyA8ZnVqaWlAcG9zdGdyZXNxbC5vcmc+CkRh dGU6IEZyaSwgMjkgTWF5IDIwMjYgMTg6NDM6NTAgKzA5MDAKU3ViamVjdDogW1BBVENIIHYxXSBG aXggcmFjZSBpbiBSZXBsaWNhdGlvblNsb3RSZWxlYXNlIGZvciBlcGhlbWVyYWwgc2xvdHMKCldo ZW4gcmVsZWFzaW5nIGFuIGVwaGVtZXJhbCByZXBsaWNhdGlvbiBzbG90LCBSZXBsaWNhdGlvblNs b3RSZWxlYXNlKCkgZmlyc3QKZHJvcHMgdGhlIHNsb3QgdmlhIFJlcGxpY2F0aW9uU2xvdERyb3BB Y3F1aXJlZCgpLiBBZnRlciB0aGlzIHBvaW50LCB0aGUgc2xvdCdzCnNoYXJlZCBtZW1vcnkgc2xv dCBhcnJheSBlbnRyeSBjYW4gYmUgaW1tZWRpYXRlbHkgcmV1c2VkIGJ5IGFub3RoZXIgYmFja2Vu ZApjcmVhdGluZyBhIG5ldyBzbG90LgoKSG93ZXZlciwgUmVwbGljYXRpb25TbG90UmVsZWFzZSgp IGNvbnRpbnVlZCBleGVjdXRpbmcgY29tbW9uIGNsZWFudXAgY29kZSB0aGF0CnN0aWxsIGRlcmVm ZXJlbmNlZCB0aGUgb2xkIHNsb3QgcG9pbnRlciBhbmQgdXBkYXRlZCBzaGFyZWQgbWVtb3J5IGZp ZWxkcyBzdWNoIGFzCmVmZmVjdGl2ZV94bWluLiBJZiB0aGUgc2xvdCBhcnJheSBlbnRyeSBoYWQg YWxyZWFkeSBiZWVuIHJlYWxsb2NhdGVkLCB0aGVzZQp3cml0ZXMgY291bGQgaW5hZHZlcnRlbnRs eSBhZmZlY3QgYSBkaWZmZXJlbnQsIHVucmVsYXRlZCBzbG90LgoKVGhpcyBjb21taXQgYXZvaWRz IHRvdWNoaW5nIHNsb3Qgc2hhcmVkLW1lbW9yeSBzdGF0ZSBhZnRlciBkcm9wcGluZyBhbiBlcGhl bWVyYWwKc2xvdC4gS2VlcCB0aGUgcG9zdC1yZWxlYXNlIHNoYXJlZC1tZW1vcnkgdXBkYXRlcyBv bmx5IGZvciBub24tZXBoZW1lcmFsIHNsb3RzLAp3aGVyZSB0aGUgc2xvdCByZW1haW5zIHZhbGlk IGFmdGVyIHJlbGVhc2UuCi0tLQogc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vc2xvdC5jIHwgNjgg KysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDM1IGlu c2VydGlvbnMoKyksIDMzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3Jl cGxpY2F0aW9uL3Nsb3QuYyBiL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL3Nsb3QuYwppbmRleCA0 MjQ2ZDBhNTFlMS4uZTYwY2NjNDI0ZGQgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3JlcGxpY2F0 aW9uL3Nsb3QuYworKysgYi9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9zbG90LmMKQEAgLTczNyw0 NCArNzM3LDQ2IEBAIFJlcGxpY2F0aW9uU2xvdFJlbGVhc2Uodm9pZCkKIAkJICovCiAJCVJlcGxp Y2F0aW9uU2xvdERyb3BBY3F1aXJlZCgpOwogCX0KLQotCS8qCi0JICogSWYgc2xvdCBuZWVkZWQg dG8gdGVtcG9yYXJpbHkgcmVzdHJhaW4gYm90aCBkYXRhIGFuZCBjYXRhbG9nIHhtaW4gdG8KLQkg KiBjcmVhdGUgdGhlIGNhdGFsb2cgc25hcHNob3QsIHJlbW92ZSB0aGF0IHRlbXBvcmFyeSBjb25z dHJhaW50LgotCSAqIFNuYXBzaG90cyBjYW4gb25seSBiZSBleHBvcnRlZCB3aGlsZSB0aGUgaW5p dGlhbCBzbmFwc2hvdCBpcyBzdGlsbAotCSAqIGFjcXVpcmVkLgotCSAqLwotCWlmICghVHJhbnNh Y3Rpb25JZElzVmFsaWQoc2xvdC0+ZGF0YS54bWluKSAmJgotCQlUcmFuc2FjdGlvbklkSXNWYWxp ZChzbG90LT5lZmZlY3RpdmVfeG1pbikpCisJZWxzZQogCXsKLQkJU3BpbkxvY2tBY3F1aXJlKCZz bG90LT5tdXRleCk7Ci0JCXNsb3QtPmVmZmVjdGl2ZV94bWluID0gSW52YWxpZFRyYW5zYWN0aW9u SWQ7Ci0JCVNwaW5Mb2NrUmVsZWFzZSgmc2xvdC0+bXV0ZXgpOwotCQlSZXBsaWNhdGlvblNsb3Rz Q29tcHV0ZVJlcXVpcmVkWG1pbihmYWxzZSk7Ci0JfQotCi0JLyoKLQkgKiBTZXQgdGhlIHRpbWUg c2luY2UgdGhlIHNsb3QgaGFzIGJlY29tZSBpbmFjdGl2ZS4gV2UgZ2V0IHRoZSBjdXJyZW50Ci0J ICogdGltZSBiZWZvcmVoYW5kIHRvIGF2b2lkIHN5c3RlbSBjYWxsIHdoaWxlIGhvbGRpbmcgdGhl IHNwaW5sb2NrLgotCSAqLwotCW5vdyA9IEdldEN1cnJlbnRUaW1lc3RhbXAoKTsKKwkJLyoKKwkJ ICogSWYgc2xvdCBuZWVkZWQgdG8gdGVtcG9yYXJpbHkgcmVzdHJhaW4gYm90aCBkYXRhIGFuZCBj YXRhbG9nIHhtaW4KKwkJICogdG8gY3JlYXRlIHRoZSBjYXRhbG9nIHNuYXBzaG90LCByZW1vdmUg dGhhdCB0ZW1wb3JhcnkgY29uc3RyYWludC4KKwkJICogU25hcHNob3RzIGNhbiBvbmx5IGJlIGV4 cG9ydGVkIHdoaWxlIHRoZSBpbml0aWFsIHNuYXBzaG90IGlzIHN0aWxsCisJCSAqIGFjcXVpcmVk LgorCQkgKi8KKwkJaWYgKCFUcmFuc2FjdGlvbklkSXNWYWxpZChzbG90LT5kYXRhLnhtaW4pICYm CisJCQlUcmFuc2FjdGlvbklkSXNWYWxpZChzbG90LT5lZmZlY3RpdmVfeG1pbikpCisJCXsKKwkJ CVNwaW5Mb2NrQWNxdWlyZSgmc2xvdC0+bXV0ZXgpOworCQkJc2xvdC0+ZWZmZWN0aXZlX3htaW4g PSBJbnZhbGlkVHJhbnNhY3Rpb25JZDsKKwkJCVNwaW5Mb2NrUmVsZWFzZSgmc2xvdC0+bXV0ZXgp OworCQkJUmVwbGljYXRpb25TbG90c0NvbXB1dGVSZXF1aXJlZFhtaW4oZmFsc2UpOworCQl9CiAK LQlpZiAoc2xvdC0+ZGF0YS5wZXJzaXN0ZW5jeSA9PSBSU19QRVJTSVNURU5UKQotCXsKIAkJLyoK LQkJICogTWFyayBwZXJzaXN0ZW50IHNsb3QgaW5hY3RpdmUuICBXZSdyZSBub3QgZnJlZWluZyBp dCwganVzdAotCQkgKiBkaXNjb25uZWN0aW5nLCBidXQgd2FrZSB1cCBvdGhlcnMgdGhhdCBtYXkg YmUgd2FpdGluZyBmb3IgaXQuCisJCSAqIFNldCB0aGUgdGltZSBzaW5jZSB0aGUgc2xvdCBoYXMg YmVjb21lIGluYWN0aXZlLiBXZSBnZXQgdGhlIGN1cnJlbnQKKwkJICogdGltZSBiZWZvcmVoYW5k IHRvIGF2b2lkIHN5c3RlbSBjYWxsIHdoaWxlIGhvbGRpbmcgdGhlIHNwaW5sb2NrLgogCQkgKi8K LQkJU3BpbkxvY2tBY3F1aXJlKCZzbG90LT5tdXRleCk7Ci0JCXNsb3QtPmFjdGl2ZV9waWQgPSAw OwotCQlSZXBsaWNhdGlvblNsb3RTZXRJbmFjdGl2ZVNpbmNlKHNsb3QsIG5vdywgZmFsc2UpOwot CQlTcGluTG9ja1JlbGVhc2UoJnNsb3QtPm11dGV4KTsKLQkJQ29uZGl0aW9uVmFyaWFibGVCcm9h ZGNhc3QoJnNsb3QtPmFjdGl2ZV9jdik7Ci0JfQotCWVsc2UKLQkJUmVwbGljYXRpb25TbG90U2V0 SW5hY3RpdmVTaW5jZShzbG90LCBub3csIHRydWUpOworCQlub3cgPSBHZXRDdXJyZW50VGltZXN0 YW1wKCk7CiAKLQlNeVJlcGxpY2F0aW9uU2xvdCA9IE5VTEw7CisJCWlmIChzbG90LT5kYXRhLnBl cnNpc3RlbmN5ID09IFJTX1BFUlNJU1RFTlQpCisJCXsKKwkJCS8qCisJCQkgKiBNYXJrIHBlcnNp c3RlbnQgc2xvdCBpbmFjdGl2ZS4gIFdlJ3JlIG5vdCBmcmVlaW5nIGl0LCBqdXN0CisJCQkgKiBk aXNjb25uZWN0aW5nLCBidXQgd2FrZSB1cCBvdGhlcnMgdGhhdCBtYXkgYmUgd2FpdGluZyBmb3Ig aXQuCisJCQkgKi8KKwkJCVNwaW5Mb2NrQWNxdWlyZSgmc2xvdC0+bXV0ZXgpOworCQkJc2xvdC0+ YWN0aXZlX3BpZCA9IDA7CisJCQlSZXBsaWNhdGlvblNsb3RTZXRJbmFjdGl2ZVNpbmNlKHNsb3Qs IG5vdywgZmFsc2UpOworCQkJU3BpbkxvY2tSZWxlYXNlKCZzbG90LT5tdXRleCk7CisJCQlDb25k aXRpb25WYXJpYWJsZUJyb2FkY2FzdCgmc2xvdC0+YWN0aXZlX2N2KTsKKwkJfQorCQllbHNlCisJ CQlSZXBsaWNhdGlvblNsb3RTZXRJbmFjdGl2ZVNpbmNlKHNsb3QsIG5vdywgdHJ1ZSk7CisKKwkJ TXlSZXBsaWNhdGlvblNsb3QgPSBOVUxMOworCX0KIAogCS8qIG1pZ2h0IG5vdCBoYXZlIGJlZW4g c2V0IHdoZW4gd2UndmUgYmVlbiBhIHBsYWluIHNsb3QgKi8KIAlMV0xvY2tBY3F1aXJlKFByb2NB cnJheUxvY2ssIExXX0VYQ0xVU0lWRSk7Ci0tIAoyLjUzLjAKCg== --000000000000aa1b350652f4dd31 Content-Type: text/plain; charset="US-ASCII"; name="pg14-pg16-v1-0001-Fix-race-in-ReplicationSlotRelease-for-ephemeral-.txt" Content-Disposition: attachment; filename="pg14-pg16-v1-0001-Fix-race-in-ReplicationSlotRelease-for-ephemeral-.txt" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mpqynch50 RnJvbSA4ZWUyYjg1YzJhNjhlNmVmYzY4ZTUxN2UwZDIwZTZjYmM5NmVhZGJkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBGdWppaSBNYXNhbyA8ZnVqaWlAcG9zdGdyZXNxbC5vcmc+CkRh dGU6IEZyaSwgMjkgTWF5IDIwMjYgMTg6NDM6NTAgKzA5MDAKU3ViamVjdDogW1BBVENIIHYxXSBG aXggcmFjZSBpbiBSZXBsaWNhdGlvblNsb3RSZWxlYXNlIGZvciBlcGhlbWVyYWwgc2xvdHMKCldo ZW4gcmVsZWFzaW5nIGFuIGVwaGVtZXJhbCByZXBsaWNhdGlvbiBzbG90LCBSZXBsaWNhdGlvblNs b3RSZWxlYXNlKCkgZmlyc3QKZHJvcHMgdGhlIHNsb3QgdmlhIFJlcGxpY2F0aW9uU2xvdERyb3BB Y3F1aXJlZCgpLiBBZnRlciB0aGlzIHBvaW50LCB0aGUgc2xvdCdzCnNoYXJlZCBtZW1vcnkgc2xv dCBhcnJheSBlbnRyeSBjYW4gYmUgaW1tZWRpYXRlbHkgcmV1c2VkIGJ5IGFub3RoZXIgYmFja2Vu ZApjcmVhdGluZyBhIG5ldyBzbG90LgoKSG93ZXZlciwgUmVwbGljYXRpb25TbG90UmVsZWFzZSgp IGNvbnRpbnVlZCBleGVjdXRpbmcgY29tbW9uIGNsZWFudXAgY29kZSB0aGF0CnN0aWxsIGRlcmVm ZXJlbmNlZCB0aGUgb2xkIHNsb3QgcG9pbnRlciBhbmQgdXBkYXRlZCBzaGFyZWQgbWVtb3J5IGZp ZWxkcyBzdWNoIGFzCmVmZmVjdGl2ZV94bWluLiBJZiB0aGUgc2xvdCBhcnJheSBlbnRyeSBoYWQg YWxyZWFkeSBiZWVuIHJlYWxsb2NhdGVkLCB0aGVzZQp3cml0ZXMgY291bGQgaW5hZHZlcnRlbnRs eSBhZmZlY3QgYSBkaWZmZXJlbnQsIHVucmVsYXRlZCBzbG90LgoKVGhpcyBjb21taXQgYXZvaWRz IHRvdWNoaW5nIHNsb3Qgc2hhcmVkLW1lbW9yeSBzdGF0ZSBhZnRlciBkcm9wcGluZyBhbiBlcGhl bWVyYWwKc2xvdC4gS2VlcCB0aGUgcG9zdC1yZWxlYXNlIHNoYXJlZC1tZW1vcnkgdXBkYXRlcyBv bmx5IGZvciBub24tZXBoZW1lcmFsIHNsb3RzLAp3aGVyZSB0aGUgc2xvdCByZW1haW5zIHZhbGlk IGFmdGVyIHJlbGVhc2UuCi0tLQogc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vc2xvdC5jIHwgNTIg KysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDI3IGlu c2VydGlvbnMoKyksIDI1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3Jl cGxpY2F0aW9uL3Nsb3QuYyBiL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL3Nsb3QuYwppbmRleCBh YTAxNzQ1MWNjYy4uMjAzNDcyMmYwYTQgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3JlcGxpY2F0 aW9uL3Nsb3QuYworKysgYi9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9zbG90LmMKQEAgLTU4OSwz NSArNTg5LDM3IEBAIFJlcGxpY2F0aW9uU2xvdFJlbGVhc2Uodm9pZCkKIAkJICovCiAJCVJlcGxp Y2F0aW9uU2xvdERyb3BBY3F1aXJlZCgpOwogCX0KLQotCS8qCi0JICogSWYgc2xvdCBuZWVkZWQg dG8gdGVtcG9yYXJpbHkgcmVzdHJhaW4gYm90aCBkYXRhIGFuZCBjYXRhbG9nIHhtaW4gdG8KLQkg KiBjcmVhdGUgdGhlIGNhdGFsb2cgc25hcHNob3QsIHJlbW92ZSB0aGF0IHRlbXBvcmFyeSBjb25z dHJhaW50LgotCSAqIFNuYXBzaG90cyBjYW4gb25seSBiZSBleHBvcnRlZCB3aGlsZSB0aGUgaW5p dGlhbCBzbmFwc2hvdCBpcyBzdGlsbAotCSAqIGFjcXVpcmVkLgotCSAqLwotCWlmICghVHJhbnNh Y3Rpb25JZElzVmFsaWQoc2xvdC0+ZGF0YS54bWluKSAmJgotCQlUcmFuc2FjdGlvbklkSXNWYWxp ZChzbG90LT5lZmZlY3RpdmVfeG1pbikpCi0JewotCQlTcGluTG9ja0FjcXVpcmUoJnNsb3QtPm11 dGV4KTsKLQkJc2xvdC0+ZWZmZWN0aXZlX3htaW4gPSBJbnZhbGlkVHJhbnNhY3Rpb25JZDsKLQkJ U3BpbkxvY2tSZWxlYXNlKCZzbG90LT5tdXRleCk7Ci0JCVJlcGxpY2F0aW9uU2xvdHNDb21wdXRl UmVxdWlyZWRYbWluKGZhbHNlKTsKLQl9Ci0KLQlpZiAoc2xvdC0+ZGF0YS5wZXJzaXN0ZW5jeSA9 PSBSU19QRVJTSVNURU5UKQorCWVsc2UKIAl7CiAJCS8qCi0JCSAqIE1hcmsgcGVyc2lzdGVudCBz bG90IGluYWN0aXZlLiAgV2UncmUgbm90IGZyZWVpbmcgaXQsIGp1c3QKLQkJICogZGlzY29ubmVj dGluZywgYnV0IHdha2UgdXAgb3RoZXJzIHRoYXQgbWF5IGJlIHdhaXRpbmcgZm9yIGl0LgorCQkg KiBJZiBzbG90IG5lZWRlZCB0byB0ZW1wb3JhcmlseSByZXN0cmFpbiBib3RoIGRhdGEgYW5kIGNh dGFsb2cgeG1pbgorCQkgKiB0byBjcmVhdGUgdGhlIGNhdGFsb2cgc25hcHNob3QsIHJlbW92ZSB0 aGF0IHRlbXBvcmFyeSBjb25zdHJhaW50LgorCQkgKiBTbmFwc2hvdHMgY2FuIG9ubHkgYmUgZXhw b3J0ZWQgd2hpbGUgdGhlIGluaXRpYWwgc25hcHNob3QgaXMgc3RpbGwKKwkJICogYWNxdWlyZWQu CiAJCSAqLwotCQlTcGluTG9ja0FjcXVpcmUoJnNsb3QtPm11dGV4KTsKLQkJc2xvdC0+YWN0aXZl X3BpZCA9IDA7Ci0JCVNwaW5Mb2NrUmVsZWFzZSgmc2xvdC0+bXV0ZXgpOwotCQlDb25kaXRpb25W YXJpYWJsZUJyb2FkY2FzdCgmc2xvdC0+YWN0aXZlX2N2KTsKLQl9CisJCWlmICghVHJhbnNhY3Rp b25JZElzVmFsaWQoc2xvdC0+ZGF0YS54bWluKSAmJgorCQkJVHJhbnNhY3Rpb25JZElzVmFsaWQo c2xvdC0+ZWZmZWN0aXZlX3htaW4pKQorCQl7CisJCQlTcGluTG9ja0FjcXVpcmUoJnNsb3QtPm11 dGV4KTsKKwkJCXNsb3QtPmVmZmVjdGl2ZV94bWluID0gSW52YWxpZFRyYW5zYWN0aW9uSWQ7CisJ CQlTcGluTG9ja1JlbGVhc2UoJnNsb3QtPm11dGV4KTsKKwkJCVJlcGxpY2F0aW9uU2xvdHNDb21w dXRlUmVxdWlyZWRYbWluKGZhbHNlKTsKKwkJfQogCi0JTXlSZXBsaWNhdGlvblNsb3QgPSBOVUxM OworCQlpZiAoc2xvdC0+ZGF0YS5wZXJzaXN0ZW5jeSA9PSBSU19QRVJTSVNURU5UKQorCQl7CisJ CQkvKgorCQkJICogTWFyayBwZXJzaXN0ZW50IHNsb3QgaW5hY3RpdmUuICBXZSdyZSBub3QgZnJl ZWluZyBpdCwganVzdAorCQkJICogZGlzY29ubmVjdGluZywgYnV0IHdha2UgdXAgb3RoZXJzIHRo YXQgbWF5IGJlIHdhaXRpbmcgZm9yIGl0LgorCQkJICovCisJCQlTcGluTG9ja0FjcXVpcmUoJnNs b3QtPm11dGV4KTsKKwkJCXNsb3QtPmFjdGl2ZV9waWQgPSAwOworCQkJU3BpbkxvY2tSZWxlYXNl KCZzbG90LT5tdXRleCk7CisJCQlDb25kaXRpb25WYXJpYWJsZUJyb2FkY2FzdCgmc2xvdC0+YWN0 aXZlX2N2KTsKKwkJfQorCisJCU15UmVwbGljYXRpb25TbG90ID0gTlVMTDsKKwl9CiAKIAkvKiBt aWdodCBub3QgaGF2ZSBiZWVuIHNldCB3aGVuIHdlJ3ZlIGJlZW4gYSBwbGFpbiBzbG90ICovCiAJ TFdMb2NrQWNxdWlyZShQcm9jQXJyYXlMb2NrLCBMV19FWENMVVNJVkUpOwotLSAKMi41My4wCgo= --000000000000aa1b350652f4dd31 Content-Type: text/plain; charset="US-ASCII"; name="pg17-v1-0001-Fix-race-in-ReplicationSlotRelease-for-ephemeral-.txt" Content-Disposition: attachment; filename="pg17-v1-0001-Fix-race-in-ReplicationSlotRelease-for-ephemeral-.txt" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mpqynchh1 RnJvbSAyOGRhNjc2MjFjOTc4MjQ3MzAwMzAwOTRjZGZkMWFkMDJiMjY1NWU4IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBGdWppaSBNYXNhbyA8ZnVqaWlAcG9zdGdyZXNxbC5vcmc+CkRh dGU6IEZyaSwgMjkgTWF5IDIwMjYgMTg6NDM6NTAgKzA5MDAKU3ViamVjdDogW1BBVENIIHYxXSBG aXggcmFjZSBpbiBSZXBsaWNhdGlvblNsb3RSZWxlYXNlIGZvciBlcGhlbWVyYWwgc2xvdHMKCldo ZW4gcmVsZWFzaW5nIGFuIGVwaGVtZXJhbCByZXBsaWNhdGlvbiBzbG90LCBSZXBsaWNhdGlvblNs b3RSZWxlYXNlKCkgZmlyc3QKZHJvcHMgdGhlIHNsb3QgdmlhIFJlcGxpY2F0aW9uU2xvdERyb3BB Y3F1aXJlZCgpLiBBZnRlciB0aGlzIHBvaW50LCB0aGUgc2xvdCdzCnNoYXJlZCBtZW1vcnkgc2xv dCBhcnJheSBlbnRyeSBjYW4gYmUgaW1tZWRpYXRlbHkgcmV1c2VkIGJ5IGFub3RoZXIgYmFja2Vu ZApjcmVhdGluZyBhIG5ldyBzbG90LgoKSG93ZXZlciwgUmVwbGljYXRpb25TbG90UmVsZWFzZSgp IGNvbnRpbnVlZCBleGVjdXRpbmcgY29tbW9uIGNsZWFudXAgY29kZSB0aGF0CnN0aWxsIGRlcmVm ZXJlbmNlZCB0aGUgb2xkIHNsb3QgcG9pbnRlciBhbmQgdXBkYXRlZCBzaGFyZWQgbWVtb3J5IGZp ZWxkcyBzdWNoIGFzCmVmZmVjdGl2ZV94bWluLiBJZiB0aGUgc2xvdCBhcnJheSBlbnRyeSBoYWQg YWxyZWFkeSBiZWVuIHJlYWxsb2NhdGVkLCB0aGVzZQp3cml0ZXMgY291bGQgaW5hZHZlcnRlbnRs eSBhZmZlY3QgYSBkaWZmZXJlbnQsIHVucmVsYXRlZCBzbG90LgoKVGhpcyBjb21taXQgYXZvaWRz IHRvdWNoaW5nIHNsb3Qgc2hhcmVkLW1lbW9yeSBzdGF0ZSBhZnRlciBkcm9wcGluZyBhbiBlcGhl bWVyYWwKc2xvdC4gS2VlcCB0aGUgcG9zdC1yZWxlYXNlIHNoYXJlZC1tZW1vcnkgdXBkYXRlcyBv bmx5IGZvciBub24tZXBoZW1lcmFsIHNsb3RzLAp3aGVyZSB0aGUgc2xvdCByZW1haW5zIHZhbGlk IGFmdGVyIHJlbGVhc2UuCi0tLQogc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vc2xvdC5jIHwgNzYg KysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDM5IGlu c2VydGlvbnMoKyksIDM3IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3Jl cGxpY2F0aW9uL3Nsb3QuYyBiL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL3Nsb3QuYwppbmRleCA0 ZTU0YThkMGYxNC4uMmYxNjk2ZjQxMTEgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3JlcGxpY2F0 aW9uL3Nsb3QuYworKysgYi9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9zbG90LmMKQEAgLTcwMiw0 OCArNzAyLDUwIEBAIFJlcGxpY2F0aW9uU2xvdFJlbGVhc2Uodm9pZCkKIAkJICovCiAJCVJlcGxp Y2F0aW9uU2xvdERyb3BBY3F1aXJlZCgpOwogCX0KLQotCS8qCi0JICogSWYgc2xvdCBuZWVkZWQg dG8gdGVtcG9yYXJpbHkgcmVzdHJhaW4gYm90aCBkYXRhIGFuZCBjYXRhbG9nIHhtaW4gdG8KLQkg KiBjcmVhdGUgdGhlIGNhdGFsb2cgc25hcHNob3QsIHJlbW92ZSB0aGF0IHRlbXBvcmFyeSBjb25z dHJhaW50LgotCSAqIFNuYXBzaG90cyBjYW4gb25seSBiZSBleHBvcnRlZCB3aGlsZSB0aGUgaW5p dGlhbCBzbmFwc2hvdCBpcyBzdGlsbAotCSAqIGFjcXVpcmVkLgotCSAqLwotCWlmICghVHJhbnNh Y3Rpb25JZElzVmFsaWQoc2xvdC0+ZGF0YS54bWluKSAmJgotCQlUcmFuc2FjdGlvbklkSXNWYWxp ZChzbG90LT5lZmZlY3RpdmVfeG1pbikpCisJZWxzZQogCXsKLQkJU3BpbkxvY2tBY3F1aXJlKCZz bG90LT5tdXRleCk7Ci0JCXNsb3QtPmVmZmVjdGl2ZV94bWluID0gSW52YWxpZFRyYW5zYWN0aW9u SWQ7Ci0JCVNwaW5Mb2NrUmVsZWFzZSgmc2xvdC0+bXV0ZXgpOwotCQlSZXBsaWNhdGlvblNsb3Rz Q29tcHV0ZVJlcXVpcmVkWG1pbihmYWxzZSk7Ci0JfQotCi0JLyoKLQkgKiBTZXQgdGhlIHRpbWUg c2luY2UgdGhlIHNsb3QgaGFzIGJlY29tZSBpbmFjdGl2ZS4gV2UgZ2V0IHRoZSBjdXJyZW50Ci0J ICogdGltZSBiZWZvcmVoYW5kIHRvIGF2b2lkIHN5c3RlbSBjYWxsIHdoaWxlIGhvbGRpbmcgdGhl IHNwaW5sb2NrLgotCSAqLwotCW5vdyA9IEdldEN1cnJlbnRUaW1lc3RhbXAoKTsKKwkJLyoKKwkJ ICogSWYgc2xvdCBuZWVkZWQgdG8gdGVtcG9yYXJpbHkgcmVzdHJhaW4gYm90aCBkYXRhIGFuZCBj YXRhbG9nIHhtaW4KKwkJICogdG8gY3JlYXRlIHRoZSBjYXRhbG9nIHNuYXBzaG90LCByZW1vdmUg dGhhdCB0ZW1wb3JhcnkgY29uc3RyYWludC4KKwkJICogU25hcHNob3RzIGNhbiBvbmx5IGJlIGV4 cG9ydGVkIHdoaWxlIHRoZSBpbml0aWFsIHNuYXBzaG90IGlzIHN0aWxsCisJCSAqIGFjcXVpcmVk LgorCQkgKi8KKwkJaWYgKCFUcmFuc2FjdGlvbklkSXNWYWxpZChzbG90LT5kYXRhLnhtaW4pICYm CisJCQlUcmFuc2FjdGlvbklkSXNWYWxpZChzbG90LT5lZmZlY3RpdmVfeG1pbikpCisJCXsKKwkJ CVNwaW5Mb2NrQWNxdWlyZSgmc2xvdC0+bXV0ZXgpOworCQkJc2xvdC0+ZWZmZWN0aXZlX3htaW4g PSBJbnZhbGlkVHJhbnNhY3Rpb25JZDsKKwkJCVNwaW5Mb2NrUmVsZWFzZSgmc2xvdC0+bXV0ZXgp OworCQkJUmVwbGljYXRpb25TbG90c0NvbXB1dGVSZXF1aXJlZFhtaW4oZmFsc2UpOworCQl9CiAK LQlpZiAoc2xvdC0+ZGF0YS5wZXJzaXN0ZW5jeSA9PSBSU19QRVJTSVNURU5UKQotCXsKIAkJLyoK LQkJICogTWFyayBwZXJzaXN0ZW50IHNsb3QgaW5hY3RpdmUuICBXZSdyZSBub3QgZnJlZWluZyBp dCwganVzdAotCQkgKiBkaXNjb25uZWN0aW5nLCBidXQgd2FrZSB1cCBvdGhlcnMgdGhhdCBtYXkg YmUgd2FpdGluZyBmb3IgaXQuCisJCSAqIFNldCB0aGUgdGltZSBzaW5jZSB0aGUgc2xvdCBoYXMg YmVjb21lIGluYWN0aXZlLiBXZSBnZXQgdGhlIGN1cnJlbnQKKwkJICogdGltZSBiZWZvcmVoYW5k IHRvIGF2b2lkIHN5c3RlbSBjYWxsIHdoaWxlIGhvbGRpbmcgdGhlIHNwaW5sb2NrLgogCQkgKi8K LQkJU3BpbkxvY2tBY3F1aXJlKCZzbG90LT5tdXRleCk7Ci0JCXNsb3QtPmFjdGl2ZV9waWQgPSAw OwotCQlzbG90LT5pbmFjdGl2ZV9zaW5jZSA9IG5vdzsKLQkJU3BpbkxvY2tSZWxlYXNlKCZzbG90 LT5tdXRleCk7Ci0JCUNvbmRpdGlvblZhcmlhYmxlQnJvYWRjYXN0KCZzbG90LT5hY3RpdmVfY3Yp OwotCX0KLQllbHNlCi0JewotCQlTcGluTG9ja0FjcXVpcmUoJnNsb3QtPm11dGV4KTsKLQkJc2xv dC0+aW5hY3RpdmVfc2luY2UgPSBub3c7Ci0JCVNwaW5Mb2NrUmVsZWFzZSgmc2xvdC0+bXV0ZXgp OwotCX0KKwkJbm93ID0gR2V0Q3VycmVudFRpbWVzdGFtcCgpOwogCi0JTXlSZXBsaWNhdGlvblNs b3QgPSBOVUxMOworCQlpZiAoc2xvdC0+ZGF0YS5wZXJzaXN0ZW5jeSA9PSBSU19QRVJTSVNURU5U KQorCQl7CisJCQkvKgorCQkJICogTWFyayBwZXJzaXN0ZW50IHNsb3QgaW5hY3RpdmUuICBXZSdy ZSBub3QgZnJlZWluZyBpdCwganVzdAorCQkJICogZGlzY29ubmVjdGluZywgYnV0IHdha2UgdXAg b3RoZXJzIHRoYXQgbWF5IGJlIHdhaXRpbmcgZm9yIGl0LgorCQkJICovCisJCQlTcGluTG9ja0Fj cXVpcmUoJnNsb3QtPm11dGV4KTsKKwkJCXNsb3QtPmFjdGl2ZV9waWQgPSAwOworCQkJc2xvdC0+ aW5hY3RpdmVfc2luY2UgPSBub3c7CisJCQlTcGluTG9ja1JlbGVhc2UoJnNsb3QtPm11dGV4KTsK KwkJCUNvbmRpdGlvblZhcmlhYmxlQnJvYWRjYXN0KCZzbG90LT5hY3RpdmVfY3YpOworCQl9CisJ CWVsc2UKKwkJeworCQkJU3BpbkxvY2tBY3F1aXJlKCZzbG90LT5tdXRleCk7CisJCQlzbG90LT5p bmFjdGl2ZV9zaW5jZSA9IG5vdzsKKwkJCVNwaW5Mb2NrUmVsZWFzZSgmc2xvdC0+bXV0ZXgpOwor CQl9CisKKwkJTXlSZXBsaWNhdGlvblNsb3QgPSBOVUxMOworCX0KIAogCS8qIG1pZ2h0IG5vdCBo YXZlIGJlZW4gc2V0IHdoZW4gd2UndmUgYmVlbiBhIHBsYWluIHNsb3QgKi8KIAlMV0xvY2tBY3F1 aXJlKFByb2NBcnJheUxvY2ssIExXX0VYQ0xVU0lWRSk7Ci0tIAoyLjUzLjAKCg== --000000000000aa1b350652f4dd31--