Re: PATCH: logical_work_mem and logical streaming of large in-progress transactions

From: Dilip Kumar <dilipbalaut(at)gmail(dot)com>
To: Michael Paquier <michael(at)paquier(dot)xyz>
Cc: Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>, Tomas Vondra <tomas(dot)vondra(at)2ndquadrant(dot)com>, Peter Eisentraut <peter(dot)eisentraut(at)2ndquadrant(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: PATCH: logical_work_mem and logical streaming of large in-progress transactions
Date: 2019-12-02 08:31:50
Message-ID: CAFiTN-sKDPk+B38UAw7O27GmfuECVT65nMZFco9MgeMj=0Vs0w@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Sun, Dec 1, 2019 at 7:58 AM Michael Paquier <michael(at)paquier(dot)xyz> wrote:
>
> On Fri, Nov 22, 2019 at 01:18:11PM +0530, Dilip Kumar wrote:
> > I have rebased the patch on the latest head and also fix the issue of
> > "concurrent abort handling of the (sub)transaction." and attached as
> > (v1-0013-Extend-handling-of-concurrent-aborts-for-streamin) along with
> > the complete patch set. I have added the version number so that we
> > can track the changes.
>
> The patch has rotten a bit and does not apply anymore. Could you
> please send a rebased version? I have moved it to next CF, waiting on
> author.

I have rebased the patch set on the latest head.

Apart from this, there is one issue reported by my colleague Vignesh.
The issue is that if we use more than two relations in a transaction
then there is an error on standby (no relation map entry for remote
relation ID 16390). After analyzing I have found that for the
streaming transaction an "is_schema_sent" flag is kept in
ReorderBufferTXN. And, I think that is done so that we can send the
schema for each transaction stream so that if any subtransaction gets
aborted we don't lose the logical WAL for that schema. But, this
solution has induced a very basic issue that if a transaction operate
on more than 1 relation then after sending the schema for the first
relation it will mark the flag true and the schema for the subsequent
relations will never be sent. I am still working on finding a better
solution for this if anyone has any opinion/solution about this feel
free to suggest.

--
Regards,
Dilip Kumar
EnterpriseDB: http://www.enterprisedb.com

Attachment Content-Type Size
v2-0001-Immediately-WAL-log-assignments.patch application/octet-stream 10.2 KB
v2-0002-Issue-individual-invalidations-with-wal_level-log.patch application/octet-stream 15.8 KB
v2-0004-Cleaning-up-of-flags-in-ReorderBufferTXN-structur.patch application/octet-stream 8.1 KB
v2-0005-Gracefully-handle-concurrent-aborts-of-uncommitte.patch application/octet-stream 12.5 KB
v2-0003-Extend-the-output-plugin-API-with-stream-methods.patch application/octet-stream 34.9 KB
v2-0006-Implement-streaming-mode-in-ReorderBuffer.patch application/octet-stream 44.3 KB
v2-0007-Support-logical_decoding_work_mem-set-from-create.patch application/octet-stream 13.1 KB
v2-0008-Add-support-for-streaming-to-built-in-replication.patch application/octet-stream 89.7 KB
v2-0009-Track-statistics-for-streaming.patch application/octet-stream 11.7 KB
v2-0010-Enable-streaming-for-all-subscription-TAP-tests.patch application/octet-stream 14.7 KB
v2-0011-BUGFIX-set-final_lsn-for-subxacts-before-cleanup.patch application/octet-stream 1013 bytes
v2-0012-Add-TAP-test-for-streaming-vs.-DDL.patch application/octet-stream 4.4 KB
v2-0013-Extend-handling-of-concurrent-aborts-for-streamin.patch application/octet-stream 4.0 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Dilip Kumar 2019-12-02 08:35:28 Re: [HACKERS] Block level parallel vacuum
Previous Message Michael Paquier 2019-12-02 08:21:34 Re: Allow CLUSTER, VACUUM FULL and REINDEX to change tablespace on the fly