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 1vyIOp-00007T-29 for pgsql-hackers@arkaria.postgresql.org; Thu, 05 Mar 2026 23:46:35 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vyIOn-001wh0-0l for pgsql-hackers@arkaria.postgresql.org; Thu, 05 Mar 2026 23:46:33 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vyIOm-001wgs-2w for pgsql-hackers@lists.postgresql.org; Thu, 05 Mar 2026 23:46:33 +0000 Received: from mail-oo1-xc34.google.com ([2607:f8b0:4864:20::c34]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1vyIOk-000000015p2-3Cf2 for pgsql-hackers@postgresql.org; Thu, 05 Mar 2026 23:46:33 +0000 Received: by mail-oo1-xc34.google.com with SMTP id 006d021491bc7-676815e147dso4564017eaf.3 for ; Thu, 05 Mar 2026 15:46:30 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1772754388; cv=none; d=google.com; s=arc-20240605; b=TO6TGoc3S/ZwHPUqxXxB1rSmETkoYpOZooYN1DX6txgQqMRYo2MsWkurc1mhjSjpHp YfAlGSeJ0cFPG07aQTZHRBzoNFOoneAP+VxKRJ+12pdY9ZLxNYpVLDlL1gx2raLmMdBl u2mLM5mzh92Q5Abysolu1B0XCU/pUMomqIMheYJuA+ISmkra2mKXcsprMFMRZ1z3fOYz AIU7CjZiulmODetV7jwLUjOIcPUA4o9OMWaVuFj4qg2AZsIkAYbqUfKURlnFwItHWLeV HQdIJ7UB7dDOGVgnSlrr8dkNRX2TS4RQkz10CO1tpykrOfBvL6oHq8iFNTjk82lBm+sy VPeg== 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=LvhA00+3r5Gmcopii2q2LVjRXOptHnq+lac8KXMlz0c=; fh=Kfv3mxhhSdw+kPosbVDQfeGjbEnPmbAqANTCbyrjCbk=; b=DZqHG7cdS+JEZK/d24n91jRTsYNOyHY5tPXMunUcXZ5qIucdvkU7zqBS16GIqLFIzq N6kUH8sIr/nhNQlgo7FHQau24pTQnDwm4ey+HW6My6Wf58t8OfNETolUplmkK80KcHU1 Aea2dEtg9DWJJXYeODQt/ARO6EnWrQX02XTlx7MISnRXgSRedraFU0gr4Pn4SJYCdlQz 39v7F6GZdWwQfNRLHhu6M3YSPf3NOt4LdUYjnHESDGopCAA8DtxRfXcLvi8bx3frDwpp kC5qvoyjU0on0+jZprDM2lIYPLdFYGPD2HAJl8FVwYRehQc6/cMgOSwxoTwvJ1XilRNp uvxQ==; darn=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=20230601; t=1772754388; x=1773359188; darn=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=LvhA00+3r5Gmcopii2q2LVjRXOptHnq+lac8KXMlz0c=; b=R6n+GSdWlpcLqeX/P2pFUe/yuBS9jNW1WNGqoqXsyxDi/kRBqVirnXa0AKgOCz8ZF1 5bIsV6UHDyXqVIDgNn4wMn+klFitJxHdeuJWwcFTnvZhgmrva5BzINS5ynL04UH62xuO bQvzZ9kMmCrp0TOLzzj85Y9wo89YZ6cjAzX13V8g83gzlEFbPqnBnET7ViVQ4+TT1ZHB XVBF+PuA0HqwnMO4M0+h3UracXq+MQ0IMEUeC2SApz6bU9aq1EpuK8QzzyIZo88ZhLlm HFlj+3AengQsQoRnTyop2AkE6vJ3IZE32+OIvj88D44x9JH9gibvY+DnJ1XCHuJCmaTu 6wDA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772754388; x=1773359188; 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=LvhA00+3r5Gmcopii2q2LVjRXOptHnq+lac8KXMlz0c=; b=ApodCXnTedUUvjRf22kWUwmOyldtPYNWg3riWvE/Xkz/wWswQriAQbJxv3Q8OM9je5 Qi5rXgsmMfvgavgc99fzGUTXItm0Q/PtzPFJltqQxrzkhLQ8fVIScBYgwz+V7Wo+GGjF 4FRexwhT4hji1C5l6PQ3O4e44LxNOU/AfJUn3mWqzSZ8YFP5t7NhsVam4pH2ueQV1Sx2 5+6ZVy2kP4hScToFXVC1ROF6BVAiwnZ1Cy3xyN0cx1Hg1pmq4jd5vqpYYdKGwcXaybR3 yw2JVgb8uNuvA0rWnHLyAu7x1DMj5umukaVZnk41h21NUbo8ZUEelcBigGGMIvigW7rG ThHg== X-Forwarded-Encrypted: i=1; AJvYcCU3ghyXayFCZtY3QSJbP6fUpRGbh3Ze5BzOfOyU1wi/jytqlD/pbXy2Gi3I+2gNE/sMgdrdqCcia4FUz1sW@postgresql.org X-Gm-Message-State: AOJu0Yy/+1Kblpduk1xJkPyIEBWqIP4uYVSduyIQutlp2UZltbMyLinr hSZQipRTJo+Vw9QRHhFhgPP6MnA4LZjiyTo6+TjkrDqebV1aC4kbrHg2p7dNoJOhFrsBjCtgVAQ +Nv0FVAw8XdKab12Yt7F3QIPVSN+kxsQ= X-Gm-Gg: ATEYQzxWZ8OR3YWAfE7SSKjxaWxt3UOtohAeQsTJA3TLpBjMXjhHR6fs4NLNOenW8T6 hhGEd5+YActetVull8k1+KdWYP0KCEpi4jDglk1Ma9xftxhmpScWTs3tnOhJJLTGrhDcq3ENoQc CxGHsZpShSw8HqxyYWaCykE+EGFP1nwMGTx036iG4tT73fdRHX7x1FU9fH7ocsm4RwREn96S1cP nWVopTWTubShnrqp2bci1R936Mbz8myMmdXay+6Ou2ONCMmw4shR0Myiav4mwP3VTc4ZpO0NZPR J3GocXE2EwBdhtkJFEyn3UGWBz3fc4hhI3uJzkurNQ== X-Received: by 2002:a05:6820:8183:b0:67a:1bc9:92cc with SMTP id 006d021491bc7-67b9bd704fbmr209340eaf.76.1772754388478; Thu, 05 Mar 2026 15:46:28 -0800 (PST) MIME-Version: 1.0 References: <2631a3c3-5e60-4a1a-9e20-377024322602@gmail.com> In-Reply-To: From: Fujii Masao Date: Fri, 6 Mar 2026 08:46:15 +0900 X-Gm-Features: AaiRm5368cIhnwN05UCQv7cnF7bJMUeXsmCIEpMIs_i-ZedX40Fgo7tTzmqII84 Message-ID: Subject: Re: Shutdown indefinitely stuck due to unflushed FPI_FOR_HINT record To: Anthonin Bonnefoy Cc: Alexander Lakhin , PostgreSQL Hackers Content-Type: multipart/mixed; boundary="000000000000998d22064c4f8b11" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000998d22064c4f8b11 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Thu, Mar 5, 2026 at 5:40=E2=80=AFPM Anthonin Bonnefoy wrote: > So it was relying on GetInsertRecPtr() instead of > GetXLogInsertRecPtr(). As mentioned in the thread, GetInsertRecPtr() > only returns the position of the last full xlog page, meaning it > doesn't fix the issue we have where the last partial page contains a > continuation record. > > Testing the XLogFlush(GetInsertRecPtr()) patch with my script, I still > get the shutdown stuck issue. > > Using GetXLogInsertRecPtr() is required to make sure the last partial > page is correctly flushed. Since GetXLogInsertRecPtr() returns a bogus LSN and XLogFlush() does almost nothing during recovery, I added a !RecoveryInProgress() check as follows. I've attached the latest version of the patch and updated the commit message. - if (got_STOPPING) - XLogBackgroundFlush(); + if (got_STOPPING && !RecoveryInProgress()) + XLogFlush(GetXLogInsertRecPtr()); Regards, --=20 Fujii Masao --000000000000998d22064c4f8b11 Content-Type: application/octet-stream; name="v6-0001-Fix-publisher-shutdown-hang-caused-by-logical-wal.patch" Content-Disposition: attachment; filename="v6-0001-Fix-publisher-shutdown-hang-caused-by-logical-wal.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mme3usjo0 RnJvbSAxODk3YzRiNTk3OTg1M2IyZmI0ZDY3OTc4N2FjOWI2MzNmMTgzMDc2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBbnRob25pbiBCb25uZWZveSA8YW50aG9uaW4uYm9ubmVmb3lA ZGF0YWRvZ2hxLmNvbT4KRGF0ZTogVHVlLCAzIE1hciAyMDI2IDE3OjQyOjQwICswMTAwClN1Ympl Y3Q6IFtQQVRDSCB2Nl0gRml4IHB1Ymxpc2hlciBzaHV0ZG93biBoYW5nIGNhdXNlZCBieSBsb2dp Y2FsIHdhbHNlbmRlcgogYnVzeSBsb29wLgoKUHJldmlvdXNseSwgd2hlbiBsb2dpY2FsIHJlcGxp Y2F0aW9uIHdhcyBydW5uaW5nLCBzaHV0dGluZyBkb3duCnRoZSBwdWJsaXNoZXIgY291bGQgY2F1 c2UgdGhlIGxvZ2ljYWwgd2Fsc2VuZGVyIHRvIGVudGVyIGEgYnVzeSBsb29wCmFuZCBwcmV2ZW50 IHRoZSBwdWJsaXNoZXIgZnJvbSBjb21wbGV0aW5nIHNodXRkb3duLgoKRHVyaW5nIHNodXRkb3du LCB0aGUgbG9naWNhbCB3YWxzZW5kZXIgd2FpdHMgZm9yIGFsbCBwZW5kaW5nIFdBTAp0byBiZSB3 cml0dGVuIG91dC4gSG93ZXZlciwgc29tZSBXQUwgcmVjb3JkcyBjb3VsZCByZW1haW4gdW5mbHVz aGVkLApjYXVzaW5nIHRoZSB3YWxzZW5kZXIgdG8gd2FpdCBpbmRlZmluaXRlbHkuCgpUaGUgaXNz dWUgb2NjdXJyZWQgYmVjYXVzZSB0aGUgd2Fsc2VuZGVyIHVzZWQgWExvZ0JhY2tncm91bmRGbHVz aCgpIHRvCmZsdXNoIHBlbmRpbmcgV0FMLiBUaGlzIGZ1bmN0aW9uIGRvZXMgbm90IGd1YXJhbnRl ZSB0aGF0IGFsbCBXQUwgaXMgd3JpdHRlbi4KRm9yIGV4YW1wbGUsIFdBTCBnZW5lcmF0ZWQgYnkg YSB0cmFuc2FjdGlvbiB3aXRob3V0IGFuIGFzc2lnbmVkCnRyYW5zYWN0aW9uIElEIHRoYXQgYWJv cnRzIG1pZ2h0IG5vdCBiZSBmbHVzaGVkLgoKVGhpcyBjb21taXQgZml4ZXMgdGhlIGJ1ZyBieSBt YWtpbmcgdGhlIGxvZ2ljYWwgd2Fsc2VuZGVyIGNhbGwgWExvZ0ZsdXNoKCkKaW5zdGVhZCwgZW5z dXJpbmcgdGhhdCBhbGwgcGVuZGluZyBXQUwgaXMgd3JpdHRlbiBhbmQgcHJldmVudGluZwp0aGUg YnVzeSBsb29wIGR1cmluZyBzaHV0ZG93bi4KCkJhY2twYXRjaCB0byBhbGwgc3VwcG9ydGVkIHZl cnNpb25zLgoKQXV0aG9yOiBBbnRob25pbiBCb25uZWZveSA8YW50aG9uaW4uYm9ubmVmb3lAZGF0 YWRvZ2hxLmNvbT4KUmV2aWV3ZWQtYnk6IEFsZXhhbmRlciBMYXcgPGV4Y2x1c2lvbkBnbWFpbC5j b20+ClJldmlld2VkLWJ5OiBGdWppaSBNYXNhbyA8bWFzYW8uZnVqaWlAZ21haWwuY29tPgpEaXNj dXNzaW9uOiBodHRwczovL3Bvc3Rnci5lcy9tL0NBTzZfWHFvM2NvM0J1VVZFVnprYUJWdzlMaWRC Z2VlUV8yaGZ4ZUxNUWNYd292QjNHUUBtYWlsLmdtYWlsLmNvbQpCYWNrcGF0Y2gtdGhyb3VnaDog MTQKLS0tCiBzcmMvYmFja2VuZC9yZXBsaWNhdGlvbi93YWxzZW5kZXIuYyB8IDQgKystLQogMSBm aWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi93YWxzZW5kZXIuYyBiL3NyYy9iYWNrZW5kL3JlcGxp Y2F0aW9uL3dhbHNlbmRlci5jCmluZGV4IDJjZGU4ZWJjNzI5Li45MTdkMmEwYzNmNCAxMDA2NDQK LS0tIGEvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vd2Fsc2VuZGVyLmMKKysrIGIvc3JjL2JhY2tl bmQvcmVwbGljYXRpb24vd2Fsc2VuZGVyLmMKQEAgLTE4ODUsOCArMTg4NSw4IEBAIFdhbFNuZFdh aXRGb3JXYWwoWExvZ1JlY1B0ciBsb2MpCiAJCSAqIG90aGVyd2lzZSB3ZSdkIHBvc3NpYmx5IGVu ZCB1cCB3YWl0aW5nIGZvciBXQUwgdGhhdCBuZXZlciBnZXRzCiAJCSAqIHdyaXR0ZW4sIGJlY2F1 c2Ugd2Fsd3JpdGVyIGhhcyBzaHV0IGRvd24gYWxyZWFkeS4KIAkJICovCi0JCWlmIChnb3RfU1RP UFBJTkcpCi0JCQlYTG9nQmFja2dyb3VuZEZsdXNoKCk7CisJCWlmIChnb3RfU1RPUFBJTkcgJiYg IVJlY292ZXJ5SW5Qcm9ncmVzcygpKQorCQkJWExvZ0ZsdXNoKEdldFhMb2dJbnNlcnRSZWNQdHIo KSk7CiAKIAkJLyoKIAkJICogVG8gYXZvaWQgdGhlIHNjZW5hcmlvIHdoZXJlIHN0YW5kYnlzIG5l ZWQgdG8gY2F0Y2ggdXAgdG8gYSBuZXdlcgotLSAKMi41MS4yCgo= --000000000000998d22064c4f8b11--