On Thu, Sep 26, 2019 at 11:38 PM Tomas Vondra <tomas.von...@2ndquadrant.com> wrote: > > No, that's a good question, and I'm not sure what the answer is at the > moment. My understanding was that the infrastructure in the 2PC patch is > enough even for subtransactions, but I might be wrong. I need to think > about that for a while. > IIUC, for 2PC it's enough to check whether the main transaction is aborted or not but for the in-progress transaction it's possible that the current subtransaction might have done catalog changes and it might get aborted when we are decoding. So we need to extend an infrastructure such that we can check the status of the transaction for which we are decoding the change. Also, I think we need to handle the ERRCODE_TRANSACTION_ROLLBACK and ignore it.
I have attached a small patch to handle this which can be applied on top of your patch set. -- Regards, Dilip Kumar EnterpriseDB: http://www.enterprisedb.com
handle_concurrent_abort_for_in_progress_transaction.patch
Description: Binary data