Re: PHP and two phase commit transactions
| From: | Christian Ferrari | Date: | Thu, 31 May 2012 06:58:02 +0000 |
| Subject: | Re: PHP and two phase commit transactions | ||
| References: | 1 2 3 4 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-60696@lists.php.net to get a copy of this message | ||
>> 1. Is there any interest in "two phase commit" inside PHP
>> community? Without a real interest, every effort would be useless.
>
> I can't speak to a "critical mass" of interest, but as PHP and
> MySQL
> are closely coupled in the real world, until relatively recently (when
> Inno became the default) that meant that PHP and MyISAM were best
> buds. I don't know how you could do 2PC between two
> transaction-unaware back ends. I could see one transaction-aware and
> one transaction-unaware working by running synchronously w/the
> transactional one first (?).
LIXA can be coupled only with resource managers that supports some form of XA protocol. When the
resource manager is truly XA compliant (Oracle DBMS, IBM DB2, IBM WebSphere MQ) LIXA code is just a
wrapper of the XA switch file provided by the resource manager. When the resource manager is
partially XA compliant (PostgreSQL, MySQL with InnoDB) LIXA code adds some logic to emulate a
standard XA switch file. MySQL itself is affected by this serious bug http://bugs.mysql.com/bug.php?id=12161 that
violates XA specification.. Despite it, LIXA tries to do its best to support XA for MySQL.
MySQl and MyISAM can not be used in conjuction with LIXA for distributed transaction processing.
>
> So my sense is that PHP, because of MyISAM's ubiquity, isn't the ideal
> language target for 2PC (compared to Java/.NET where the most
> "enterprise" back end is assumed, however inaccurately!).
>
> That doesn't mean there wouldn't be some interest, though.
>
> -- S.
>
>
Ch. F.