Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1oy4kx-0006z2-OC for pgsql-hackers@arkaria.postgresql.org; Thu, 24 Nov 2022 05:26:39 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1oy4kw-0001of-H5 for pgsql-hackers@arkaria.postgresql.org; Thu, 24 Nov 2022 05:26:38 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1oy4kw-0001lS-1D for pgsql-hackers@lists.postgresql.org; Thu, 24 Nov 2022 05:26:38 +0000 Received: from esa8.fujitsucc.c3s2.iphmx.com ([68.232.159.88]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1oy4ks-00054r-VA for pgsql-hackers@postgresql.org; Thu, 24 Nov 2022 05:26:36 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=fujitsu.com; i=@fujitsu.com; q=dns/txt; s=fj1; t=1669267594; x=1700803594; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=sLiDG+csHsekXrGiANAKM7ZTMB9XVVuglkboDiTPL1g=; b=PlYHotMSoE9OVPljGHCjuYwgPsItALxNjgLPv/yBAZ8JwmEQkpsTj8Ta 6fn+iOlrao+J6dEe0j7M+w636nfKRgFf8ATx2x+XEdKGP8hQ5xmLEKUhC YPasyFkutGDdq+saUjelfPfERwHm6xTPbsOTBEruLcLbOtVoTG7dNGDSR V+1SN2LY1xpfrMjyq3FMEKTyg8hUnHt6HTEsHJem0q/VDOvzUjFHY4Tee lOXrRXcwz5ssWv7hg2JwF90hgCU0eEapyR5o3qAJsjypsW0xumvYrsUEh Oo4A1MFZ5e3/SGkaySah1zzYRxprgYgsH8IHwUNkLDmM6sqsYUmjf+Bwb A==; X-IronPort-AV: E=McAfee;i="6500,9779,10540"; a="70764946" X-IronPort-AV: E=Sophos;i="5.96,189,1665414000"; d="scan'208";a="70764946" Received: from mail-os0jpn01lp2105.outbound.protection.outlook.com (HELO JPN01-OS0-obe.outbound.protection.outlook.com) ([104.47.23.105]) by ob1.fujitsucc.c3s2.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Nov 2022 14:26:31 +0900 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=RtDVBJixx3ZEZ82Toi2zOfHQTk75HTXV9XaULTDrFJk4ITwCLPivUw6SWfEKXAMKqNZ+6ajUIs9SdSH9Y8GDtqvQ9xHPEh10krJksLTgVt5O2sOizPklP4fr09jleJKk+7OjimIBSJeaZppRWCOF774bvPBPtEO8cQRQffXvRgXvPpURjuvyZjYk2sVda2fwcGt5rGgWJkdaZOdm5/zeTF1/D2a36R9jWhRM97YZwCiGKTjnUeozbrsY+NgUBOLxrfnZxFWyVsm/KIG0pEYbd9s5QwMBy6ec4EnB0sZP0YYL6c+wOgVsrRe76Yf8ObvAO26hcI5p+qZjBIQbMjrUYw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=yHQMWRQss2SXEaXpgHbdUGIgG9NlGdnSRcq+85iKIrc=; b=C15GUZEhENNBLkQ3xGFRIl9jq3DRdbcaYquMWtsI+7HiVJIlghlDWgu9L9W5gxWgAF2887LDvkkMmmHSrzULuoIqXqRzD7To/ve0mMbhWn81ItiEgoAswqAXoK2ZgnDGXMNB3zhJEsdaXUGIEG4VUJYPQBV++DE/tWrTrkd6vF4tuws3WrenqT61+BHRA59gjJ7uBtrHn9/6lcduS3WH5Ea5IASYiNgYKIBIRrvjRY53bESNrNnY/ycnCDd1J4SSKA6H144YdiDp1lNZE902DBa2AOFHRVU0MO1x1HCfqj4/Bl6dgC4fPhrJELwXeoY4nRiiDuJG9wEZohugK0Skaw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=fujitsu.com; dmarc=pass action=none header.from=fujitsu.com; dkim=pass header.d=fujitsu.com; arc=none Received: from TYCPR01MB5870.jpnprd01.prod.outlook.com (2603:1096:400:42::9) by TYWPR01MB8792.jpnprd01.prod.outlook.com (2603:1096:400:168::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5834.15; Thu, 24 Nov 2022 05:26:27 +0000 Received: from TYCPR01MB5870.jpnprd01.prod.outlook.com ([fe80::9f4f:d1ff:447:38df]) by TYCPR01MB5870.jpnprd01.prod.outlook.com ([fe80::9f4f:d1ff:447:38df%6]) with mapi id 15.20.5857.019; Thu, 24 Nov 2022 05:26:27 +0000 From: "Hayato Kuroda (Fujitsu)" To: 'Nathan Bossart' CC: "pgsql-hackers@postgresql.org" Subject: RE: wake up logical workers after ALTER SUBSCRIPTION Thread-Topic: wake up logical workers after ALTER SUBSCRIPTION Thread-Index: AQHY/gstJTOw1KVvYkmzgq5jwtGOWq5KPp3ggAAeDQCAABlmgIAAFRMAgAJzNYCAAH8N0A== Date: Thu, 24 Nov 2022 05:26:27 +0000 Message-ID: References: <20221122004119.GA132961@nathanxps13> <20221122043916.GA230228@nathanxps13> <20221123205027.GA368966@nathanxps13> In-Reply-To: <20221123205027.GA368966@nathanxps13> Accept-Language: ja-JP, en-US Content-Language: ja-JP X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: MSIP_Label_a7295cc1-d279-42ac-ab4d-3b0f4fece050_Enabled=true; MSIP_Label_a7295cc1-d279-42ac-ab4d-3b0f4fece050_SetDate=2022-11-24T04:29:08Z; MSIP_Label_a7295cc1-d279-42ac-ab4d-3b0f4fece050_Method=Standard; MSIP_Label_a7295cc1-d279-42ac-ab4d-3b0f4fece050_Name=FUJITSU-RESTRICTED?; MSIP_Label_a7295cc1-d279-42ac-ab4d-3b0f4fece050_SiteId=a19f121d-81e1-4858-a9d8-736e267fd4c7; MSIP_Label_a7295cc1-d279-42ac-ab4d-3b0f4fece050_ActionId=4ea3ebbb-2a01-4e2b-86ea-3aa961e2cc95; MSIP_Label_a7295cc1-d279-42ac-ab4d-3b0f4fece050_ContentBits=0 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=fujitsu.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: TYCPR01MB5870:EE_|TYWPR01MB8792:EE_ x-ms-office365-filtering-correlation-id: f9444a11-fd73-40f7-f9a9-08dacddc6f6a x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 2MjiUxUTlFrDSfoVOj8PdvecBLFigvtyOPJlnWw+WxbdKg/w6CExe5vkzEwGXtN2Tau3am2mkowgwxIK2kS0uevYQ4rOwpLKLJ74IltB2fQsMZ4icNpIcWNfbCe3vO82vug5rCv+dbsF84y7+LWl/60u+6uz5+aGLZIqD4oySBvrbCAaBRM9mNtK2OOKtJYHM3rPEy0KfA4Y9YK+Jw9a1sXF7NgUdc44eKjt9lDBTr2oUt+hwvMClsdSgGzQMW3ZNzBiIrJK3rNsdjBhBrUYijUtVELg/LFUhyLFWnGSHWMNV2SHopuJOOOhR3TP1/AFemrMsmt5v1F4hcA2x4RfldiGh5wYsh4hzFvcXEicLQvipFZGx6beKoZS9RWb736L3YiK42aCC3JMVYYIOyWEbGD3pmOrGCcGpYSqAiVNRPbVG0ii6YejhGvfK+rntbKxJdoQp7FVImlaNaZE1/DQsRup+J6WL8SDHUNi3aX5vlSzKUOCCgQq6ZA6K6Fvl1Igy4yI4+u16Ar7pnOdlFNuhn6OOPimnjzUo0WeejzaYuAf+jYMtuNkZoFDDi+oeVaxlTVZe3hPxCDatpXfQdR2Wpi+6BEUkxRFebLZ14orEV0Ip/uGRNGLsSTqMWsvbBckcPV3eWBHI7U4VQrFO/E6ok4bf75mTdCEipxdIieesGyF0DYsiUEPuuGZqjTB8qQHdAWYEGYDbUpMYpiCx80k6Y7O/m8+xithkemQyY5GWf4= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:TYCPR01MB5870.jpnprd01.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(366004)(396003)(346002)(39860400002)(136003)(376002)(1590799012)(451199015)(1580799009)(2906002)(83380400001)(38100700002)(478600001)(86362001)(64756008)(316002)(122000001)(33656002)(85182001)(26005)(8936002)(9686003)(8676002)(82960400001)(52536014)(186003)(5660300002)(55016003)(66946007)(66476007)(66556008)(6916009)(66446008)(4326008)(76116006)(7696005)(71200400001)(41300700001)(6506007)(38070700005);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-2022-jp?B?Sm9BSk04YXNsaGFSaFgyMHZTSXBtMFR3RlNEQ2R5TjlmbTUrS2Nmb2Vy?= =?iso-2022-jp?B?cmJUcEJBMkw3ZUdQZ2R5N3hIeWRhNHQ0N3NETDIwYTVwenRHTlA3b1hZ?= =?iso-2022-jp?B?Mk04OVBrb0JJaDZzK2ZIQkVnNy83M1pmOXRHaVNaN1VESEtVSVBKSlJa?= =?iso-2022-jp?B?cjU2RFVINEEyTCt6WDNaZS96V1c4b2lRNlQwYlljTWhLL0h3ZDZOVXQ3?= =?iso-2022-jp?B?c2ZrbWJZQ09KYklmckdiSmtsM0M3QVRFb1JZV2dmQThzcGdYR3Bmdjlp?= =?iso-2022-jp?B?a1NVSzVoRi9ScUFJdWs5Sk0yRVBQUThjZGRNSUwwN3JHUzhuL2F3eG0w?= =?iso-2022-jp?B?Mi92djJVaDBNSTdYWkZMeW01aFZ0OHpRU1FwY1krRFBUb0NaYnlXV0ZQ?= =?iso-2022-jp?B?dzJ5REF6c0hVUlhuY0NrMUp1UnBhSisxTy81emRjc1liM0tmVi90QzMz?= =?iso-2022-jp?B?NWVQWDAwenJBYU5ibXVHNXpCRkRpY0d3WnZJQy9ncnF2anJCaGs2YnBk?= =?iso-2022-jp?B?ajk0N0ZNTXVib0xtWGt3MWNDZVBiOEZwSzZ3MGsxdFFtODRUWVpWZU9G?= =?iso-2022-jp?B?TTlLbktNWkFIMEp0TlpVRWRHanFvQ3p5NDF0ZTFUYy9tajNsaGhIKyty?= =?iso-2022-jp?B?NzRaSFFPZ29MbkdKQWFJamFRVDRmc2c1L2prbEJEYVc1a2xkTjFETjU2?= =?iso-2022-jp?B?dEJCOVp2Y0txYVN0OVUxTWZMcW84SnlmS2c2eEVaVGozQXAxU3hRcTVv?= =?iso-2022-jp?B?d2lJQTVTOGJ5M3liT0hQU21JMjFyR0p1bWNtQ0ZZN1haUTROeDBpU0RT?= =?iso-2022-jp?B?Rm00Q3kxTWNIS2dkQm56SG9aQVp1eVExWVRUS09DQmxDK2NRVWliRkZZ?= =?iso-2022-jp?B?Y0hoVXZpbXVUOGU5K3Y5aVN3Uys3Y0owM3NZcndlRk1rVGNCajlnemZ1?= =?iso-2022-jp?B?RFFrV01wTFpZMkRyNWhOR3ZVdDhPcWozUUtzQnBEeUZrSWJaTnh0Q05X?= =?iso-2022-jp?B?aEhURVZiREV3ZmtDY25oMzliU2tIWkhDNnRvNEFwNDN1WGNrU1lSRFln?= =?iso-2022-jp?B?TGNsR25KUHBBdXgrbEczejdMaEFUQmxHUSsrbGZWTC9yNlg4OTZhTW1E?= =?iso-2022-jp?B?Tko4TFk3dmlZY1dmUmlvSFpPQWJwSUhHR1ArTDJocUM1dUdzOEp5WnRs?= =?iso-2022-jp?B?WGdLbXk4QXJ2SVUvQmpNMjcxcmF5QXpjRW1lUGswVGh5Y3RCZ20yaGM3?= =?iso-2022-jp?B?eXRxdE9mNEZIa1J5dEMwUGNkbHhTNW5mQ2hZRTVBOXRhTmpab0N6blg0?= =?iso-2022-jp?B?OGxObFRVVEFoaEx4aklGbExXNStpM1ZxVlA3ejBRREhFZlBaVEpXS2ln?= =?iso-2022-jp?B?dFM4ejJFUG4zM2RPeW5LT0J4RzIxaDBReTdtU3hmN3BRbE1zeVNPV1R0?= =?iso-2022-jp?B?UnlGTm5qYVNzb04wTkN0Z09WOFdWK0NHY1pFYWhLV3hVZjc1ckVnTno3?= =?iso-2022-jp?B?QmF1cXlDUUdmUUhjSWU2RzJEYmJIS3FYVCtMLzFLdHdyc2pyRHhGMlNU?= =?iso-2022-jp?B?UkQ3QlNpMkZzL0IyWi8xVWtjUFlGTnJHL0RXbzVoclFic2VTa1NHTDZB?= =?iso-2022-jp?B?elN4VTZVSUkyejErVnNWUlE3cFRxQ0txUnAySVFxSk9YRFdQanZEMDhk?= =?iso-2022-jp?B?NUEvdjcybXlTTVNlV2dsS25ITmM1RWN1YzUrT3RzUDF6TU4yQ0xCK3J3?= =?iso-2022-jp?B?RHRoZnNTTFFhMHhTSWFFMFNSQW9tbUxuUmJaOEdBWkY5MDE4TjlTZTRC?= =?iso-2022-jp?B?UzBMRjMwQlFucjNmNm5CZnEyYW92ZjRZSitXUU1Ud2M2TlB2TWJSbzIw?= =?iso-2022-jp?B?ZzRGdXJmOEIydVJaeEk0ay9EL1F3VkdVRWJOKzNMaFRaWUpmRlBtalhv?= =?iso-2022-jp?B?QkhSYlNia0JIQ2trakFPbkhubkk4cFoxUEJmRTlWb2hLR2hhMjl2UEFl?= =?iso-2022-jp?B?UTNiZnE0NGpRV0lyVVU1Umtya2FZNjZtZjcxbXRMVWlYZERBSHpDRm9S?= =?iso-2022-jp?B?OGI4bk1sbGRrNjhHVU1QQmxHVVpPekE5YjREbS90cGlEaHlDdFByU0U3?= =?iso-2022-jp?B?S2JxSEJHY0JLSGkzZEhXYkRLUWd4WDY0Zi9ER2wrbjdIUkRRK3NKSitE?= =?iso-2022-jp?B?Q0hoSWxuSlRZbjJjRFlzS2lLakZVWVZkQkg0MDFzaFRIeUMzQ3A5SEMr?= =?iso-2022-jp?B?ejczV2p1YVZVSUVPQVBXbWI3a0EyWmk0SzhWcGMxK1BFbHdzM09FRGQx?= =?iso-2022-jp?B?d2Z4Vy9OOWh5UUQvMmRpQ0RuVUdqT1pWeUE9PQ==?= Content-Type: text/plain; charset="iso-2022-jp" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: YmyzkH2SuTcVIg5a6IASmknDJBf73k15e5WnZGvaFQGJREh6c2wcqWE7ciXcR+p95ISeJqw/vGq+lcXf88GsKPv9vxgtOuDq3X24LKRLZt8o+QdTcnDneE/vpsOwWxFam3TuKBym3WmoVo2IREHgx0wIh2ezjBJla8oZXAQYZ/2y/3Rib8lz3OyVqN5GLiAkN9GdNS7c2evPJCYpvlWrk291mXpR+CIarWlajf65PatTnFaZRRgRk+Stpr9/66aYd5Tii9aTYMaRYCitjlcn9fkUbPV8DXxsMfQuseCjQlfQCajBlVDYbZ11tveuypFj5nGArTMGTv773dPKViZE1r1ZxOPNeTDAdoDRhHY0fLR0WX0yLnzI9qbdkYRuZAlEviMlcCmWBRZOQtlFzzwRD4JDRV8lQNmDB4m1VUn+DucTmQh7akUcdakttAuUutMUsxHlLZhs/F5ExptiuFK62T0AlOd7EubxmN+5qg/VSk83HsCwOZ/xf10BV101AsdH7waiCVnbAkM5jG8z4SC7hWO2O6gfr0lefYWWD9738leX/Fgc0nq74wAcXry4FnsNgFL9G1iVpauww8dtF1HJ6Zbx7ytEjTIAuZHupW5OM0fllIFFTjKDnQv155fG8ONEoNnU0RNLnBCYe+YAi9anJ98aBm6eZ9hG0K4aLuSSPmVR4zA1TtIImU7AmQU3zL0cOK14U/6Th8kmN6YVu6kMn5YNc5+L4fIc0A+SBPA2V/WmmLivzBp/YFGhLn1T3pO2MDaM2Ey6u/vUgHvl5N3L58ITCsNoa8H/yASEaBISqN4= X-OriginatorOrg: fujitsu.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: TYCPR01MB5870.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: f9444a11-fd73-40f7-f9a9-08dacddc6f6a X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Nov 2022 05:26:27.1502 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a19f121d-81e1-4858-a9d8-736e267fd4c7 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: hhvhMcQgdAmNMqsuXx8lCU02DSyylSCdzBJmKDM1Dm+DCxq/4DVfbJ0djmsx2NuQnkbeDjKBQiQ4TCrG350NfhSOBSWSuCVLU2DCKSx9pdQ= X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYWPR01MB8792 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk Dear Nathan, Thank you for updating the patch! > In v3, I moved the call to LogicalRepWorkersWakeupAtCommit() to the end o= f > the function. This should avoid waking up workers in some cases where it= 's > unnecessary (e.g., if ALTER SUBSCRIPTION ERRORs in a subtransaction), but > there are still cases where we'll wake up the workers unnecessarily. I > think this is unlikely to cause any real problems in practice. I understood you could accept false-positive event to avoid missing true-ne= gative like ALTER SUBSCRIPTION REFRESH. +1. > >> 02. LogicalRepWorkersWakeupAtCommit() > >> > >> ``` > >> + oldcxt =3D MemoryContextSwitchTo(TopTransactionContext); > >> + on_commit_wakeup_workers_subids =3D > >> lappend_oid(on_commit_wakeup_workers_subids, > >> + > >> subid); > >> ``` > >> > >> If the subscription is altered twice in the same transaction, the same= subid will > >> be recorded twice. > >> I'm not sure whether it may be caused some issued, but list_member_oid= () can > >> be used to avoid that. > > > > +1, list_append_unique_oid might be better. >=20 > Done in v3. I have no comments for the v3 patch. Best Regards, Hayato Kuroda FUJITSU LIMITED