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 1wEXMJ-0047Q8-3B for pgsql-hackers@arkaria.postgresql.org; Sun, 19 Apr 2026 18:59:08 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wEXMH-00Fy4X-0E for pgsql-hackers@arkaria.postgresql.org; Sun, 19 Apr 2026 18:59:05 +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 1wEXMG-00Fy4M-26 for pgsql-hackers@lists.postgresql.org; Sun, 19 Apr 2026 18:59:04 +0000 Received: from mail-vk1-xa36.google.com ([2607:f8b0:4864:20::a36]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1wEXME-000000020rX-1lf9 for pgsql-hackers@lists.postgresql.org; Sun, 19 Apr 2026 18:59:04 +0000 Received: by mail-vk1-xa36.google.com with SMTP id 71dfb90a1353d-56d958880ecso665240e0c.2 for ; Sun, 19 Apr 2026 11:59:01 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1776625138; cv=none; d=google.com; s=arc-20240605; b=E6+gKfui/LoqJjtPwYaHW2YHiYiEATTxHkC7HzYvx1gC/m04aldiSPP6wmp+O+peHr qSTT7emAEGxqn0+ioe0iyi3OPvJfPnTyrhDoEWXY1Rrb1TK+23tAB7+Li971FBafRN67 D9QXahmmB8hwRKoBWj0Xvs5yYP8cb4+3IJ4dAl7vM4ZTyq/kPOg5iSbw1p4UoCPYfbSG oNRERfU/DXEeHck35zRR9SvOvgcPnQemyhjFvzbLqUIwjLcyvvQTLDNgxFg5PAoJeClS ExAJGf/pRaK7LpkW+PoaODmqzDrIVZyD6LlXsdc6Ujfc0eaNJCY/Jz2WfRfGyB+eIrgJ NLjQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=to:subject:message-id:date:from:mime-version:dkim-signature; bh=KE25u0onuLK/w/IQ3x65OwNcw6Q5X6FlBqHW0hIAXPw=; fh=kocv1Sf8QL3ZwkechhSfVGAB7SA+jACr4ZNO2Q+kZ40=; b=T9D4ID3h/zy+sMrohCPqPP+BZP1Gs1033DLC2HKg6lyPYKTxd6/6Mvqpbb6Eeq9h1x Ra0ARrv49xBMl6UYzsfgweVu5n5y5YgO4PIgELsTyb2pwx53ff/xhP/4Nls/1Qzn8wIY y620vwS37r+dz/JMtX5qC5XvcjPWJAWumFVbAVQM5a9zLSTjJFtYSxQ5hlh0ONXC/mkZ Fzx1IUstZZCeH/ID2hs7ohPWs33pq34QNKNDUmSuML1dyjyHrngSlXg+eOuZb3A0GyFB am9RlmskZqIY52FFasT72jTqRmIkVw2Ef/P5jy5MoFE/ie9XeT9sjZVPOhbyylc5cqJ8 nMFQ==; 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=1776625138; x=1777229938; darn=lists.postgresql.org; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=KE25u0onuLK/w/IQ3x65OwNcw6Q5X6FlBqHW0hIAXPw=; b=D+VyZvcMM5yC/0JIsoO6OB3UhIYB+iibs5nCVq4fdMG5GLWmPmp1V0oh8p7Rfdha/v Qdwf0pvOBAcwAtBgQFheAkkiZwO/rhenBgBZaGqlX9uPPwc73c1SKkbqM7LWc30czHO0 YyMMncn8yxZ2EhqfzrZR//UCkOLFs3QW9wY9JfpjmGLs/IxNa5ZTu6veA1m4bNAOiFbY 2X8VrGnxNFP3Y63+kOcnRiTphhHsJVA09n6mOaCQgkYPNzwodmthcZw9jQfuD017PfvR GkHZT1/jgU0QojRgmR0w/oIC7MWa/r63Nb9SpExLLTJVfrtbRkHCH/YMCfgij0NMrLQ7 bLQw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1776625138; x=1777229938; h=to:subject:message-id:date:from:mime-version:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=KE25u0onuLK/w/IQ3x65OwNcw6Q5X6FlBqHW0hIAXPw=; b=HKlABt7uI+Tgdl7BabGs8Y3YZVjuu0yWt2OUoZGOjU6jghcLL6fI0H5ueyxafg5YkC Ky4MSWqTq5Gxr55/Waa97tg4XmtcAK6pO1SeCllaC2aG166D1Zqpt7MuUfUJBpEicUMZ rxroNpGXRd8LXYtfAvNOPsbAFloe0wNnsglaC2hzlBOcFDgMZwpjgWa2X8PbQaUJgIGx oqfwVLR3HBGDcv10XkKx2JSwPyIhNzatGdKNCxV/PYJK5yVIrSnpv/IK9ePeS3EtQiMQ BBJuy42XtCukuH+vuiuO2KPtUMAGbIb+rm/9TxaruEoL+/FNZh9jGvMFT2pNwGmbOn+O qy4g== X-Gm-Message-State: AOJu0YycztfMs99mvGNj4OBXl5CmFy554yh85kwc6+h+iHZXjaMTgKp0 GyVGqZJm6/fXaNAPoxn0T5q1fyJK98yJro++/YgWCtOYKntvfX+0EDTdlWe8Pk8oAHHI91wwk3j 5OV/MdnDzVTnZALv0NKvFjeYX4Q1SUpgQKkqB X-Gm-Gg: AeBDieux+01xetNr0LDB4EFcsJRX49t1K+jOaFbjd9JGf8DWGLK0dAHLg+FZcaivAxY 72zyIeGCiv8hojz2vIS6fh8ECw6Pa2Qq0t77EMq2YH+/KYp9ZZENJsB4fsAK0l1r70oflvM0AUg aWggRVrGLjKSZwo6PRT0RRrtlD2pF6zn6wSOLvaUbg5K9sy6q718CkvhWkWEeJPMV3cXe8nMdaq gx0vDYvfyW14iERt46HntncUdPE3SKSL1G1gBaqBrA2/TZrSVOzTJEuZGeDFMwW7fGszWm6zjx8 QfmvijgtfKwPzw2SdCzt2P1KxrRU X-Received: by 2002:a05:6122:1d91:b0:56c:ce8a:b07a with SMTP id 71dfb90a1353d-56fa589cdb0mr4350269e0c.7.1776625137805; Sun, 19 Apr 2026 11:58:57 -0700 (PDT) MIME-Version: 1.0 From: SATYANARAYANA NARLAPURAM Date: Sun, 19 Apr 2026 11:58:46 -0700 X-Gm-Features: AQROBzC54IujqPdxUawvkpwSpN4yk6Z1hUOCQ-AsrHgkAgNb6bMQwR2jjSNMfYw Message-ID: Subject: Possible premature SNAPBUILD_CONSISTENT with DB-specific running_xacts To: PostgreSQL Hackers , =?UTF-8?Q?=C3=81lvaro_Herrera?= , Antonin Houska Content-Type: multipart/mixed; boundary="0000000000003d0ba5064fd4c68d" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --0000000000003d0ba5064fd4c68d Content-Type: multipart/alternative; boundary="0000000000003d0ba2064fd4c68b" --0000000000003d0ba2064fd4c68b Content-Type: text/plain; charset="UTF-8" Hi hackers, A cluster-wide decoder must never have its snapshot-builder state changed by a database-specific running_xacts record. Adding a check to return it early. I think otherwise a cluster wide decoder can potentially go to SNAPSHOT_CONSISTENT state immediately even though transactions older than nextXid are still in progress on a different DB (not tracked by running_xact record). This race is now possible with cluster wide decoders and Repack concurrently run. Attached a patch to fix this. Thoughts? Thanks Satya --0000000000003d0ba2064fd4c68b Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi hackers,

A cluster-wide decoder must= never have its snapshot-builder state changed
by a database-specific ru= nning_xacts record. Adding a check to return it early.
I think ot= herwise a cluster wide decoder can potentially go to=C2=A0
SNAPSH= OT_CONSISTENT state immediately even though transactions older
th= an nextXid are still in progress on a different DB (not tracked by running_= xact
record). This race is now possible with cluster wide decoder= s and Repack
concurrently run.


Attached a patch to fix this. Thoughts?

Than= ks
Satya
--0000000000003d0ba2064fd4c68b-- --0000000000003d0ba5064fd4c68d Content-Type: application/octet-stream; name="v1-snapbuild-only.patch" Content-Disposition: attachment; filename="v1-snapbuild-only.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mo64nmgz0 ZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvc25hcGJ1aWxkLmMg Yi9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL3NuYXBidWlsZC5jCmluZGV4IGM4MzA5 YjkuLjg5NTM2NDcgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwv c25hcGJ1aWxkLmMKKysrIGIvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC9zbmFwYnVp bGQuYwpAQCAtMTE1Nyw2ICsxMTU3LDIxIEBAIFNuYXBCdWlsZFByb2Nlc3NSdW5uaW5nWGFjdHMo U25hcEJ1aWxkICpidWlsZGVyLCBYTG9nUmVjUHRyIGxzbiwgeGxfcnVubmluZ194YWN0CiAJUmVv cmRlckJ1ZmZlclRYTiAqdHhuOwogCVRyYW5zYWN0aW9uSWQgeG1pbjsKIAorCS8qCisJICogQSBk YXRhYmFzZS1zcGVjaWZpYyB4bF9ydW5uaW5nX3hhY3RzIHJlY29yZCBvbmx5IGRlc2NyaWJlcyBY SURzIG9mCisJICogdHJhbnNhY3Rpb25zIHJ1bm5pbmcgaW4gcnVubmluZy0+ZGJpZDsgWElEcyBv ZiB0cmFuc2FjdGlvbnMgaW4gb3RoZXIKKwkgKiBkYXRhYmFzZXMgKGluY2x1ZGluZyBwb3NzaWJs eSBvdXIgb3duKSBhcmUgbWlzc2luZyBmcm9tIHhpZHNbXSBhbmQgbm90CisJICogYWNjb3VudGVk IGZvciBpbiBvbGRlc3RSdW5uaW5nWGlkL25leHRYaWQuICBTdWNoIGEgcmVjb3JkIG1heSBvbmx5 IGJlCisJICogY29uc3VtZWQgYnkgYSBkZWNvZGVyIHRoYXQgaXRzZWxmIG9wdGVkIG91dCBvZiBj bHVzdGVyLXdpZGUgdHJhY2tpbmcKKwkgKiAoZGJfc3BlY2lmaWMgPT0gdHJ1ZSkuICBPdGhlcndp c2Ugd2UgY291bGQgbWFyayB0aGUgc25hcHNob3QKKwkgKiBTTkFQQlVJTERfQ09OU0lTVEVOVCB3 aGlsZSB0cmFuc2FjdGlvbnMgb2xkZXIgdGhhbiBydW5uaW5nLT5uZXh0WGlkIGFyZQorCSAqIHN0 aWxsIGluIHByb2dyZXNzIGluIGFub3RoZXIgZGF0YWJhc2UsIGNhdXNpbmcgdGhlaXIgbGF0ZXIg Y29tbWl0cyB0bworCSAqIGJlIHNpbGVudGx5IGRyb3BwZWQgZnJvbSB0aGUgZGVjb2RlZCBjaGFu Z2Ugc3RyZWFtIChkYXRhIGxvc3MgaW4KKwkgKiBkb3duc3RyZWFtIHN1YnNjcmliZXJzKS4KKwkg Ki8KKwlpZiAoIWRiX3NwZWNpZmljICYmIE9pZElzVmFsaWQocnVubmluZy0+ZGJpZCkpCisJCXJl dHVybjsKKwogCS8qCiAJICogSWYgd2UncmUgbm90IGNvbnNpc3RlbnQgeWV0LCBpbnNwZWN0IHRo ZSByZWNvcmQgdG8gc2VlIHdoZXRoZXIgaXQKIAkgKiBhbGxvd3MgdG8gZ2V0IGNsb3NlciB0byBi ZWluZyBjb25zaXN0ZW50LiBJZiB3ZSBhcmUgY29uc2lzdGVudCwgZHVtcAo= --0000000000003d0ba5064fd4c68d--