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 1w7Xt1-005QhE-02 for pgsql-hackers@arkaria.postgresql.org; Tue, 31 Mar 2026 12:07:59 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1w7Xsz-00A2LS-1T for pgsql-hackers@arkaria.postgresql.org; Tue, 31 Mar 2026 12:07:57 +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 1w7Xsz-00A2LK-0N for pgsql-hackers@lists.postgresql.org; Tue, 31 Mar 2026 12:07:57 +0000 Received: from mail-japaneastazon11010060.outbound.protection.outlook.com ([52.101.229.60] helo=TY3P286CU002.outbound.protection.outlook.com) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.98.2) (envelope-from ) id 1w7Xsw-00000002AWV-1RNR for pgsql-hackers@lists.postgresql.org; Tue, 31 Mar 2026 12:07:57 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=P1eKnK4HRP533pgeCyOgtLecEMRm7TxdA6Z6b9lbpKyKvTAnyI68IGbwlvPH8HwlBRTj7XSNU6YU/+rrjROQCyY2ANUkrbnAC+TrfI/UJHk+btTJ0bVg5vzYufRkwSQpTM29+n8tZ1VVRLuyvx7yqFBS6AQI4p+4oaaoScLjr+AqvAHOtB2YLXMbD2stA23pJttVgI0EYfpxpOJ5V8/beemClAyAZpEkjmw2Zb00bZAkpidtILuUhVF08adMyZNBS5rslJVTkvXRyUiRrHdbTbkIC3aVczc5ZWptgxcL6x4Ckd1sZu/WfTVyNkhkUelGs0P23yqGSB47GKHXK+Tn1w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=UBdIbzrN/8i1Fw42VeL0efvh7Gll1RIwbqRDbWo1aEo=; b=LufC1URTeIgEVj10g2DtKjxW9RdCXM+naZHEfDcUyAjvsypmP+E4/gULunc9V9bJtBxI/fn5hHOW3C3yE07uc4w6p106BuH9ml4bILIy8IaSpcuVsIVs3n+p329CkDpT2lh2261bFAxunRZXFk0S2P0x5L9GkGtXj74SI4CafliJzQlPeNvnSESATkptdDDPtryZ7unxG4/sqUzOp7kH099EJBdSC3h2hc86xhqMldssUQqKC+S/OJs/pNRN5uhqh1mAfjJsOJAl3Sx7F4GycJVjpYizNLhmeXaDJyVons/5wGpnKiqc47nOLb7bCUfFViAvnZx/ZsXiJOTYIb+KnQ== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fujitsu.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=UBdIbzrN/8i1Fw42VeL0efvh7Gll1RIwbqRDbWo1aEo=; b=QzFq6arB66UYZJzkOPf9GiGaitm990kryD/HUWD6NeT8Bo/i/0SbCPOYBnE/dhUOrN1l9sfu1h2hCSvYpW5JvfmDRRcnnKsxYks6oQQBasABb5LiTgujWEHfSEZtSkfArAmZdujY+woBcpPn4y53YGMPZ0psWPWVKxVsB+PKc06pIGAM0wMPUlnW3N6ScRVwpoas1oiQasHgEqSJ5E4vT6oNEaE6BWCF6WSeEdbrbzbPee4rTC6WL17GppcW0XUyHpnlfvHUFAnMVtQB+KqlweNVWFWHw89lKKQnirQosJnMd3tnF/mRcfdPrCfgT9OUrLtYlij5617R/HJoowoT3w== Received: from TY4PR01MB16907.jpnprd01.prod.outlook.com (2603:1096:405:338::22) by OS3PR01MB8731.jpnprd01.prod.outlook.com (2603:1096:604:153::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9745.28; Tue, 31 Mar 2026 12:07:48 +0000 Received: from TY4PR01MB16907.jpnprd01.prod.outlook.com ([fe80::bbb7:659c:a6e:927d]) by TY4PR01MB16907.jpnprd01.prod.outlook.com ([fe80::bbb7:659c:a6e:927d%4]) with mapi id 15.20.9745.027; Tue, 31 Mar 2026 12:07:42 +0000 From: "Zhijie Hou (Fujitsu)" To: Amit Kapila , Peter Smith CC: Masahiko Sawada , Jan Wieck , "pgsql-hackers@lists.postgresql.org" Subject: RE: Initial COPY of Logical Replication is too slow Thread-Topic: Initial COPY of Logical Replication is too slow Thread-Index: AQHcZqqZNqfLv16B3UeDy2S4lB2IWbUp2xSAgDAuDwCACy6hgIAvDagAgAN0IYCABUmPoIAKUmUAgA2bHACAAC8cAIAAOcIAgAAnEYCAABAqAIAImQ6AgACJHwCAAKosAIAAPe0AgAl7QACAACa10A== Date: Tue, 31 Mar 2026 12:07:42 +0000 Message-ID: References: <0c28fbd1-3320-4e9b-815c-6d62753aa063@wi3ck.info> In-Reply-To: Accept-Language: en-AS, ja-JP, en-US Content-Language: ja-JP X-MS-Has-Attach: yes X-MS-TNEF-Correlator: msip_labels: =?utf-8?B?TVNJUF9MYWJlbF9hNzI5NWNjMS1kMjc5LTQyYWMtYWI0ZC0zYjBmNGZlY2Uw?= =?utf-8?B?NTBfQWN0aW9uSWQ9ZDUzNDllMDgtYzA3Zi00ZTA0LTljYWEtNGM0Y2I0YzIy?= =?utf-8?B?YjYwO01TSVBfTGFiZWxfYTcyOTVjYzEtZDI3OS00MmFjLWFiNGQtM2IwZjRm?= =?utf-8?B?ZWNlMDUwX0NvbnRlbnRCaXRzPTA7TVNJUF9MYWJlbF9hNzI5NWNjMS1kMjc5?= =?utf-8?B?LTQyYWMtYWI0ZC0zYjBmNGZlY2UwNTBfRW5hYmxlZD10cnVlO01TSVBfTGFi?= =?utf-8?B?ZWxfYTcyOTVjYzEtZDI3OS00MmFjLWFiNGQtM2IwZjRmZWNlMDUwX01ldGhv?= =?utf-8?B?ZD1TdGFuZGFyZDtNU0lQX0xhYmVsX2E3Mjk1Y2MxLWQyNzktNDJhYy1hYjRk?= =?utf-8?B?LTNiMGY0ZmVjZTA1MF9OYW1lPUZVSklUU1UtUkVTVFJJQ1RFROKAiztNU0lQ?= =?utf-8?B?X0xhYmVsX2E3Mjk1Y2MxLWQyNzktNDJhYy1hYjRkLTNiMGY0ZmVjZTA1MF9T?= =?utf-8?B?ZXREYXRlPTIwMjYtMDMtMzFUMTE6NTQ6MzJaO01TSVBfTGFiZWxfYTcyOTVj?= =?utf-8?B?YzEtZDI3OS00MmFjLWFiNGQtM2IwZjRmZWNlMDUwX1NpdGVJZD1hMTlmMTIx?= =?utf-8?B?ZC04MWUxLTQ4NTgtYTlkOC03MzZlMjY3ZmQ0Yzc7TVNJUF9MYWJlbF9hNzI5?= =?utf-8?B?NWNjMS1kMjc5LTQyYWMtYWI0ZC0zYjBmNGZlY2UwNTBfVGFnPTEwLCAzLCAw?= =?utf-8?Q?,_1;?= 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: TY4PR01MB16907:EE_|OS3PR01MB8731:EE_ x-ms-office365-filtering-correlation-id: 80d9b524-b25c-41a1-e565-08de8f1e1c5f x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0;ARA:13230040|6049299003|1800799024|376014|366016|1580799027|4053099003|38070700021|18002099003|56012099003|22082099003; x-microsoft-antispam-message-info: 2xDRNTXJSIEZrBlHKCoOxpEBLsn8k5Dy+UL42z2jjkSvJqKfskGMZxOmxSrwR28eAJ8nPHWJ+Nx3wU8q7UqzRX59rTbduxJXhZyuzAxNULzFW+mMpuyFCc9ShJf39nwHBHVEIqNwolhnsLCBmGU7hWxpFltmpvoTU9y8fJYhWed1m7Xh/tysA3gCgTjnWnezsg9wXAXtiIExfKNAdR7W4bLw9hE9z7r6LEXoLSfrPOeQLDRxGCjTMNNJxAoAr98wvDfpS3EzA2D8eKm7YhcHf1H3nw92b3FHLRUlTLUT0ad1ScwFZa3eX4fsoIAR9or3KJeSNADEsOMq1XZvVJjfJ8hOQwAyLWy4Jp05nDwZBsnyzLQD5BitWhk86p6Cy1tyszbGRarNXlW9hKi82GdmB7SBkw1eXoyVzK6MBpmzK4R+gxhwnnrlPzT1hVkkCjK+4X5oiNBT/Jb5PkXKWN4+ZSbupTWKqCQNVPRxceRxnPdA8DcLHXa1xp4YW1GrQZRYnS5iCTsiQXLCMtSNMSaoBFbB0bvo0QYXBtnyUHD5VyfAc5CLi7oV4Nv1ys6kcEHFOp3nhgN9G101lmhG/S+g2hZ4A+PwoAvbqkzXvMIPDSOowDa8qHiGEflaoCQVOp5AYo+zSuzU1EOdrFx7mTJWfxgqAD1GT+rWeQdMBoE+H3Q66GK/Py9yc5LH+JJM+VU7jb9rQhpmceNA1nVv7Fagq0I9wxsAyKO//CjNXf20ekiTOwBYOccyyG9/i6jbAwOzDpTKaJ/Fhocqc8jtFlsoxZ7pibEDCCNZzeOaYtyoopBXBVaxozEQDjfIdlUBS1XWTBVXWMvo0apGnUOZ4tpTPw== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:ja;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:TY4PR01MB16907.jpnprd01.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(6049299003)(1800799024)(376014)(366016)(1580799027)(4053099003)(38070700021)(18002099003)(56012099003)(22082099003);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?RnVzbzI0STVNTjVYNisrVmdhOGRWSWt5M3pvdnhObUVtZ3NXR3lkRW01bXln?= =?utf-8?B?VGRsTTRPcWdoajh6ZE5Vdk5tY2xtL1pMQW9PRFp2UlMvZ25Hc2tzak9uY3RW?= =?utf-8?B?RmpYZ2VwNEdueVVCU1Jnc0I0eWZFTGpTTFZ6ZUc4QlZrbWpjNzJSdXVNZ0du?= =?utf-8?B?UVBYQVFCV25YTXhmQzdyeW1IWGRQMDhTb01WM1FtWTN1UkJVdVBmM1VXNksx?= =?utf-8?B?c3UxcUN2MCtEZ3VCMXMyNmN3LzZHTDFSVnFjY3Q3TW95Y3NJVFdNdm1LRDJs?= =?utf-8?B?bU80anZ3NVowUUdvbk9LRU1nOXY1ZHFFTWlHWlhPcXRDTFh6TXhqRGZYU0ZL?= =?utf-8?B?bko2dGpDbE5SemVpMFdpUDRWSlRtamlXTnpKWkd4UUw3WFJMVHAzWU5mZG9r?= =?utf-8?B?a1FxOGs4anRqQnFVVnVhQTVQWGZmVVhFbHZVc0Q5RDlIS0NsSnRvcXhNYjhm?= =?utf-8?B?andnalErNDdVT3cyNHI5Y3NHYVcwRXJEZTRHUWlnUmlnQ2ZHWDMrTlFicXV3?= =?utf-8?B?RWoxd0NZdmk1WHZRc3JBUHJTQkl6aG5ZQkF2Tk1jQ0hyMnJCRURFZTJtZGJu?= =?utf-8?B?V3AyRnB1c1pudS9UQmtLUUVWZ2p3OHVZZ3dyUGZzUnJ1eFd6MXJQN201azRO?= =?utf-8?B?RGxTK1p0c0c2WldkQUVKcVlERmRwanZwdEhPOXNOMHZCeGpyQjZLTWJmMWll?= =?utf-8?B?b3dHWS9sb3JuaERhK25LYis0Q3BHMklSbFBYQ2lIRkptMEJZVFQ2OHQrNHFY?= =?utf-8?B?alNOOE8yRjY4T01FQ1hjaERjUU5LR1F4SHFhc1h4WVVlcmpVY0UxUmx1Qjdy?= =?utf-8?B?aWpkYnQzbUk4SVdrOHAxMTk2dDNJMWRTTTJiUnE4Tmw0L1FuU0Foa3RYVW5a?= =?utf-8?B?VW9wRXRldGthN0NuYU5NMWFQTnZ1TG5hT21mS3U2bm9ENUFDTFpFUU5QVGlO?= =?utf-8?B?cW9PMHVuOENCVE1UMlhJOXhQMUYwb2lsU1ZIZ1Z4djZRUEd2VkNmMHdBOVUw?= =?utf-8?B?R0V2aUZ0R1BaVjZLOEVCUHJGdVFQQy9oNkFqSHdvWlQ5bG8zbjdHa2hvckxj?= =?utf-8?B?WXdLRVhjbFQ0NDhWQW96S1Y1L3R1eVVya1VnKzh2K2w1aHN0N21Wby9MV0JK?= =?utf-8?B?K3N4RENKaUZ1NFNxSW5sam44ZjZRenQySEd4bVNmVjgrTTk5a3hZZDVLMEI0?= =?utf-8?B?NU50cVRYSG9hb1pkNkpJWFQ5TTNHdkl4VmoyQU9Zbkd2VFJYZzJFV1pUQitC?= =?utf-8?B?czJmVnFBQ25nY1hOQWoyL01rRW5vREc3WDhrenU2WjJEUHcyUmMyNW9kZkh4?= =?utf-8?B?N1cyeHVOYW5icUlSUVFKU1NkZmdGREthdVZYcXlVL2VqYXo0QnhPbWhKeVVo?= =?utf-8?B?Z3djZjZFMHRJQ0tBeTJjQjBYaDVYeWxBeXcySkF5eGhpenBhYXRkOWpTalZz?= =?utf-8?B?TDZ4OHVGNnhhSHdyVHUzNk9oQ3dJRkduL2pibnAvdHczZENTR1NWZjJrWnRU?= =?utf-8?B?aWlCRklLU3J4Ylp6VXBENmRtMEJ6ejZud2xPOTgvWTBtMW15QTE3cHlFVEo3?= =?utf-8?B?c0hEOFhETjdKUktiRFdpNE5URmI5MjZqL2pYaFg3cE81dzVjSjBDeXB5VXNu?= =?utf-8?B?VGgyU3dsbUk1eWxDd3gxd3h5WG1KL3ljWnpNenAvcnBuMTMzZHdjNVZXdVFS?= =?utf-8?B?ajhEbU51SzBjR1ZBZjZDeG1WUTIxWWNNT0NXODVCSThicjUrMU1YRjA1THM2?= =?utf-8?B?MWlJMFppSWFEb2RTRk5Zc0lzUEhoV3FIYndmOCt6NUsrWnQ3a0VYbWJBM04v?= =?utf-8?B?MTlBbmRzdk45M1RFYXdDZUdXR2VDcnBKNVkrQTJvWFA2dHI0dEd6YWZqNVZ6?= =?utf-8?B?WmJjdHVhOUkxRXN5WEZ3MU9HcUVwa3AzcXdYQjlzbmFQcTA5c3lhY1JycFRO?= =?utf-8?B?SDF0YStWU0N6Y0RrcWtkTEtLdzllcnN3Y2F6MURHTEl0V0hHSkRiY1RGTkRo?= =?utf-8?B?UTZpRm1JeE5oTFdXWS9weVpwNC8wcWZaZEtBVXBVSVBtL083c1lQY1NtcnN2?= =?utf-8?B?UWRBczdNVU96czEveWNSR3hQRVVldS9odGNEQmFiU0JScFFzYWpMSzFQL3Vn?= =?utf-8?B?a3FIU0RFY3BsUzB0bnNhRHF5Y1JIRW0yZmRlZUpQWGtHYVAzUVpML0lrUk5O?= =?utf-8?B?U1JWY01NSk5ibTM5VTl2VE9QTDViWHRFdTNueFZVYXBUZUkrVG1MN0FBdmR2?= =?utf-8?B?NUNGajBFZ013cXpDMkZ5VnNZZys2NzBsQStzNDRpZ0dEM0VVc3kzZGhGdjZk?= =?utf-8?B?Ui9QaXNQa3FkQldMb1pKNmczckYwOC9KdGFsTm9nVGpVS0VKRDhDZz09?= Content-Type: multipart/mixed; boundary="_002_TY4PR01MB169070A34D1C74867EF5A2DE49453ATY4PR01MB16907jp_" MIME-Version: 1.0 X-Exchange-RoutingPolicyChecked: SyHnxKZtMC27lHySXFndbx5H0lCS//69wNchnv9zuv2BQV9GkgBKxNpN3+h0E45/1Syderkuii0dklab8XehUbVFqYSnp6lKewKir/K7BBULcqZ7LQqmwnfUXQD2zwUNz9slR0m7ULRDE+EgFRKrQcbAdaAS+yV8tErbmgbrYlyajxMa1jA53iODdmc0RDWJmC6i9C3O18hHkPp6yOyudm53zgG8OInR2fhMvBZymFC4PYT46p2CG+XvVaLxZd2QNwggk7sq2dl7N4y+cBLqaE54+MBkYjQ7ZHV8WY2VVmQA8D/KQMdxx7IHTNLnHaK5mri87/TaZv4TYuBCrW2mjg== X-OriginatorOrg: fujitsu.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: TY4PR01MB16907.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 80d9b524-b25c-41a1-e565-08de8f1e1c5f X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Mar 2026 12:07:42.0965 (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: RUBkjAhA6tGIKlTNQIBrRjIuYsr6MHzhVcSfD0deB0joyLVSH4QdkA1L+hKyncQLkNE0S5T8/YJnIdp0Dwk5mQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: OS3PR01MB8731 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --_002_TY4PR01MB169070A34D1C74867EF5A2DE49453ATY4PR01MB16907jp_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 T24gVHVlc2RheSwgTWFyY2ggMzEsIDIwMjYgNTozNiBQTSBBbWl0IEthcGlsYSA8YW1pdC5rYXBp bGExNkBnbWFpbC5jb20+IHdyb3RlOg0KPiANCj4gT24gV2VkLCBNYXIgMjUsIDIwMjYgYXQgMjox OeKAr1BNIFBldGVyIFNtaXRoIDxzbWl0aHBiMjI1MEBnbWFpbC5jb20+DQo+IHdyb3RlOg0KPiA+ DQo+ID4gVGhlcmUgYXJlIG1hbnkgcmV0dXJuIHBvaW50cywgYW5kIG1vc3Qgb2YgdGhvc2UgImlm IiBibG9ja3MgY2Fubm90DQo+ID4gZmFsbCB0aHJvdWdoICh0aGV5IHJldHVybikuDQo+ID4NCj4g PiBJIGZvdW5kIGl0IHNsaWdodGx5IGRpZmZpY3VsdCB0byByZWFkIHRoZSBjb2RlIGJlY2F1c2Ug SSBrZXB0IGhhdmluZw0KPiA+IHRvIHRoaW5rLCAiT0ssIGlmIHdlIHJlYWNoZWQgaGVyZSwgaXQg bWVhbnMgcHVidmlhcm9vdCBtdXN0IGJlIGZhbHNlLCINCj4gPiBvciAiT0ssIGlmIHdlIHJlYWNo ZWQgdGhpcyBmYXIsIHRoZW4gcHViYWxsdGFibGVzIG11c3QgYmUgZmFsc2UsIGFuZA0KPiA+IHB1 YnZpYXJvb3QgbXVzdCBiZSBmYWxzZSwiIGV0Yy4NCj4gPg0KPiANCj4gSSBjYW4ndCBzYXkgZXhh Y3RseSB3aHksIGJ1dCBJIGZpbmQgaXQgZGlmZmljdWx0IHRvIHJlYWQgdGhpcyBmdW5jdGlvbi4g U28sIEkgc2hhcmUNCj4geW91ciBjb25jZXJucyBhYm91dCB0aGUgY29kZSBvZiB0aGlzIGZ1bmN0 aW9uLg0KPiBCZWNhdXNlIG9mIGl0cyBjb21wbGV4aXR5IGl0IGlzIGRpZmZpY3VsdCB0byBhc2Nl cnRhaW4gdGhhdCB0aGUgZnVuY3Rpb25hbGl0eSBpcw0KPiBjb3JyZWN0IG9yIHdlIG1pc3NlZCBz b21ldGhpbmcuIEFsc28sIGNvbnNpZGVyaW5nIGl0IGlzIGNvcnJlY3QgdG9kYXksIGluIGl0cw0K PiBjdXJyZW50IGZvcm0sIGl0IG1heSBiZWNvbWUgZGlmZmljdWx0IHRvIGVuaGFuY2UgaXQgaW4g ZnV0dXJlLg0KPiANCg0KSSBhdHRlbXB0ZWQgdG8gcmVmYWN0b3IgdGhlIGNvZGUgYSBiaXQgYmFz ZWQgb24gbXkgcHJlZmVycmVkIHN0eWxlLCBhcyBzaG93biBpbg0KdGhlIGF0dGFjaG1lbnQuIFdo aWxlIHRoZSBudW1iZXIgb2YgcmV0dXJuIHBvaW50cyBjb3VsZG4ndCBiZSByZWR1Y2VkLCBJIHRy aWVkDQp0byBlbGltaW5hdGUgaWYtZWxzZSBicmFuY2hlcyB3aGVyZSBwb3NzaWJsZS4gU2hhcmlu ZyB0aGlzIHRvcC11cCBwYXRjaCBhcyBhDQpyZWZlcmVuY2UgZm9yIGFuIGFsdGVybmF0aXZlIHN0 eWxlIHRoYXQgcmVkdWNlcyBjb2RlIHNpemUuDQoNCkJlc3QgUmVnYXJkcywNCkhvdSB6ag0K --_002_TY4PR01MB169070A34D1C74867EF5A2DE49453ATY4PR01MB16907jp_ Content-Type: application/octet-stream; name="v1-0001-refactor-the-function.patch" Content-Description: v1-0001-refactor-the-function.patch Content-Disposition: attachment; filename="v1-0001-refactor-the-function.patch"; size=3621; creation-date="Tue, 31 Mar 2026 12:06:53 GMT"; modification-date="Tue, 31 Mar 2026 12:07:41 GMT" Content-Transfer-Encoding: base64 RnJvbSA3MDZkN2NiNGIzYWM3ZjMwZjEzMWM2NGY4NTljYWJlMDA3NzNiMDdkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBaaGlqaWUgSG91IDxob3V6ai5mbnN0QGZ1aml0c3UuY29tPgpE YXRlOiBUdWUsIDMxIE1hciAyMDI2IDE5OjM1OjQ0ICswODAwClN1YmplY3Q6IFtQQVRDSCB2MV0g cmVmYWN0b3IgdGhlIGZ1bmN0aW9uCgotLS0KIHNyYy9iYWNrZW5kL2NhdGFsb2cvcGdfcHVibGlj YXRpb24uYyB8IDc5ICsrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2Vk LCAyNiBpbnNlcnRpb25zKCspLCA1MyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmMvYmFj a2VuZC9jYXRhbG9nL3BnX3B1YmxpY2F0aW9uLmMgYi9zcmMvYmFja2VuZC9jYXRhbG9nL3BnX3B1 YmxpY2F0aW9uLmMKaW5kZXggMTRhZTAzZmMwZmYuLmEwMzZjZDhmZjMzIDEwMDY0NAotLS0gYS9z cmMvYmFja2VuZC9jYXRhbG9nL3BnX3B1YmxpY2F0aW9uLmMKKysrIGIvc3JjL2JhY2tlbmQvY2F0 YWxvZy9wZ19wdWJsaWNhdGlvbi5jCkBAIC0xMzEyLDc1ICsxMzEyLDQ4IEBAIHN0YXRpYyBib29s CiBpc190YWJsZV9wdWJsaXNoYWJsZV9pbl9wdWJsaWNhdGlvbihPaWQgcmVsaWQsIFB1YmxpY2F0 aW9uICpwdWIpCiB7CiAJYm9vbAkJcmVsaXNwYXJ0aXRpb247CisJTGlzdAkgICAqYW5jZXN0b3Jz ID0gTklMOworCU9pZAkJCXRvcG1vc3QgPSBJbnZhbGlkT2lkOwogCiAJLyoKIAkgKiBGb3Igbm9u LXB1YnZpYXJvb3QgcHVibGljYXRpb25zLCBhIHBhcnRpdGlvbmVkIHRhYmxlIGlzIG5ldmVyIHRo ZQogCSAqIGVmZmVjdGl2ZSBwdWJsaXNoZWQgT0lEOyBvbmx5IGl0cyBsZWFmIHBhcnRpdGlvbnMg Y2FuIGJlLgogCSAqLwotCWlmICghcHViLT5wdWJ2aWFyb290ICYmIGdldF9yZWxfcmVsa2luZChy ZWxpZCkgPT0gUkVMS0lORF9QQVJUSVRJT05FRF9UQUJMRSkKKwlpZiAoIXB1Yi0+cHVidmlhcm9v dCAmJgorCQlnZXRfcmVsX3JlbGtpbmQocmVsaWQpID09IFJFTEtJTkRfUEFSVElUSU9ORURfVEFC TEUpCiAJCXJldHVybiBmYWxzZTsKIAogCXJlbGlzcGFydGl0aW9uID0gZ2V0X3JlbF9yZWxpc3Bh cnRpdGlvbihyZWxpZCk7CiAKLQlpZiAocHViLT5hbGx0YWJsZXMpCi0JewotCQlPaWQJCQl0YXJn ZXRfcmVsaWQgPSByZWxpZDsKLQotCQlpZiAocHViLT5wdWJ2aWFyb290KQotCQl7Ci0JCQkvKgot CQkJICogQUxMIFRBQkxFUyB3aXRoIHB1YnZpYXJvb3QgaW5jbHVkZXMgb25seSByZWd1bGFyIHRh YmxlcyBvcgotCQkJICogdG9wLW1vc3QgcGFydGl0aW9uZWQgdGFibGVzIC0tIG5ldmVyIGNoaWxk IHBhcnRpdGlvbnMuCi0JCQkgKi8KLQkJCWlmIChyZWxpc3BhcnRpdGlvbikKLQkJCQlyZXR1cm4g ZmFsc2U7Ci0JCX0KLQkJZWxzZSBpZiAocmVsaXNwYXJ0aXRpb24pCi0JCXsKLQkJCUxpc3QJICAg KmFuY2VzdG9ycyA9IGdldF9wYXJ0aXRpb25fYW5jZXN0b3JzKHJlbGlkKTsKKwkvKgorCSAqIEFM TCBUQUJMRVMgd2l0aCBwdWJ2aWFyb290IGluY2x1ZGVzIG9ubHkgcmVndWxhciB0YWJsZXMgb3IK KwkgKiB0b3AtbW9zdCBwYXJ0aXRpb25lZCB0YWJsZXMgLS0gbmV2ZXIgY2hpbGQgcGFydGl0aW9u cy4KKwkgKi8KKwlpZiAocHViLT5hbGx0YWJsZXMgJiYgcHViLT5wdWJ2aWFyb290ICYmIHJlbGlz cGFydGl0aW9uKQorCQlyZXR1cm4gZmFsc2U7CiAKLQkJCS8qCi0JCQkgKiBPbmx5IHRoZSB0b3At bW9zdCBhbmNlc3RvciBjYW4gYXBwZWFyIGluIHRoZSBFWENFUFQgY2xhdXNlLgotCQkJICogVGhl cmVmb3JlLCBmb3IgYSBwYXJ0aXRpb24sIGV4Y2x1c2lvbiBtdXN0IGJlIGV2YWx1YXRlZCBhdCB0 aGUKLQkJCSAqIHRvcC1tb3N0IGFuY2VzdG9yLgotCQkJICovCi0JCQl0YXJnZXRfcmVsaWQgPSBs bGFzdF9vaWQoYW5jZXN0b3JzKTsKLQkJCWxpc3RfZnJlZShhbmNlc3RvcnMpOwotCQl9CisJaWYg KHJlbGlzcGFydGl0aW9uKQorCQlhbmNlc3RvcnMgPSBnZXRfcGFydGl0aW9uX2FuY2VzdG9ycyhy ZWxpZCk7CiAKLQkJLyoKLQkJICogVGhlIHRhYmxlIGlzIHB1Ymxpc2hlZCB1bmxlc3MgaXQgYXBw ZWFycyBpbiB0aGUgRVhDRVBUIGNsYXVzZS4gQUxMCi0JCSAqIFRBQkxFUyBwdWJsaWNhdGlvbnMg c3RvcmUgb25seSBFWENFUFQnZWQgdGFibGVzIGluCi0JCSAqIHBnX3B1YmxpY2F0aW9uX3JlbCwg c28gY2hlY2tpbmcgZXhpc3RlbmNlIGlzIHN1ZmZpY2llbnQuCi0JCSAqLworCS8qCisJICogVGhl IHRhYmxlIGlzIHB1Ymxpc2hlZCB1bmxlc3MgaXQgYXBwZWFycyBpbiB0aGUgRVhDRVBUIGNsYXVz ZS4gQUxMCisJICogVEFCTEVTIHB1YmxpY2F0aW9ucyBzdG9yZSBvbmx5IEVYQ0VQVCdlZCB0YWJs ZXMgaW4KKwkgKiBwZ19wdWJsaWNhdGlvbl9yZWwsIHNvIGNoZWNraW5nIGV4aXN0ZW5jZSBpcyBz dWZmaWNpZW50LgorCSAqLworCWlmIChwdWItPmFsbHRhYmxlcykKIAkJcmV0dXJuICFTZWFyY2hT eXNDYWNoZUV4aXN0czIoUFVCTElDQVRJT05SRUxNQVAsCi0JCQkJCQkJCQkgIE9iamVjdElkR2V0 RGF0dW0odGFyZ2V0X3JlbGlkKSwKKwkJCQkJCQkJCSAgT2JqZWN0SWRHZXREYXR1bShhbmNlc3Rv cnMKKwkJCQkJCQkJCQkJCQkgICA/IGxsYXN0X29pZChhbmNlc3RvcnMpIDogcmVsaWQpLAogCQkJ CQkJCQkJICBPYmplY3RJZEdldERhdHVtKHB1Yi0+b2lkKSk7Ci0JfQogCiAJLyoKLQkgKiBOb24t YWxsdGFibGVzCisJICogSWYgcHVidmlhcm9vdCBpcyB0cnVlLCB0aGUgYW5jZXN0b3IgaXMgcHVi bGlzaGVkIGluc3RlYWQgb2YgdGhlCisJICogcGFydGl0aW9uLCBzbyBleGNsdWRlIGl0LiBPdGhl cndpc2UsIHRoZSBhbmNlc3RvciBjb3ZlcnMgdGhlIHBhcnRpdGlvbiwKKwkgKiBzbyBpbmNsdWRl IGl0LgogCSAqLwotCi0JaWYgKHJlbGlzcGFydGl0aW9uKQotCXsKLQkJTGlzdAkgICAqYW5jZXN0 b3JzID0gZ2V0X3BhcnRpdGlvbl9hbmNlc3RvcnMocmVsaWQpOwotCQlPaWQJCQl0b3Btb3N0ID0g R2V0VG9wTW9zdEFuY2VzdG9ySW5QdWJsaWNhdGlvbihwdWItPm9pZCwgYW5jZXN0b3JzLCBOVUxM KTsKLQotCQlsaXN0X2ZyZWUoYW5jZXN0b3JzKTsKLQotCQlpZiAoT2lkSXNWYWxpZCh0b3Btb3N0 KSkKLQkJewotCQkJLyoKLQkJCSAqIElmIHB1YnZpYXJvb3QgaXMgdHJ1ZSwgdGhlIGFuY2VzdG9y IGlzIHB1Ymxpc2hlZCBpbnN0ZWFkIG9mIHRoZQotCQkJICogcGFydGl0aW9uLCBzbyBleGNsdWRl IGl0LiBPdGhlcndpc2UsIHRoZSBhbmNlc3RvciBjb3ZlcnMgdGhlCi0JCQkgKiBwYXJ0aXRpb24s IHNvIGluY2x1ZGUgaXQuCi0JCQkgKi8KLQkJCXJldHVybiAhcHViLT5wdWJ2aWFyb290OwotCQl9 Ci0KLQkJLyogQW5jZXN0b3Igbm90IHB1Ymxpc2hlZDsgZmFsbCB0aHJvdWdoIHRvIGNoZWNrIHRo ZSBwYXJ0aXRpb24gaXRzZWxmICovCi0JfQorCWlmIChyZWxpc3BhcnRpdGlvbiAmJgorCQlPaWRJ c1ZhbGlkKEdldFRvcE1vc3RBbmNlc3RvckluUHVibGljYXRpb24ocHViLT5vaWQsIGFuY2VzdG9y cywgTlVMTCkpKQorCQlyZXR1cm4gIXB1Yi0+cHVidmlhcm9vdDsKIAogCS8qCiAJICogQ2hlY2sg d2hldGhlciB0aGUgdGFibGUgaXMgZXhwbGljaXRseSBwdWJsaXNoZWQgdmlhIHBnX3B1YmxpY2F0 aW9uX3JlbAotLSAKMi41My4wLndpbmRvd3MuMgoK --_002_TY4PR01MB169070A34D1C74867EF5A2DE49453ATY4PR01MB16907jp_--