Hi Tomas, > Any progress on the issues discussed in the last couple of messages? > That is: > > 1) removing of the sleep() from tests >
Done. Now the test_decoding plugin takes a new option "check-xid". We will pass the XID which is going to be aborted via this option. The test_decoding plugin will wait for this XID to abort and exit when that happens. This removes any arbitrary sleep dependencies. > 2) changes to systable_getnext() wrt. TransactionIdIsInProgress() > Done. > 3) adding asserts / checks to codepaths not going through systable_* > Done. All the heap_* get api calls now assert that they are not being invoked with a valid CheckXidAlive value. > 4) (not) adding this as a per-plugin option > > 5) handling cases where the downstream does not have 2PC enabled > struct OutputPluginOptions now has an enable_twophase field which will be set by the plugin at init time similar to the way output_type is set to binary/text now. > I guess it'd be good an updated patch or further discussion before > continuing the review efforts. > PFA, latest patchset which implements the above. Regards, Nikhil > regards > > -- > Tomas Vondra http://www.2ndQuadrant.com > PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services -- Nikhil Sontakke http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services
0001-Cleaning-up-of-flags-in-ReorderBufferTXN-structure.patch
Description: Binary data
0002-Support-decoding-of-two-phase-transactions-at-PREPAR.patch
Description: Binary data
0003-Gracefully-handle-concurrent-aborts-of-uncommitted-t.patch
Description: Binary data
0004-Teach-test_decoding-plugin-to-work-with-2PC.patch
Description: Binary data