On 06/24/2014 05:23 AM, Inoue, Hiroshi wrote:
>
> XARMCreate() triggers xa_open() ( and xa_close()) probably so as to
> check that the XADLL works. Currently xa_open() doesn't connect to
> the database and simply saves the connection information for subsequent
> xa_commit(), xa_rollback() or xa_recover() call. When original process
> finished COMMIT/ROLLBACK PREPARED properly, No database access occurs
> in msdtc process. We can change xa_open() so that it connects to the
> database immediately and causes an error to XARMCreate() when the
> connection fails.
That's enlightening. Thankyou very much.
I'll happily implement that and send in a patch. It may take a week or
two as I have some other projects on the boil, but hopefully it won't
take super long.
--
Craig Ringer http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services