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 1w5fjy-003VJ7-1J for pgsql-hackers@arkaria.postgresql.org; Thu, 26 Mar 2026 08:06:54 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1w5fjw-001Yi6-1q for pgsql-hackers@arkaria.postgresql.org; Thu, 26 Mar 2026 08:06:52 +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 1w5fjw-001Yhx-0m for pgsql-hackers@lists.postgresql.org; Thu, 26 Mar 2026 08:06:52 +0000 Received: from mail-yx1-xb133.google.com ([2607:f8b0:4864:20::b133]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1w5fjt-00000001Fgw-2niZ for pgsql-hackers@postgresql.org; Thu, 26 Mar 2026 08:06:52 +0000 Received: by mail-yx1-xb133.google.com with SMTP id 956f58d0204a3-649278a69c5so633256d50.3 for ; Thu, 26 Mar 2026 01:06:49 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1774512408; cv=none; d=google.com; s=arc-20240605; b=Qnbk6BptBEq0nuTKdyWzssPXyGvxYmt6snOEKDutey/lhawkEtdjOcnjYPnLUloGwP 3yoA7rKlsXmcsYsA+VPrV9IbtI5Rg7b4KLdVPekleha1nmo8XQtUwQhtWKbpmj1nNLg9 vB8l4f489GJEkqYcJbKY9Hp0ooTaA9nzZ1+qfcwlYgp/chj2ClL+EQ2RPhF7RZ+0wgwU GVN/x3F2yyAy5eHvuA/0WkGsJqKdhEKJkPPo03Ce7gQSb1tfhv5vdRK1/lfqQP7XEEon 3Hm2oMxXAVnxDqkFVrro+Pokz3rDEp/OWZ0Zgtqakgi1fyPtMdmgL/wdr91Nl+cvo7u1 LSqA== 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=PCmJKb01RPlk1eyFuFl4IjmWyAUy8FX7OdrThP0VLJI=; fh=4xiuXFSQITFEM8/8qFP3BvuYB//V+COLcoPm9d8rt5s=; b=LRzt67OuD7GBSnOkn33Fmslne/TYTyAQHr9uef1gwFKIlXYF2o8zcVxU+kOUqJyZkI 7FrSuH9GC2z6J2LuQkE4qpriHw6q11XtVQuOTZ7ux3P3ML1uSKvQKqHX3Bkw7cwlpc8T BMABnmVgvm88JiGRj0y6t16FdWPy4AGBlp8RCuQrlQiWwUFUNW6myVUphXoutPfWTEKZ 7e6o5Q8pm9vBUozeb4E+LTem61fg7sq4uDAAxMbGEcxnz+CMzEbpPSV4idjyki4mGXi8 iF/xDJVptb3Jr+0WtIC71p8PbzOtsF0h3mrvnH9XTvnCUdQdMSVwbeZxtBuoDPJL+XOp d/AA==; 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=20251104; t=1774512408; x=1775117208; 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=PCmJKb01RPlk1eyFuFl4IjmWyAUy8FX7OdrThP0VLJI=; b=MHxyvBvgvoPt3QvVviPq6AZNvVlvEdIa5PYFIxd1mpk8zP3MdiOG+m1JxxJPMQcUHq s57d5ZShYdXq2LXA0MHMRQ6wDZt/cgfpsKG2llSl4LhD11tzCn8ZLshed6HSRgWqieKl jiAMkY0UI6zhijHZvMBpH945Ad7OkoD/fnhAUViO48pF6shjYbAmw8IGcqlJwZTXic8E dLq+RM2FuEHg10Tzi4LZSWdLBOIzDLWX8XSXd72kt4DQ41LFJh4gw2pHxG6fl8Lw2fyF X0yGT/wgsCrq9xNJsvvAfBNJY73G4pUBH+RMyC+VKv6leoCvd19MkwI9R0PdSRg2nM0Z sHew== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774512408; x=1775117208; 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=PCmJKb01RPlk1eyFuFl4IjmWyAUy8FX7OdrThP0VLJI=; b=r1qdfpY9ZbbJD4u/j8OQT7kWlJr55h9AeqGrNSwEZOX01t0F3r8LYCc01dJJU2cGh2 t+14gJIUAXKfm0h5W8Ws8j19qH79ctTRNr2gS37FQ9Rogs+GT2nz1DjbhtNo46jCeucv iT/b2k6xRJrDgX3mftD9j568RyqH6XrcGRY9PO2jXCMqwogOJS3adigmtlxGfTlKRKiU TyrQzhygq7P3BbGDpRzBkCAshGm3oerRvWpblfCKwL3KjDJTlsJUwaetOvY5TUN1w51W aRxaDqTGP0THVORt5wDNlR7p3DE2HRV139kxUG/uB/qkRQV1MyUwpJy5MoP0VDIFTUnk eH1w== X-Forwarded-Encrypted: i=1; AJvYcCXSwQPgl2HnpNC7PmH4BuZ2LhYpbcnw3j86+808gg7ciWpAEgGG3seNYwYAimc+bDGrf8rXm3C1IzY31Zkl@postgresql.org X-Gm-Message-State: AOJu0YzlNs1ym4sjWayGLWKR2Pm7b4fglinpo8c2h1fQrDTHaL+99XrQ xPnGqPSmgwz+7Gy+uHxp82ByAhbTY899XZ93t/Uh/4Qh6VjsFCUgVq/BtxQIS65umCUav7ZBpk4 D4VaPhZ34u1E4Je5TQFLycd8M4DqGLZQ= X-Gm-Gg: ATEYQzyPpAaNMIm76qZV5BUuWvQXO9GL+Q7B0d6cDBVq/PP7LgGpdC6UaOFXhB+WmWA So5eTji9yWYe3Mm/CfnaxpB+MYJXNURMFxRxh6PE2mVtoqiQgNu+O4oP/15k2WAS2/lH2Qjr8iG fmOE4ZwdgeY91AArYWy2Utz0eJ1TyDIdNzVYNYuCSlYFs3p5xW53u3PVrKXp51fafnw0sr2dVIB G3ersZwkVt/7iZePLs73Uv3kNUdBPbbkam3jnTzYSLOOFcO19EMFIegfKLkk5bjDGC/LaPuokeX FISG23U= X-Received: by 2002:a53:d013:0:b0:64e:a0e7:2e34 with SMTP id 956f58d0204a3-64ee606dfb2mr5451336d50.9.1774512408008; Thu, 26 Mar 2026 01:06:48 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Lakshmi N Date: Thu, 26 Mar 2026 01:06:37 -0700 X-Gm-Features: AaiRm50Om20pKMSF8EV8sNw6_u7pXHHrL7NhXT89rQcU6wUuTHlzZw9DFxBRs5o Message-ID: Subject: Re: log XLogPrefetch stats at end of recovery To: Bharath Rupireddy Cc: Jakub Wartak , Thomas Munro , SATYANARAYANA NARLAPURAM , pgsql-hackers@postgresql.org Content-Type: multipart/mixed; boundary="000000000000bb2bb8064de8dd4f" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000bb2bb8064de8dd4f Content-Type: multipart/alternative; boundary="000000000000bb2bb7064de8dd4d" --000000000000bb2bb7064de8dd4d Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi, On Tue, Mar 24, 2026 at 8:23=E2=80=AFPM Bharath Rupireddy < bharath.rupireddyforpostgres@gmail.com> wrote: > Hi, > > On Tue, Mar 24, 2026 at 5:07=E2=80=AFAM Lakshmi N wrote: > > > >> so instead of like: > >> redo prefetch stats: prefetch=3D%lu, hit=3D%lu, skip_init=3D%lu, > >> skip_new=3D%lu, skip_fpw=3D%lu, skip_rep=3D%lu" > >> > >> something like below ones: > >> redo prefetch stats: done %lu prefetches, %lu hit, %lu zero-initated, = .. > >> redo prefetch stats: done %lu prefetches, (%d% hit ratio), %lu > >> zero-initated, .. or something like that > > > > Please find the attached patch with the suggested changes. I referenced > [1] to log the message as suggested. > > > > 2026-03-24 04:53:15.251 PDT [18898] LOG: redo prefetch stats: > prefetched 27 blocks, skipped 22 blocks because they were already in the > buffer pool, skipped 17 blocks because they would be zero-initialized, > skipped 0 blocks because they didn't exist yet, skipped 28 blocks because= a > full page image was included in the WAL, skipped 155 blocks because they > were already recently prefetched. > > IMHO, the above looks too verbose. +1 for Jakub's suggestion. Would > something like the below work? I believe the developers looking at > these logs for analysis will have some understanding of what each of > these means. > > LOG: redo prefetch stats: prefetched 27, skipped (22 in buffer pool, > 17 zero-inited, 0 non-existent, 28 FPI, 155 recently prefetched) > Address this in the attached patch. Please let me know if this looks good. 2026-03-26 00:51:19.797 PDT [91881] LOG: redo prefetch stats: prefetched 418376 blocks, skipped (362419 in the buffer pool, 418479 zero-initialized, 0 non-existent, 9 full page image, 39183318 recently prefetched) Regards, Lakshmi --000000000000bb2bb7064de8dd4d Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi,

On Tue, Mar 24, 2026 at 8:23= =E2=80=AFPM Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com> wrote:
<= /div>
Hi,

On Tue, Mar 24, 2026 at 5:07=E2=80=AFAM Lakshmi N <lakshmin.jhs@gmail.com> wrote= :
>
>> so instead of like:
>> redo prefetch stats: prefetch=3D%lu, hit=3D%lu, skip_init=3D%lu, >> skip_new=3D%lu, skip_fpw=3D%lu, skip_rep=3D%lu"
>>
>> something like below ones:
>> redo prefetch stats: done %lu prefetches, %lu hit, %lu zero-initat= ed, ..
>> redo prefetch stats: done %lu prefetches, (%d% hit ratio), %lu
>> zero-initated, .. or something like that
>
> Please find the attached patch with the suggested changes. I reference= d [1] to log the message as suggested.
>
> 2026-03-24 04:53:15.251 PDT [18898] LOG:=C2=A0 redo prefetch stats: pr= efetched 27 blocks, skipped 22 blocks because they were already in the buff= er pool, skipped 17 blocks because they would be zero-initialized, skipped = 0 blocks because they didn't exist yet, skipped 28 blocks because a ful= l page image was included in the WAL, skipped 155 blocks because they were = already recently prefetched.

IMHO, the above looks too verbose. +1 for Jakub's suggestion. Would
something like the below work? I believe the developers looking at
these logs for analysis will have some understanding of what each of
these means.

LOG: redo prefetch stats: prefetched 27, skipped (22 in buffer pool,
17 zero-inited, 0 non-existent, 28 FPI, 155 recently prefetched)

Address this in the attached patch. Please let me= know if this looks good.
2026-03-26 00:51:19.797 PDT [91881] LOG= : =C2=A0redo prefetch stats: prefetched 418376 blocks, skipped (362419 in t= he buffer pool, 418479 zero-initialized, 0 non-existent, 9 full page image,= 39183318 recently prefetched)
=C2=A0
Regards,
Lakshmi
--000000000000bb2bb7064de8dd4d-- --000000000000bb2bb8064de8dd4f Content-Type: application/octet-stream; name="v3-0001-xlogprefetcher-redo-stats-logging.patch" Content-Disposition: attachment; filename="v3-0001-xlogprefetcher-redo-stats-logging.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mn76ubmr0 RnJvbSA2NGM5NmMyMGJiNzM0NWFhZDNkYzZkM2ExYzJlOTQxMGI0N2ZmZGVlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBMYWtzaG1pIE4gPGxha3NobWluLmpoc0BnbWFpbC5jb20+CkRh dGU6IFRodSwgMjYgTWFyIDIwMjYgMDE6MDI6NTcgLTA3MDAKU3ViamVjdDogW1BBVENIXSB4bG9n cHJlZmV0Y2hlcjogTG9nIHByZWZldGNoIHN0YXRpc3RpY3MgYXQgZW5kIG9mIHJlY292ZXJ5CgpB ZGQgWExvZ1ByZWZldGNoTG9nU3RhdHMoKSwgd2hpY2ggZW1pdHMgYSBMT0cgbWVzc2FnZSBzdW1t YXJpc2luZyB0aGUKcHJlZmV0Y2ggY291bnRlcnMgKHByZWZldGNoLCBoaXQsIHNraXBfaW5pdCwg c2tpcF9uZXcsIHNraXBfZnB3LApza2lwX3JlcCkgYWNjdW11bGF0ZWQgZHVyaW5nIHJlY292ZXJ5 LiBUaGUgZnVuY3Rpb24gaXMgY2FsbGVkIGZyb20KUGVyZm9ybVdhbFJlY292ZXJ5KCkgaW1tZWRp YXRlbHkgYWZ0ZXIgdGhlICJyZWRvIGRvbmUiIG1lc3NhZ2UsIGdpdmluZwpvcGVyYXRvcnMgdmlz aWJpbGl0eSBpbnRvIGhvdyBlZmZlY3RpdmUgV0FMIHByZWZldGNoaW5nIHdhcyBvdmVyIHRoZQpj b3Vyc2Ugb2YgdGhlIHJlY292ZXJ5IHNlc3Npb24uCgpOby1vcCB3aGVuIHJlY292ZXJ5X3ByZWZl dGNoID0gb2ZmLgotLS0KIHNyYy9iYWNrZW5kL2FjY2Vzcy90cmFuc2FtL3hsb2dwcmVmZXRjaGVy LmMgfCAyNSArKysrKysrKysrKysrKysrKysrKysKIHNyYy9iYWNrZW5kL2FjY2Vzcy90cmFuc2Ft L3hsb2dyZWNvdmVyeS5jICAgfCAgMiArKwogc3JjL2luY2x1ZGUvYWNjZXNzL3hsb2dwcmVmZXRj aGVyLmggICAgICAgICB8ICAxICsKIDMgZmlsZXMgY2hhbmdlZCwgMjggaW5zZXJ0aW9ucygrKQoK ZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2FjY2Vzcy90cmFuc2FtL3hsb2dwcmVmZXRjaGVyLmMg Yi9zcmMvYmFja2VuZC9hY2Nlc3MvdHJhbnNhbS94bG9ncHJlZmV0Y2hlci5jCmluZGV4IGMyMzVl Y2E3YzUxLi44NzllNjU5MWMyMCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvYWNjZXNzL3RyYW5z YW0veGxvZ3ByZWZldGNoZXIuYworKysgYi9zcmMvYmFja2VuZC9hY2Nlc3MvdHJhbnNhbS94bG9n cHJlZmV0Y2hlci5jCkBAIC0zMzUsNiArMzM1LDMxIEBAIFhMb2dQcmVmZXRjaFNobWVtSW5pdCh2 b2lkKQogCX0KIH0KIAorLyoKKyAqIExvZyBhIHN1bW1hcnkgb2YgdGhlIFhMb2dQcmVmZXRjaGVy IHN0YXRzLiBJbnRlbmRlZCB0byBiZSBjYWxsZWQKKyAqIGF0IHRoZSBlbmQgb2YgcmVjb3Zlcnkg b3Igd2hlbiBhIHN0YW5kYnkgaXMgcHJvbW90ZWQuCisgKi8KK3ZvaWQKK1hMb2dQcmVmZXRjaExv Z1N0YXRzKHZvaWQpCit7CisJaWYgKHJlY292ZXJ5X3ByZWZldGNoID09IFJFQ09WRVJZX1BSRUZF VENIX09GRikKKwkJcmV0dXJuOworCisJZWxvZyhMT0csCisJCSJyZWRvIHByZWZldGNoIHN0YXRz OiBwcmVmZXRjaGVkICVsdSBibG9ja3MsICIKKwkJInNraXBwZWQgKCVsdSBpbiB0aGUgYnVmZmVy IHBvb2wsICIKKwkJIiVsdSB6ZXJvLWluaXRpYWxpemVkLCAiCisJCSIlbHUgbm9uLWV4aXN0ZW50 LCAiCisJCSIlbHUgZnVsbCBwYWdlIGltYWdlLCAiCisJCSIlbHUgcmVjZW50bHkgcHJlZmV0Y2hl ZCkiLAorCQlwZ19hdG9taWNfcmVhZF91NjQoJlNoYXJlZFN0YXRzLT5wcmVmZXRjaCksCisJCXBn X2F0b21pY19yZWFkX3U2NCgmU2hhcmVkU3RhdHMtPmhpdCksCisJCXBnX2F0b21pY19yZWFkX3U2 NCgmU2hhcmVkU3RhdHMtPnNraXBfaW5pdCksCisJCXBnX2F0b21pY19yZWFkX3U2NCgmU2hhcmVk U3RhdHMtPnNraXBfbmV3KSwKKwkJcGdfYXRvbWljX3JlYWRfdTY0KCZTaGFyZWRTdGF0cy0+c2tp cF9mcHcpLAorCQlwZ19hdG9taWNfcmVhZF91NjQoJlNoYXJlZFN0YXRzLT5za2lwX3JlcCkpOwor fQorCiAvKgogICogQ2FsbGVkIHdoZW4gYW55IEdVQyBpcyBjaGFuZ2VkIHRoYXQgYWZmZWN0cyBw cmVmZXRjaGluZy4KICAqLwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvYWNjZXNzL3RyYW5zYW0v eGxvZ3JlY292ZXJ5LmMgYi9zcmMvYmFja2VuZC9hY2Nlc3MvdHJhbnNhbS94bG9ncmVjb3Zlcnku YwppbmRleCA2ZDJjNGE4NmI5Ni4uN2U1NDgyZmQ5NzYgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5k L2FjY2Vzcy90cmFuc2FtL3hsb2dyZWNvdmVyeS5jCisrKyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy90 cmFuc2FtL3hsb2dyZWNvdmVyeS5jCkBAIC0xODQ1LDYgKzE4NDUsOCBAQCBQZXJmb3JtV2FsUmVj b3Zlcnkodm9pZCkKIAkJCQllcnJtc2coInJlZG8gZG9uZSBhdCAlWC8lMDhYIHN5c3RlbSB1c2Fn ZTogJXMiLAogCQkJCQkgICBMU05fRk9STUFUX0FSR1MoeGxvZ3JlYWRlci0+UmVhZFJlY1B0ciks CiAJCQkJCSAgIHBnX3J1c2FnZV9zaG93KCZydTApKSk7CisKKwkJWExvZ1ByZWZldGNoTG9nU3Rh dHMoKTsKIAkJeHRpbWUgPSBHZXRMYXRlc3RYVGltZSgpOwogCQlpZiAoeHRpbWUpCiAJCQllcmVw b3J0KExPRywKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL2FjY2Vzcy94bG9ncHJlZmV0Y2hlci5o IGIvc3JjL2luY2x1ZGUvYWNjZXNzL3hsb2dwcmVmZXRjaGVyLmgKaW5kZXggN2VjNDBjNGI3OGIu LjVmOWY0ODk4MGNkIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9hY2Nlc3MveGxvZ3ByZWZldGNo ZXIuaAorKysgYi9zcmMvaW5jbHVkZS9hY2Nlc3MveGxvZ3ByZWZldGNoZXIuaApAQCAtMzcsNiAr MzcsNyBAQCBleHRlcm4gdm9pZCBYTG9nUHJlZmV0Y2hSZWNvbmZpZ3VyZSh2b2lkKTsKIGV4dGVy biBzaXplX3QgWExvZ1ByZWZldGNoU2htZW1TaXplKHZvaWQpOwogZXh0ZXJuIHZvaWQgWExvZ1By ZWZldGNoU2htZW1Jbml0KHZvaWQpOwogCitleHRlcm4gdm9pZCBYTG9nUHJlZmV0Y2hMb2dTdGF0 cyh2b2lkKTsKIGV4dGVybiB2b2lkIFhMb2dQcmVmZXRjaFJlc2V0U3RhdHModm9pZCk7CiAKIGV4 dGVybiBYTG9nUHJlZmV0Y2hlciAqWExvZ1ByZWZldGNoZXJBbGxvY2F0ZShYTG9nUmVhZGVyU3Rh dGUgKnJlYWRlcik7Ci0tIAoyLjQzLjAKCg== --000000000000bb2bb8064de8dd4f--