Re: [HACKERS] logical decoding of two-phase transactions

From: Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>
To: Ajin Cherian <itsajin(at)gmail(dot)com>
Cc: Peter Smith <smithpb2250(at)gmail(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: [HACKERS] logical decoding of two-phase transactions
Date: 2020-11-21 13:32:53
Message-ID: CAA4eK1LkGVt1aVd6NR9b6treM4sMu29ff8cno795v9_+JHF1+w@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Fri, Nov 20, 2020 at 4:54 PM Ajin Cherian <itsajin(at)gmail(dot)com> wrote:
>
> On Fri, Nov 20, 2020 at 2:48 PM Amit Kapila <amit(dot)kapila16(at)gmail(dot)com> wrote:
> >
> > I'll take care of it along with other changes.
> >
> > Thanks for the confirmation.
> >
>
> Ok, meanwhile I've just split the patches to move out the
> check_xid_aborted test cases as well as the support in the code for
> this into a separate patch. New 0007 patch for this.
>

This makes sense to me but it should have been 0004 in the series. I
have changed the order in the attached. I have updated
0002-Support-2PC-txn-backend and
0007-2pc-test-cases-for-testing-concurrent-aborts. The changes are:
1. As mentioned previously, used ReorderBufferResetTxn to deal with
concurrent aborts both in case of streamed and prepared txns.
2. There was no clear explanation as to why we are not skipping
DecodePrepare in the presence of concurrent aborts. I have added the
explanation of the same atop DecodePrepare() and at various other
palces.
3. Added/Edited comments at various places in the code and made some
other changes like simplified the code at a few places.
4. Changed the function name ReorderBufferCommitInternal to
ReorderBufferReplay as that seems more appropriate.
5. In ReorderBufferReplay()(which was previously
ReorderBufferCommitInternal), the patch was doing cleanup of TXN even
for prepared transactions which is not consistent with what we do at
other places in the patch, so changed the same.
6. In 2pc-test-cases-for-testing-concurrent-aborts, changed one of the
log message based on the changes in patch Support-2PC-txn-backend.

I am planning to continue review of these patches but I thought it is
better to check about the above changes before proceeding further. Let
me know what you think?

--
With Regards,
Amit Kapila.

Attachment Content-Type Size
v25-0001-Support-2PC-txn-base.patch application/octet-stream 38.6 KB
v25-0002-Support-2PC-txn-backend.patch application/octet-stream 34.7 KB
v25-0003-Support-2PC-test-cases-for-test_decoding.patch application/octet-stream 28.1 KB
v25-0004-2pc-test-cases-for-testing-concurrent-aborts.patch application/octet-stream 14.2 KB
v25-0005-Support-2PC-txn-spoolfile.patch application/octet-stream 3.9 KB
v25-0006-Support-2PC-txn-pgoutput.patch application/octet-stream 21.4 KB
v25-0007-Support-2PC-txn-subscriber-tests.patch application/octet-stream 60.4 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Pavel Stehule 2020-11-21 15:27:09 Re: Different results between PostgreSQL and Oracle for "for update" statement
Previous Message Michael Paquier 2020-11-21 10:50:05 Re: Skip ExecCheckRTPerms in CTAS with no data