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 1wae8x-001x5f-2U for pgsql-hackers@arkaria.postgresql.org; Fri, 19 Jun 2026 18:40:43 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wae8w-00HarV-2H for pgsql-hackers@arkaria.postgresql.org; Fri, 19 Jun 2026 18:40:42 +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 1wae8w-00HarJ-17 for pgsql-hackers@lists.postgresql.org; Fri, 19 Jun 2026 18:40:42 +0000 Received: from mail-dy1-x132c.google.com ([2607:f8b0:4864:20::132c]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1wae8t-00000001JKN-453b for pgsql-hackers@postgresql.org; Fri, 19 Jun 2026 18:40:42 +0000 Received: by mail-dy1-x132c.google.com with SMTP id 5a478bee46e88-304f590dd91so2755608eec.0 for ; Fri, 19 Jun 2026 11:40:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=j-davis-com.20251104.gappssmtp.com; s=20251104; t=1781894438; x=1782499238; darn=postgresql.org; h=mime-version:user-agent:content-transfer-encoding:references :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject :date:message-id:reply-to; bh=NSw94k34Lkae4p54FPa8B7UW9u6Iaj/g6TtpQhnBVs8=; b=ROqJS+aXO8BU9WR0p8f/7Ze6eNtb2gUM8IcU5TEXhaIcmTUQZzWutbCsVjPglJV/+K Ar2SroI3c79At3xyqGYyj6feB2iE0/eSz9DAsoo+lFTZu06AqLpCIHQegiY80fxB7dD6 aDC2PIJ46Szj808bIrW6LN/vUR/LK3H+gSE2GF8jEi0534Bc2US5mZuy6EH3drRWwU8y cxEkTNXM8Xj2zHqmtm/Zw0zI64PnZsM48+lfPDDnILr3ADcrTOHYFbk79t9aiR7AraWU zXu47Sv1dRM4qkBf3tJ0aR0o8Mjr20L5pBBJEfwLwvifx9xonf2qjPiT8+QY0omSUFB2 zWgw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1781894438; x=1782499238; h=mime-version:user-agent:content-transfer-encoding:references :in-reply-to:date:cc:to:from:subject:message-id:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=NSw94k34Lkae4p54FPa8B7UW9u6Iaj/g6TtpQhnBVs8=; b=O5c+hRX+GDTmx2VUolTIeobIvOJPwTzuJKhzOcdoyQuNCJ+J/AUuhkrdF9ZC4EkM7k S3rw8uakFF18GBmVf6pGzXkINuBb860keR97RyxfIe52450krjHwmcpKpQqbupQ6k9PB b7m0pdVE1ILyukrNeAnln/2vYjZbH4Vtw2f2yzkOvZtDBKKu4h+op6gu6XQnlAyl/N+R KOx9iuKbWkEvgSuU+qr9Lgz9qrhIX3Rp7PKeYxygGEzyWbDBqUqfRYUbWo6+k1lkbMlw PgORkRZ+hWvybellpyNn3mUlV9lrxRKvOAT6MIU55Q1G9Z4hpT115Ze69kpqVBAPooiJ ckWQ== X-Forwarded-Encrypted: i=1; AFNElJ+aCRE3pSRZgKO9ERc97AQLAfdDzGPaAw6ACRJl/6wQ5sbqy6rBc0cpYxzukQCUmZFDZbMUODE297I8K8/4@postgresql.org X-Gm-Message-State: AOJu0Yyrz7P6RU+8JC9UFl4dkwmROL6zJ844KzZzbjgTImExxzL3tSAm ZO+cwoNH0nenJUKOnrH504oDhMTVk9UhIsGkrVzPhjJQ0LhYMCzPprTdtb4Z6C4dFQ== X-Gm-Gg: AfdE7cmY+PqkryNNg5HjuC/yfoi2ScQo0Wo6otwOvfeiYsvF7Z3rKRbv23+vy4B/whh mBxQFAKOBeV1LTM/PhOPcpA+AyNVcHZxCy+ffL/e2SAWZJ7/QN4+rhRZdx4/yMMtbr3rrKdYQUb 1WZ0Vc6sbf/5VNq8gKU/j/z0XifuOjo1gWVrxDm8/brEWffAsjRUc9+NRVqo+YxSRvmm7ChCa74 bl9tP2ewpvcSlfZHkusKcgrn7c64Vn/2GSne2Yz4hbGm3KS/SMglyaSCIcfvX7Gs1t+ujm6SNAh hDbEDraz67mCq1upU+xxz+xRkuvg7crCjRAwYsR+CDdvHlvH9XXPhUsPR6PoNWiTcmTdjnLuW6v 4jXNy447f5T1NjBDu3az6HVBIzosnVDq8jLFOT6gqLGTUNybxMo1WrQgtHk5bsOgjrSfCkhny/q FhkUBlrG0kkN7bDMEQDYZg3wNgaCiz9hZOWq85p02NC1xxpg== X-Received: by 2002:a05:693c:42c6:b0:30c:1b70:896d with SMTP id 5a478bee46e88-30c1b70d9cdmr374113eec.31.1781894437664; Fri, 19 Jun 2026 11:40:37 -0700 (PDT) Received: from jeff-ws-bridge.lan (c-24-7-19-3.hsd1.ca.comcast.net. [24.7.19.3]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-30c1ba5c25csm637241eec.8.2026.06.19.11.40.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 19 Jun 2026 11:40:35 -0700 (PDT) Message-ID: Subject: Re: Bug in ALTER SUBSCRIPTION ... SERVER / ... CONNECTION with broken old server From: Jeff Davis To: Amit Kapila , Chao Li Cc: Zsolt Parragi , "Hayato Kuroda (Fujitsu)" , Ajin Cherian , PostgreSQL-development Date: Fri, 19 Jun 2026 11:40:34 -0700 In-Reply-To: <5c629d2455946ad2fde3c184f64ea2c323ef2133.camel@j-davis.com> References: <960DD2C4-A22C-463A-90ED-86E0FABD8D20@gmail.com> <8B38AFCA-7FFA-44CF-B9A8-81BDCEAFB224@gmail.com> <705148C3-519C-45E7-9EA8-48D9F3B79B06@gmail.com> <1B3A7FF0-3292-484F-992C-27D172772EB8@gmail.com> <65166eb6feb87356f8d60bfe646289ce15a6c729.camel@j-davis.com> <24C6472D-DCAB-4F69-AE8A-FFB4AAB3F6F0@gmail.com> <5c629d2455946ad2fde3c184f64ea2c323ef2133.camel@j-davis.com> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable User-Agent: Evolution 3.52.3-0ubuntu1.1 MIME-Version: 1.0 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On Wed, 2026-06-17 at 16:10 -0700, Jeff Davis wrote: > v7-0003 is more than just an error message change, so I updated the > commit message. It handles the case where the drop path has > rstates!=3DNIL but slot_name=3DNONE: without 0003, the drop will fail > while > trying to construct the conninfo (without the HINT); with 0003, the > drop will silently succeed without removing the tablesync slots (as > it > does with a connection failure when subconninfo is set). >=20 > If the use of a subtransaction is fine there, then I think we should > proceed with 0003 and whatever hint message is agreeable. 0002 committed. For 0003, I don't think we can absorb every kind of error that might happen inside fdwconnection. libpqrcv_connect() doesn't attempt to do so, so neither should construct_subserver_conninfo(). What 0003 is really trying to avoid is fairly normal kinds of errors that can happen on a non-broken FDW that get in the way of dropping a subscription. That includes a missing user mapping or a failed ACL check. But aside from that, it's hard to think of other examples we'd clearly want to absorb. Options: * check for those two error codes explicitly * try to be more systematic about what kinds of errors should be absorbed or not * add an escape hatch for users to turn off tablesync slots so that DROP will always succeed * consider it an unimportant edge case and leave it the way it is (with 0001 & 0002 already done), and close the open item Thoughts? Regards, Jeff Davis