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 1wSBfB-003174-2f for pgsql-hackers@arkaria.postgresql.org; Wed, 27 May 2026 10:39:01 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wSBf9-007pNI-0I for pgsql-hackers@arkaria.postgresql.org; Wed, 27 May 2026 10:39:00 +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 1wSBf8-007pNA-2R for pgsql-hackers@lists.postgresql.org; Wed, 27 May 2026 10:38:59 +0000 Received: from mail-pg1-x52f.google.com ([2607:f8b0:4864:20::52f]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1wSBf7-00000001g09-2z9Q for pgsql-hackers@lists.postgresql.org; Wed, 27 May 2026 10:38:59 +0000 Received: by mail-pg1-x52f.google.com with SMTP id 41be03b00d2f7-c80167f56cdso4992984a12.3 for ; Wed, 27 May 2026 03:38:56 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1779878334; cv=none; d=google.com; s=arc-20240605; b=cJVF/y1uD5IweAAMtRxDwmLh9a7euBciXY7mw8Nq+fqoHaVfcDHLtGN12NpVeisaEf wK2l2Ipl97E8t86WWk5P7JoDELJZvwUztkj8OQxN3f+qOzlMsDxzzKE9zPJiIRG9Tw2A oy3+6e9R4OhSzQArxkONBVW+utVrXSFCYkxeEVmSArP5QfinkzoTMxcNDD0wwWrHIJ9V 7hyHbp9o6ma8CPXDB+pgtjfQGsK2yqoRhSI8UIh3SCv6dv7LkV4RmA+MmGcQi4uTU2o4 oOQxGHqfde4adciVOTIUWg7gPcy8xoI88vktN5Yr6D0uUEUJbyYXcnDlKTunMkn1okLJ TLUQ== 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=QKch7A1FrIRFUq/OMVXy4PmctLSQLV1ul8GhAI1zWn4=; fh=tIv0/qLCV8rmejAGTksQntHx2WUsLmd4ABwFJ+DWhJE=; b=Ee5fCmB4AI2P5A95qCGVAoX40dJd7jHGI3Ewp1kLe//gvUjf5KwGrzAfKUdtS4V47L nfF5u45fZwsN+5R/vKiASy47N/5I/YjIhzeEPYRxUU1vWNzyCJ9EzwfKtlG1RBnI0pUP Az3jnnGROdpxgE0hIWLoQGT5wpDszPmC11TgSv8lemoad2IhZOIE5zDC9sYMoERf31g2 IHWLDyk/oGVq3PLUKirazenTo49LSnJmmHS9HYH0t6MvHa41u9gEOHCyXKuPca6whJ9U a+hJX7z/WP36zs9RMXgNfwCFWBvL/s2HwdeIT7nBdRuwaaTkt2qeJyDT8zVXuPN1SFTX j6FQ==; 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=1779878334; x=1780483134; darn=lists.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=QKch7A1FrIRFUq/OMVXy4PmctLSQLV1ul8GhAI1zWn4=; b=qZLcU86QFsVUD9tjZQHOCkibQVLc8tUlO0jxq9Yi7SvGpHOdmJ6F9Fna+5bqbRKkxI nb44s8Row6iXHUqS0EZf7LYr+OUayMuURyKy7yGAqkjjCAP9RKhGjT62N6u7w84iRpni DZ5vlYcju94RlRgMZunySaoXibg+dPHfxMM5wHfKzKeFEckKOmSs6wPlxXvuqK3V1qjf jFf8XShMbV8hw1gAQsSTdAUXiu+4i28/MlFarZme1UvKRm2Z3qdNajjrejVnJiYdHg6o 4S0fxwX0wKZZM+RLzQlTwecwxtYSFSbSliZR7AyLLhn2s2tYSoLBEsKrtEhsxOUFvtw1 xt5w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779878334; x=1780483134; 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=QKch7A1FrIRFUq/OMVXy4PmctLSQLV1ul8GhAI1zWn4=; b=m5aNYl26mIW26svGdnORLac+4kcRDIeg/Q+rymElp0rEvZ/tJJhSFpLCh7XWZsu8Zw LMnrUHAgPSd/5/rWTv997oi6BsRKAMIG8LEV8swNIXuHOq1bS2iD3LFGxNaapixK/zfm onzcW2hpnYqG4QhnvCbhXeLga8UKYFLFOE5n+o6OCvAb0D5L/zI//LDjgkNoY+ktQCQY a11f9QEKgXEdUDOcAQYGdQxB2v5t47YoCbEvoqf5t2RhTH4kN3a0KvNroDW0ok2PP5eW uHFKmrZjAKGDV3L2IYKBvGO3fWBIbS7K1xlhD9gEpQMn9Ljf07DX3EHcdruDG+Df1nv8 7inA== X-Forwarded-Encrypted: i=1; AFNElJ9/NaQOr6kWEsJT5ogsxN1M1A1pGbVfHIze+vnR3cc8JZskMUbd0CCg6dB13DClizFMGcFCTjNVFUGjdtz8@lists.postgresql.org X-Gm-Message-State: AOJu0YzIFbvhLKeN5M2g5EULSkhT97ZdPaJ4nzon9HxRDCo+Ro44YDpN 1ybkOsm9zH7YswKIPpGjekXcqq4i0C7JMH1qrFEozyGYRp26VfWsYmD7wjerbwbBbCRIFAvnLwe b+Dfoi+Slwi8m7A+JIy15+tSdog9E/LU= X-Gm-Gg: Acq92OFy9jNvgjj1Dl1Js4lYJaiUhsi1Q+M2NSVUjtAa8l2Nz/2kmU1gDsqm9JdZFSt rx76NFrO5R/PlRXSC5MpneaaJzDIi8cFTMTj58++r0aAWKdlyO88V/czGGQcfrjxVy8IIhL/Heh fBOtLojsa/o8yUdJLGhIHCtu98O+ldATcISxaM2uWsNtmIY1yQctRHoPXvqqEn//dw8S6uIi+PV n0HrKAak6pVIx6/kqARaAONq1ugHoyrEwS4DK20cboyEZBI/SbA5fp+ex0UQ3jLlHdz7ZNGJPTZ gmiUP2QbUd8UZj9zvFATWZK0cj5V9/40ok21ueyaxB6nQIy+iAsNK1hSal5TzrJaSUO104ooWp7 DXi/T/zTt+xklyRhVb80f X-Received: by 2002:a05:6300:6141:b0:3b3:1951:489c with SMTP id adf61e73a8af0-3b328f1c58amr23361262637.49.1779878334133; Wed, 27 May 2026 03:38:54 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: shveta malik Date: Wed, 27 May 2026 16:08:40 +0530 X-Gm-Features: AVHnY4J4exVU3RkLz6Jp8aCM6w2kt9lSVLwP0wR2RCMCQKcy6wfXU2mgUQkojCk Message-ID: Subject: Re: Proposal: Conflict log history table for Logical Replication To: vignesh C Cc: Nisha Moond , Peter Smith , Dilip Kumar , Amit Kapila , Masahiko Sawada , Bharath Rupireddy , PostgreSQL Hackers , shveta malik Content-Type: text/plain; charset="UTF-8" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk I have not yet looked at v41. Here are the comments for v40 0003 and 0004: No comments. 0004 and 0005: 1) In build_local_conflicts_json_array(), we have these: + json_datum = heap_copy_tuple_as_datum(tuple, tupdesc); + + /* + * Build the higher level JSON datum in format described in function + * header. + */ + json_datum = DirectFunctionCall1(row_to_json, json_datum); We have first allocation to 'json_datum' via heap_copy_tuple_as_datum() and then second via row_to_json() call. So we are overwriting first allocation. Which memory context are we using here for this allocation? IIUC, if the conflict is non-error one, we may accumulate these memory chunks in long running worker loop which may gradually bloat the memory. Let me know if my undertstanding is wrong. Same situation in tuple_table_slot_to_indextup_json and tuple_table_slot_to_json_datum as well. 2) Same in ReportApplyConflict(), if elevel is not ERROR, should we worry about freeing 'err_detail' after error-reporting or does some short-lived context handle it? thanks Shveta